summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile67
-rwxr-xr-xcompile.sh5
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