EXTRA = -m32 all: libmpi_hcall.a mpi_preload.so mpi.ko test_static libmpi_hcall.a: mpi_hc.o ar ruv libmpi_hcall.a mpi_hc.o mpi_hc.o: mpi_hc.c mpi_hc.h hcall.h gcc $(EXTRA) -static -fPIC -S mpi_hc.c -o mpi_hc.s gcc $(EXTRA) -static -fPIC -c mpi_hc.c -o mpi_hc.o mpi_preload.so: mpi_preload.c libmpi_hcall.a gcc $(EXTRA) -Wall -O2 -fPIC -shared -nostdlib -I/usr/include mpi_preload.c -L. -lmpi_hcall -ldl -lc -o mpi_preload.so test_static: test_static.c libmpi_hcall.a gcc $(EXTRA) -static test_static.c -L. -lmpi_hcall -o test_static EXTRA_CFLAGS += -I$(PWD)/../../../palacios/include obj-m += mpi.o mpi.ko: mpi.c make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: rm *.o *.so *.a test_static make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean