OP_PROGRAM := op OPGUI_PROGRAM := opgui VERSION = 0.12.1 CFLAGS := '-DVERSION="$(VERSION)"' CFLAGS += -Os -s #size CFLAGSGUI := -DOPGUI `pkg-config --cflags gtk+-3.0` OBJECTS := \ progP12.o \ progP16.o \ progP18.o \ progP24.o \ progEEPROM.o \ progAVR.o \ fileIO.o \ deviceRW.o \ I2CSPI.o \ strings.o \ OP_OBJ := \ op.o \ OPGUI_OBJ := \ opgui.o \ coff.o \ icd.o \ resources.o \ LDFLAGS := -lrt LDFLAGSGTK := `pkg-config --libs gtk+-3.0` all: $(OP_PROGRAM) $(OPGUI_PROGRAM) # https://stackoverflow.com/a/1305879 $(OPGUI_PROGRAM): EXTRA_FLAGS := $(CFLAGSGUI) %.o: %.c @echo "\tCC $@" $(CC) $(CFLAGS) $(EXTRA_FLAGS) -c $^ -o $@ resources.c: resources.xml opgui.glade @glib-compile-resources resources.xml --target=resources.c --generate-source $(OPGUI_PROGRAM): $(OBJECTS) $(OPGUI_OBJ) @echo "\tLD $@" $(CC) $^ -o $@ $(LDFLAGS) $(LDFLAGSGTK) @rm -f *.o resources.c $(OP_PROGRAM): $(OBJECTS) $(OP_OBJ) @echo "\tLD $@" $(CC) $^ -o $@ $(LDFLAGS) @rm -f *.o clean: @echo "\tCLEAN .o" @rm -f *.o .PHONY: all clean