forked from themanaworld/tmwa
-
Notifications
You must be signed in to change notification settings - Fork 0
/
generate.make
42 lines (35 loc) · 1.12 KB
/
generate.make
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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 $@