BIGFILES=-D_FILE_OFFSET_BITS=64 CFLAGS=$(BIGFILES) OBJS= blocksort.o \ huffman.o \ crctable.o \ randtable.o \ compress.o \ decompress.o \ bzlib.o OBJS1=$(OBJS:.o=.o1) OBJS2=$(OBJS:.o=.o2) SOBJS=$(OBJS:.o=.s) LLOBJS=$(OBJS:.o=.ll) BCOBJS=$(OBJS:.o=.bc) bench: for target in o1 o2 s ll bc; do \ echo $$target; \ for i in 1 2 3; do \ time $(MAKE) $$target; \ $(MAKE) clean; \ done; \ done o1: $(OBJS1) o2: $(OBJS2) s: $(SOBJS) ll: $(LLOBJS) bc: $(BCOBJS) clean: rm -f *.o1 *.o2 *.s *.ll *.bc .SUFFIXES: .o1 .o2 .s .ll .bc .c.o1: gcc -c $(CFLAGS) $< -o $@ .c.o2: tcc -c $(CFLAGS) $< -o $@ .c.s: gcc -S $(CFLAGS) $< -o $@ .c.ll: clang -emit-llvm $(CFLAGS) $< > $@ .c.bc: clang -emit-llvm $(CFLAGS) $< | llvm-as -o $@