CC = gcc CPP = cpp CFLAGS = -g -O2 -m32 all: main.s main.d swap.s swap.d prog.d \ c1-init.E c1-noinit.E c-noinit main.s: main.c $(CC) $(CFLAGS) -S main.c swap.s: swap.c $(CC) $(CFLAGS) -S swap.c main.d: main.c $(CC) $(CFLAGS) -c main.c objdump -d -r main.o > main.d swap.d: swap.c $(CC) $(CFLAGS) -c swap.c objdump -d -r swap.o > swap.d prog.d: main.c swap.c $(CC) $(CFLAGS) main.c swap.c -o prog objdump -d -r prog > prog.d c1-init.E: c1.c global.h $(CPP) -g -m32 -P -DINITIALIZE c1.c -o c1-init.E c1-noinit.E: c1.c global.h $(CPP) -g -m32 -P c1.c -o c1-noinit.E c-noinit: c1.c c2.c global-init.h global-noinit.h $(CC) -g -m32 -o c-noinit c1.c c2.c # This one should cause a linking error c-init: c1.c c2.c global-init.h $(CC) -g -m32 -DINITIALIZE -o c-init c1.c c2.c simple: simple.c $(CC) $(CFLAGS) -o simple simple.c -lm clean: rm -f *.o *.s *.d prog c-init c-noinit *.E