summaryrefslogtreecommitdiffstats
path: root/script2makefile
blob: 63701a544036a54f680177c52a399051565f9014 (plain)
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
#!/usr/bin/make

SCRIPTDIR := recipe.d
FRAGDIR := recipe.mk
RCFILE := ./scripts.rc

SCRIPTS := $(sort $(wildcard ${SCRIPTDIR}/*[0-9A-Za-z]))
FRAGS := $(addsuffix .mk,$(addprefix ${FRAGDIR}/,$(notdir $(SCRIPTS))))

${FRAGDIR}/%.mk : ${SCRIPTDIR}/%
	@( \
	  if grep '^#skip' $< >/dev/null ; then true; else \
	  deps=`grep '^#requires ' $< | sed 's@#requires @done\/@'` ;\
	  deps=`echo $$deps` ;\
	  base=`echo $* | sed 's/^[0-9][0-9][0-9][0-9]-//'` ;\
	  echo TARGETS += done/$$base ;\
	  echo ".PHONY: $$base" ;\
	  echo "$$base : done/$$base" ;\
	  echo "	@true" ;\
	  echo "done/$$base : $$deps" ;\
	  echo "	@echo " ;\
	  echo "	@echo Building $$base" ;\
	  echo "	@echo " ;\
	  echo "	@bash --rcfile ${RCFILE} -i ${SCRIPTDIR}/$*" ;\
	  echo "	@true > done/$$base" ;\
	  fi \
	) > $@

all.first : all.targets
	@true

TARGETS :=

include ${FRAGS}

all.targets : ${TARGETS}
	@echo
	@echo 'done!'