diff options
-rw-r--r-- | Makefile | 67 | ||||
-rwxr-xr-x | compile.sh | 5 |
2 files changed, 72 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..fd64f01 --- /dev/null +++ b/Makefile @@ -0,0 +1,67 @@ +OP_PROGRAM := op +OPGUI_PROGRAM := opgui + +VERSION = 0.12.4 + +CFLAGS := '-DVERSION="$(VERSION)"' +CFLAGS += -Os -s #size +CFLAGSGUI := -DOPGUI `pkg-config --cflags gtk+-3.0` + +SOURCES := \ + common_functions.c \ + progP12.c \ + progP16.c \ + progP18.c \ + progP24.c \ + progEEPROM.c \ + progAVR.c \ + fileIO.c \ + deviceRW.c \ + I2CSPI.c \ + strings.c + +OP_SOURCES := \ + op.c + +OPGUI_SOURCES := \ + opgui.c \ + coff.c \ + icd.c \ + resources.c + +OBJECTS := $(addsuffix .o, $(basename $(SOURCES))) + +OP_OBJ := $(OBJECTS) $(OP_SOURCES:.c=.o) + +OPGUI_OBJ := $(OBJECTS) $(OPGUI_SOURCES:.c=.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 + @echo "\tGLIB $@" + @glib-compile-resources resources.xml --target=resources.c --generate-source + +$(OPGUI_PROGRAM): $(OPGUI_OBJ) + @echo "\tLD $@" + @$(CC) $^ -o $@ $(LDFLAGS) $(LDFLAGSGTK) + +$(OP_PROGRAM): $(OP_OBJ) + @echo "\tLD $@" + @$(CC) $^ -o $@ $(LDFLAGS) + +clean: + @echo "\tCLEAN .o" + @rm -f *.o + +.PHONY: all clean diff --git a/compile.sh b/compile.sh new file mode 100755 index 0000000..1a99090 --- /dev/null +++ b/compile.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +set -e + +make --always-make -f Makefile ${1} opgui && make --always-make -f Makefile ${1} op |