source: trunk/GDEHELP/Makefile

Last change on this file was 19047, checked in by westram, 3 years ago
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.4 KB
Line 
1
2MENUS_TGT = $(ARBHOME)/lib/gde/arb.menu
3MENUS_SRC = ARB_GDEmenus.source
4
5SED:=$(ARBHOME)/SH/arb_sed
6
7HELPFILELIST=helpfiles.lst
8GENHELPDEST=./HELP_GEN
9GENDOCDEST=./HELP_DOC_GEN
10
11SUBMENUS=$(wildcard MENUS/*.menu)
12GENMENUS=$(SUBMENUS:.menu=.genmenu)
13
14PPP:=./pp.pl
15CLEAN:=./cleanmenu.pl
16WARN_MISSING_ITEMHELP:=./warn_missing_itemhelp.pl
17
18# ---------------------------------------- help for refactoring
19MENUS_EXPECTED = ARB_GDEmenus.expected
20
21# check expected result (to avoid unwanted changes)
22# call 'make update_expected' to expect the current result
23
24#CHECK_AS_EXPECTED = check_as_expected
25CHECK_AS_EXPECTED =
26
27# ----------------------------------------
28
29ifeq ($(USE_OPENMP),1)
30        OPENMP_FLAG=-DUSE_OPENMP
31else
32        OPENMP_FLAG=
33endif
34
35# ----------------------------------------
36
37all: $(MENUS_TGT) help $(CHECK_AS_EXPECTED) rm_obsolete warn_missing_itemhelp
38
39MENUS/%.genmenu : genmenu.header
40
41MENUS/%.genmenu : MENUS/%.menu
42                ( cat genmenu.header; $(SED) -e "s/^[ ]*//" ) < $< > $@
43
44MENUS_DIRTY=ARB_GDEmenus.dirty
45
46$(MENUS_DIRTY) : $(MENUS_SRC) $(GENMENUS) Makefile $(PPP)
47        $(PPP) -IMENUS $(OPENMP_FLAG) $(MENUS_SRC) >$@
48
49$(MENUS_TGT) : $(MENUS_DIRTY) $(CLEAN)
50        chmod a+w $@ || true
51        $(CLEAN) <$(MENUS_DIRTY) >$@
52        rm $(MENUS_DIRTY)
53        chmod a-w $@
54
55# ------------------------------------------------------------
56
57update_expected: $(MENUS_TGT)
58        cp $(MENUS_TGT) $(MENUS_EXPECTED)
59
60check_as_expected: $(MENUS_TGT) $(MENUS_EXPECTED)
61        diff --unified --ignore-space-change --ignore-blank-lines  $(MENUS_EXPECTED) $(MENUS_TGT)
62
63# ------------------------------------------------------------
64
65help: $(HELPFILELIST)
66        @test -d $(GENHELPDEST) || mkdir $(GENHELPDEST)
67        @test -d $(GENDOCDEST) || mkdir $(GENDOCDEST)
68        @$(MAKE) -f Makefile.helpfiles "GENHELPDEST=$(GENHELPDEST)" "GENDOCDEST=$(GENDOCDEST)" "HELPFILELIST=$(HELPFILELIST)"
69
70$(HELPFILELIST): $(SUBMENUS) Makefile
71        grep -ih '^itemhelp:' $(SUBMENUS) | $(SED) -e 's/^itemhelp://' | sort | uniq > $@
72
73warn_missing_itemhelp: $(WARN_MISSING_ITEMHELP)
74        grep -Pin '^(itemhelp|item):' $(SUBMENUS) | $(WARN_MISSING_ITEMHELP)
75
76# ------------------------------------------------------------
77
78rm_obsolete:
79        @(test -f ARB_GDEmenus && rm -f ARB_GDEmenus) || true
80
81clean: $(HELPFILELIST)
82        @$(MAKE) -f Makefile.helpfiles \
83                "GENHELPDEST=$(GENHELPDEST)" \
84                "GENDOCDEST=$(GENDOCDEST)" \
85                "HELPFILELIST=$(HELPFILELIST)" \
86                clean
87        rm -f $(GENMENUS) $(MENUS_TGT) $(HELPFILELIST)
88
89.PHONY: warn_missing_itemhelp rm_obsolete clean help check_as_expected update_expected all
Note: See TracBrowser for help on using the repository browser.