aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile40
1 files changed, 40 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..30a7b88
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,40 @@
+SOURCE=$(shell find src -name "*.cpp")
+OBJECT=$(SOURCE:src/%.cpp=${TARGET_DIRECTORY}/%.o)
+DEPENDENCIES=$(SOURCE:src/%.cpp=${TARGET_DIRECTORY}/%.d)
+
+include config.mk
+
+default_target: all
+
+option:
+ @echo WebTray build options:
+ @echo SOURCE = ${SOURCE}
+ @echo OBJECT = ${OBJECT}
+ @echo DEPENDENCIES = ${DEPENDENCIES}
+ @echo CPPFLAGS = ${CPPFLAGS}
+ @echo LDFLAGS = ${LDFLAGS}
+
+${TARGET_DIRECTORY}:
+ @printf "create target directory\n"
+ @mkdir ${TARGET_DIRECTORY}
+
+-include ${DEPENDENCIES}
+
+${TARGET_DIRECTORY}/%.o: src/%.cpp Makefile
+ @printf "build $<\n"
+ @mkdir -p "$$(dirname $@)"
+ @${CC} ${CPPFLAGS} ${LDFLAGS} -MMD -MP -c $< -o $@
+
+${OBJECT}: | ${TARGET_DIRECTORY}
+
+webtray: ${TARGET_DIRECTORY} ${OBJECT}
+ @printf "build $@\n"
+ @${CC} -o ${TARGET_DIRECTORY}/$@ ${OBJECT} ${LDFLAGS} ${CPPFLAGS}
+
+all: | ${TARGET_DIRECTORY} webtray
+
+clean:
+ @printf "cleaning up\n"
+ @rm -rf ${TARGET_DIRECTORY}
+
+.PHONY: clean