summaryrefslogtreecommitdiffstats
path: root/kBuild/doc/Makefile.kmk
diff options
context:
space:
mode:
Diffstat (limited to 'kBuild/doc/Makefile.kmk')
-rw-r--r--kBuild/doc/Makefile.kmk63
1 files changed, 63 insertions, 0 deletions
diff --git a/kBuild/doc/Makefile.kmk b/kBuild/doc/Makefile.kmk
new file mode 100644
index 0000000..17730b1
--- /dev/null
+++ b/kBuild/doc/Makefile.kmk
@@ -0,0 +1,63 @@
+DEPTH = ../..
+include ../header.kmk
+
+TXTFILES = \
+ QuickReference-kmk.txt \
+ QuickReference-kBuild.txt
+
+define genrule
+all: $(name).html
+clean::
+ kmk_rm -f $(name).html
+$(name).html: $(name).txt
+ LC_ALL=C rst2html.py --no-generator $$< $$@
+$(name).o: $(name).html
+.PHONY: $(name).o
+endef
+
+$(foreach name, $(basename $(TXTFILES)), $(eval $(genrule)))
+
+
+#
+# For generating the basis for the target properties table.
+#
+my_tp.1 = BLDPROGS PROGRAMS
+my_tp.2 = LIBRARIES
+my_tp.3 = IMPORT_LIBS DLLS
+my_tp.4 = DLLS
+my_tp.5 = PROGRAMS
+my_tp.6 = SYSMODS
+my_tp.7 = MISCBINS
+my_tp.8 = INSTALLS
+my_tp.9 = FETCHES
+my_tp.a = OTHERS
+my_tp = 1 2 3 4 5 6 7 8 9 a
+tpc := $(translate $(my_tp),$(SP))
+
+define def_target_prop_rule
+target-properties::
+ @$$(PRINTF) '|%-2s| %-18s| %-6s|%$(expr 79-33)s|\n' "$(kind)" "``$(prop)``" "$(my_tmp_which)" ""
+ @$$(ECHO) '+--+-------------------+-------+----------------------------------------------+'
+endef
+define def_target_prop_doit
+my_tmp_which := $(foreach x,$(my_tp),$(if $(intersects \
+ $(prop),\
+ $(foreach nm,$(my_tp.$(x)),$(foreach suff,SINGLE DEFERRED ACCUMULATE_R ACCUMULATE_L,$(PROPS_$(nm)_$(suff)))))\
+ ,$(x),))
+my_tmp_which := $(translate $(my_tmp_which),$(SP))
+$(for local i = 1, $i < 10, local i := $(expr $i + 1),$(for local l = $(expr 10 - $i + 1), $l > 3, local l := $(expr $l - 1), \
+ $(eval my_tmp_which:=$(subst $(substr $(tpc), $i, $l),$i-$(substr $(tpc),$(expr $i + $l - 1),1),$(my_tmp_which)))\
+) )
+$(eval $(def_target_prop_rule))
+endef
+kind := S
+$(foreach prop,$(sort $(PROPS_SINGLE)),$(evalcall def_target_prop_doit))
+kind := D
+$(foreach prop,$(sort $(PROPS_DEFERRED)),$(evalcall def_target_prop_doit))
+kind := Ar
+$(foreach prop,$(sort $(PROPS_ACCUMULATE_R)),$(evalcall def_target_prop_doit))
+kind := Al
+$(foreach prop,$(sort $(PROPS_ACCUMULATE_L)),$(evalcall def_target_prop_doit))
+#kind := To
+#$(foreach prop,$(sort $(PROPS_TOOLS_ONLY)),$(evalcall def_target_prop_doit))
+