summaryrefslogtreecommitdiff
path: root/generate.mk
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <bjorn@lindeijer.nl>2024-10-16 10:28:00 +0200
committerThorbjørn Lindeijer <bjorn@lindeijer.nl>2024-10-16 10:28:26 +0200
commitc69a09c693fc390f0e85de17ffede0809be89d9e (patch)
tree6cac386ef282f6a5a8a0409fc9d4d79675eac505 /generate.mk
parente6e23a2b707784ae905ebcc23d05d2318718b8bf (diff)
parent0db9190dd147196531b16a050fb7a019dd1873af (diff)
downloadtmwa-c69a09c693fc390f0e85de17ffede0809be89d9e.tar.gz
tmwa-c69a09c693fc390f0e85de17ffede0809be89d9e.tar.bz2
tmwa-c69a09c693fc390f0e85de17ffede0809be89d9e.tar.xz
tmwa-c69a09c693fc390f0e85de17ffede0809be89d9e.zip
Merge branch 'blaming-the-tools'
Build system overhaul: attoconf from python 2->3, add CMake Merge request !280
Diffstat (limited to 'generate.mk')
-rw-r--r--generate.mk42
1 files changed, 42 insertions, 0 deletions
diff --git a/generate.mk b/generate.mk
new file mode 100644
index 0000000..c32ca8d
--- /dev/null
+++ b/generate.mk
@@ -0,0 +1,42 @@
+SHELL=bash
+
+MKDIR_FIRST = @mkdir -p ${@D}
+SRC_DIR := $(patsubst %/,%,$(dir ${MAKEFILE_LIST}))
+PIES := $(shell cd ${SRC_DIR}; find src/ -name '*.py')
+PIES := $(filter-out src/main-gdb-%.py,${PIES})
+
+export PATH:=$(realpath ${SRC_DIR}/tools):${PATH}
+
+vpath %.cpp ${SRC_DIR}
+vpath %.hpp ${SRC_DIR}
+vpath %.tcc ${SRC_DIR}
+vpath tools/% ${SRC_DIR}
+vpath %.py ${SRC_DIR}
+
+stamp/generated.stamp:
+ $(MKDIR_FIRST)
+ touch $@
+
+stamp/generated.stamp: stamp/generate-proto2.stamp
+stamp/generate-proto2.stamp: tools/protocol.py
+ $(MKDIR_FIRST)
+ rm -f stamp/generated.stamp
+ mkdir -p ${SRC_DIR}/src/proto2
+ cd ${SRC_DIR} && protocol.py
+ touch $@
+
+stamp/generated.stamp: stamp/generate-debug-debug.stamp
+stamp/generate-debug-debug.stamp: tools/debug-debug-scripts ${PIES}
+ $(MKDIR_FIRST)
+ rm -f stamp/generated.stamp
+ mkdir -p ${SRC_DIR}/src/debug-debug
+ rm -f ${SRC_DIR}/src/debug-debug/test.cpp
+ debug-debug-scripts ${SRC_DIR}/src/debug-debug/ $(wordlist 2,$(words $^),$^)
+ touch $@
+
+stamp/generated.stamp: stamp/generate-config.stamp
+stamp/generate-config.stamp: tools/config.py
+ $(MKDIR_FIRST)
+ rm -f stamp/generated.stamp
+ cd ${SRC_DIR} && config.py
+ touch $@