Files

35 lines
556 B
Makefile

CC=gcc
LD=gcc
CPPFLAGS=-g
BUILD=build
src=main.c
objects=$(patsubst %.c,$(BUILD)/obj/%.o,$(src))
$(objects): | $(BUILD)/obj
test:$(BUILD)/binary
mkdir -p $@
./$(BUILD)/binary test.binary >test/parse1.binary
./$(BUILD)/binary parse1.binary >test/parse2.binary
diff test/parse1.binary test/parse2.binary
$(BUILD)/binary: $(objects)
@echo link objects $(objects)
$(LD) $(LDFLAGS) $^ -o $@
$(BUILD)/obj:
mkdir -p $@
$(BUILD)/obj/%.o: %.c
@echo compile $<
@$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
clean:
rm -f $(objects)
.PHONY:clean test