SHELL = /bin/sh .SUFFIXES: .SUFFIXES: .c .o CFLAGS = -std=c99 -pedantic -Wextra -Os LDFLAGS = -lc OBJECTS = asm.o format.o io.o ir.o lex.o lex/indent.o lang.o main.o parse.o x86encode.o .PHONY: passc passc: .bin $(OBJECTS) $(CC) -o bin/passc $(addprefix bin/obj/,$(OBJECTS)) $(LDFLAGS) .PHONY: .bin .bin: @mkdir -p bin/obj bin/obj/lex %.o : src/%.c $(CC) -c $(CFLAGS) $< -o bin/obj/$@ # if you know how to avoid this duplication for subdirectories, # please send a patch or tell me how! lex/indent.o : src/lex/indent.c $(CC) -c $(CFLAGS) $< -o bin/obj/$@ .PHONY: clean clean: @-rm -rf bin