-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmakefile
More file actions
76 lines (62 loc) · 2.68 KB
/
Copy pathmakefile
File metadata and controls
76 lines (62 loc) · 2.68 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
workspace := ~/xod
# as of 0.15.0, it's __lib__ for user stuff
libdir := __lib__
userlib := $(workspace)/$libdir
.PHONY : all
all : derive-values install doc
# All the "values" nodes: On pulse or number, copy input-type
# Was making them from a template
.PHONY : derive-values
derive-values : lib/awg/values/boolean lib/awg/values/number lib/awg/values/boolean/any.cpp lib/awg/values/number/any.cpp lib/awg/values/boolean/patch.xodp lib/awg/values/number/patch.xodp lib/awg/values/boolean/patch.xodp lib/awg/values/number/patch.xodp
# For git(hub). For local ref, see XODNODES.md
# NODES is redundant...
# README includes NODES.md for git(hub)
.PHONY : doc
doc : README.md NODES.md
# Compile documentation for all lib/awgrover/*
# For git(hub)
NODES.md : always
script/doc lib/awgrover > $@
markdown $@ > NODES.html
# Compile documentation for all XOD nodes, xod-git is ln to the git checkout
XODNODES.md : always
if [ -e xod-git ]; then \
script/doc -h 3 xod-git/workspace/__lib__ > $@; \
markdown $@ > XODNODES.html; \
else \
echo "Can't make $@, link 'xod-git' to git checkout"; \
fi
# Assemble readme from extant, replacing the "auto generated" section with NODES.md
README.md : always
@# for node documentation
awk '/"auto generated below here"/ {print}; /"auto generated below here"/,/^# / {next}; {print}' $@ > tmp_README.md
script/doc -n -h 3 lib/awgrover >> tmp_README.md
mv tmp_README.md README.md
markdown $@ > README.html
.PHONY : always
always :
lib/awgrover/values/boolean lib/awgrover/values/number :
mkdir -p $@
# Using values/text/any.cpp as template
# just change input/output names for boolean & number
# NB: doesn't seem to exist: lib/awgrover/values/text/any.cpp
# Result renamed to lib/awgrover/values/boolean/patch.cpp ?
# OBSOLETE?
# FIXME: change from any.cpp to patch.cpp, and also do patch.xodp->patch.xodp, I think
lib/awgrover/values/boolean/any.cpp lib/awgrover/values/number/any.cpp : lib/awgrover/values/text/any.cpp
echo "// Generated by makefile from $<" > $@
echo >> $@
cat $< >> $@
sed -i "s/input_text/input_$(shell basename $(shell dirname $@))/g" $@
lib/awgrover/values/boolean/patch.xodp lib/awgrover/values/number/patch.xodp : lib/awgrover/values/text/patch.xodp
cp $< $@
@# we assume all text -> number
sed -i 's/text/$(shell basename $(shell dirname $@))/g' $@
sed -i "s/input-string/input-$(shell basename $(shell dirname $@))/g" $@
sed -i "s/output-string/output-$(shell basename $(shell dirname $@))/g" $@
# Link our library stuff into xod's proper location
# V0.38 No longer works? Dir is showing but no content nodes
.PHONY : install
install :
rm $(workspace)/__lib__/awgrover 2>/dev/null || true
ln -s `pwd`/__lib__/awgrover $(workspace)/lib/awgrover