source: trunk/kBuild/doc/Makefile.kmk@ 3607

Last change on this file since 3607 was 2345, checked in by bird, 16 years ago

hacking property tables.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.9 KB
Line 
1DEPTH = ../..
2include ../header.kmk
3
4TXTFILES = \
5 QuickReference-kmk.txt \
6 QuickReference-kBuild.txt
7
8define genrule
9all: $(name).html
10clean::
11 kmk_rm -f $(name).html
12$(name).html: $(name).txt
13 LC_ALL=C rst2html.py --no-generator $$< $$@
14$(name).o: $(name).html
15.PHONY: $(name).o
16endef
17
18$(foreach name, $(basename $(TXTFILES)), $(eval $(genrule)))
19
20
21#
22# For generating the basis for the target properties table.
23#
24my_tp.1 = BLDPROGS PROGRAMS
25my_tp.2 = LIBRARIES
26my_tp.3 = IMPORT_LIBS DLLS
27my_tp.4 = DLLS
28my_tp.5 = PROGRAMS
29my_tp.6 = SYSMODS
30my_tp.7 = MISCBINS
31my_tp.8 = INSTALLS
32my_tp.9 = FETCHES
33my_tp.a = OTHERS
34my_tp = 1 2 3 4 5 6 7 8 9 a
35tpc := $(translate $(my_tp),$(SP))
36
37define def_target_prop_rule
38target-properties::
39 @$$(PRINTF) '|%-2s| %-18s| %-6s|%$(expr 79-33)s|\n' "$(kind)" "``$(prop)``" "$(my_tmp_which)" ""
40 @$$(ECHO) '+--+-------------------+-------+----------------------------------------------+'
41endef
42define def_target_prop_doit
43my_tmp_which := $(foreach x,$(my_tp),$(if $(intersects \
44 $(prop),\
45 $(foreach nm,$(my_tp.$(x)),$(foreach suff,SINGLE DEFERRED ACCUMULATE_R ACCUMULATE_L,$(PROPS_$(nm)_$(suff)))))\
46 ,$(x),))
47my_tmp_which := $(translate $(my_tmp_which),$(SP))
48$(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), \
49 $(eval my_tmp_which:=$(subst $(substr $(tpc), $i, $l),$i-$(substr $(tpc),$(expr $i + $l - 1),1),$(my_tmp_which)))\
50) )
51$(eval $(def_target_prop_rule))
52endef
53kind := S
54$(foreach prop,$(sort $(PROPS_SINGLE)),$(evalcall def_target_prop_doit))
55kind := D
56$(foreach prop,$(sort $(PROPS_DEFERRED)),$(evalcall def_target_prop_doit))
57kind := Ar
58$(foreach prop,$(sort $(PROPS_ACCUMULATE_R)),$(evalcall def_target_prop_doit))
59kind := Al
60$(foreach prop,$(sort $(PROPS_ACCUMULATE_L)),$(evalcall def_target_prop_doit))
61#kind := To
62#$(foreach prop,$(sort $(PROPS_TOOLS_ONLY)),$(evalcall def_target_prop_doit))
63
Note: See TracBrowser for help on using the repository browser.