libDtSearch: Coverity 86579
[oweals/cde.git] / cde / Makefile
1 # $TOG: Makefile /main/15 1999/10/12 09:33:30 mgreess $
2      RELEASE = Release 2.2.4a
3      PRODUCT = CDE
4        SHELL = /bin/sh
5           RM = rm -f
6           MV = mv
7         MAKE = make
8        NMAKE = nmake
9    WORLDOPTS = 
10 WIN32WORLDOPTS = -i
11          TOP = .
12  CURRENT_DIR = .
13    CONFIGSRC = $(TOP)/config
14     IMAKESRC = $(CONFIGSRC)/imake
15    DEPENDSRC = $(CONFIGSRC)/makedepend
16    DEPENDTOP = ../..
17     IMAKETOP = ../..
18     IRULESRC = $(CONFIGSRC)/cf
19        IMAKE = $(IMAKESRC)/imake
20    IMAKE_CMD = $(IMAKE) -I$(IRULESRC) $(IMAKE_DEFINES)
21    MAKE_OPTS = -f xmakefile
22     MAKE_CMD = $(MAKE) $(MAKE_OPTS)
23    NMAKE_CMD = $(NMAKE) $(MAKE_OPTS)
24        FLAGS = $(MFLAGS) -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)"
25
26 all:
27         @$(MAKE_CMD) xmakefile-exists || $(MAKE) all-initial
28         @$(MAKE_CMD) $@
29
30 all-initial:
31         @echo "Please begin by using make World or make Makefile.  You may"
32         @echo "find it necessary to set the make variable BOOTSTRAPCFLAGS in"
33         @echo "order to compile imake.  One common example is"
34         @echo "\"BOOTSTRAPCFLAGS=-I<dir>\", where <dir> is the top of your"
35         @echo "X11R6 source tree.  Remember to check the configuration"
36         @echo "parameters in the config directory."
37         @echo
38         @echo "We recommend that you read the release notes carefully before"
39         @echo "proceeding; they can be found under the doc directory.  If"
40         @echo "the top-level Makefile gets corrupted, copy Makefile.ini to"
41         @echo "Makefile and try again.  Do not name your log file make.log or"
42         @echo "it will be deleted."
43
44 World:
45         @echo ""
46         @echo "Building $(RELEASE) of $(PRODUCT)"
47         @echo ""
48         @case "x$(BOOTSTRAPCFLAGS)" in x) \
49         echo I hope you checked the configuration parameters in $(IRULESRC) ; \
50         echo to see if you need to pass BOOTSTRAPCFLAGS. ; \
51         echo "" ; \
52         ;; esac;
53         @date
54         @echo ""
55         cd $(IMAKESRC) && $(MAKE) $(FLAGS) clean
56         $(MAKE) $(MFLAGS) Makefile.boot
57         $(MAKE_CMD) $(MFLAGS) VerifyOS
58         $(MAKE_CMD) $(MFLAGS) Makefiles
59         $(MAKE_CMD) $(MFLAGS) Makefiles.doc
60         $(MAKE_CMD) $(MFLAGS) clean
61         $(MAKE_CMD) $(MFLAGS) clean.doc
62         $(MAKE_CMD) $(MFLAGS) includes
63         $(MAKE_CMD) $(MFLAGS) includes.doc
64         $(MAKE_CMD) $(MFLAGS) depend
65         $(MAKE_CMD) $(MFLAGS) depend.doc
66         $(MAKE_CMD) $(MFLAGS) $(WORLDOPTS)
67         $(MAKE_CMD) $(MFLAGS) $(WORLDOPTS) all.doc
68         @echo ""
69         @date
70         @echo ""
71         @echo "Full build of $(RELEASE) of $(PRODUCT) complete."
72         @echo ""
73
74
75 World.dev:
76         @echo ""
77         @echo "Building $(RELEASE) of $(PRODUCT) excluding DOC"
78         @echo ""
79         @case "x$(BOOTSTRAPCFLAGS)" in x) \
80         echo I hope you checked the configuration parameters in $(IRULESRC) ; \
81         echo to see if you need to pass BOOTSTRAPCFLAGS. ; \
82         echo "" ; \
83         ;; esac;
84         @date
85         @echo ""
86         cd $(IMAKESRC) && $(MAKE) $(FLAGS) clean
87         $(MAKE) $(MFLAGS) Makefile.boot
88         $(MAKE_CMD) $(MFLAGS) VerifyOS
89         $(MAKE_CMD) $(MFLAGS) Makefiles
90         $(MAKE_CMD) $(MFLAGS) clean
91         $(MAKE_CMD) $(MFLAGS) includes
92         $(MAKE_CMD) $(MFLAGS) depend
93         $(MAKE_CMD) $(MFLAGS) $(WORLDOPTS)
94         @echo ""
95         @date
96         @echo ""
97         @echo "Full build of $(RELEASE) of $(PRODUCT) excluding DOC complete."
98         @echo ""
99
100 World.doc:
101         @echo ""
102         @echo "Building $(RELEASE) of $(PRODUCT) DOC"
103         @echo ""
104         @case "x$(BOOTSTRAPCFLAGS)" in x) \
105         echo I hope you checked the configuration parameters in $(IRULESRC) ; \
106         echo to see if you need to pass BOOTSTRAPCFLAGS. ; \
107         echo "" ; \
108         ;; esac;
109         @date
110         @echo ""
111         cd $(IMAKESRC) && $(MAKE) $(FLAGS) clean
112         $(MAKE) $(MFLAGS) Makefile.boot
113         $(MAKE_CMD) $(MFLAGS) VerifyOS
114         $(MAKE_CMD) $(MFLAGS) Makefiles.doc
115         $(MAKE_CMD) $(MFLAGS) clean.doc
116         $(MAKE_CMD) $(MFLAGS) includes.doc
117         $(MAKE_CMD) $(MFLAGS) depend.doc
118         $(MAKE_CMD) $(MFLAGS) $(WORLDOPTS) all.doc
119         @echo ""
120         @date
121         @echo ""
122         @echo "Full build of $(RELEASE) of $(PRODUCT) DOC complete."
123         @echo ""
124
125 .PRECIOUS: Makefile
126
127 # This is just a sequence of bootstrapping steps we have to do.
128 # The steps are listed as separate targets so clearmake can wink in
129 # the Makefile.proto files.
130 Makefile.boot: imake.proto $(DEPENDSRC)/Makefile.proto depend.bootstrap $(IMAKESRC)/Makefile.proto imake.bootstrap $(DEPENDSRC)/proto.clean
131
132 imake.proto:
133         cd $(IMAKESRC) && $(MAKE) $(FLAGS)
134         $(RM) $(DEPENDSRC)/Makefile.proto $(DEPENDSRC)/.depend
135
136 $(DEPENDSRC)/Makefile.proto:
137         $(IMAKE_CMD) -s $(DEPENDSRC)/Makefile.proto -f $(DEPENDSRC)/Imakefile -DTOPDIR=$(DEPENDTOP) -DCURDIR=$(DEPENDSRC)
138
139 depend.bootstrap:
140         cd $(DEPENDSRC) && $(RM) -r Makefile Makefile.dep makedepend *.o bootstrap
141         cd $(DEPENDSRC) && $(MAKE) -f Makefile.proto bootstrap
142
143 $(IMAKESRC)/Makefile.proto:
144         $(IMAKE_CMD) -s $(IMAKESRC)/Makefile.proto -f $(IMAKESRC)/Imakefile -DTOPDIR=$(IMAKETOP) -DCURDIR=$(IMAKESRC)
145
146 imake.bootstrap:
147         cd $(IMAKESRC) && $(MAKE) -f Makefile.proto bootstrapdepend
148         cd $(IMAKESRC) && $(MAKE) $(FLAGS) bootstrap
149         cd $(IMAKESRC) && $(MAKE) -f Makefile.proto all 
150         -@if [ -f xmakefile ]; then set -x; \
151           $(RM) xmakefile.bak; $(MV) xmakefile xmakefile.bak; \
152           else exit 0; fi
153         $(MAKE) $(MFLAGS) xmakefile
154
155 $(DEPENDSRC)/proto.clean:
156         cd $(DEPENDSRC) && $(RM) -r Makefile.proto
157
158 Makefile::
159         $(MAKE) $(MFLAGS) xmakefile
160
161 xmakefile: Imakefile
162         $(IMAKE_CMD) -s xmakefile -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
163
164 World.Win32:
165         @echo :
166         @echo Building $(RELEASE) of $(PRODUCT).
167         @echo :
168         @echo :
169         cd $(IMAKESRC)
170         $(NMAKE) -f Makefile.ini clean.Win32
171         $(NMAKE) -f Makefile.ini imake.exe
172         cd ..\..
173         -if exist xmakefile.bak del xmakefile.bak
174         -if exist xmakefile ren xmakefile xmakefile.bak
175         $(IMAKE:/=\) -s xmakefile -I$(IRULESRC) $(IMAKE_DEFINES) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
176         $(NMAKE_CMD) $(MFLAGS) VerifyOS
177         $(NMAKE_CMD) $(MFLAGS) Makefiles
178         $(NMAKE_CMD) $(MFLAGS) clean
179         $(NMAKE_CMD) $(MFLAGS) includes
180         $(NMAKE_CMD) $(MFLAGS) depend
181         $(NMAKE_CMD) $(MFLAGS) $(WIN32WORLDOPTS)
182         @echo :
183         @echo :
184         @echo Full build of $(RELEASE) of $(PRODUCT) complete.
185         @echo :
186
187
188 # don't allow any default rules in this Makefile
189 .SUFFIXES:
190
191 # a copy of every rule that might be invoked at top level
192
193 clean:
194             $(MAKE_CMD) $@
195 dangerous_strip_clean:
196             $(MAKE_CMD) $@
197 depend:
198             $(MAKE_CMD) $@
199 Everything:
200             $(MAKE_CMD) $@
201 external.ln:
202             $(MAKE_CMD) $@
203 includes:
204             $(MAKE_CMD) $@
205 install.ln:
206             $(MAKE_CMD) $@
207 install.man:
208             $(MAKE_CMD) $@
209 install:
210             $(MAKE_CMD) $@
211 Makefiles:
212             $(MAKE_CMD) $@
213 man_keywords:
214             $(MAKE_CMD) $@
215 tags:
216             $(MAKE_CMD) $@
217 VerifyOS:
218             $(MAKE_CMD) $@
219
220 # dev versions
221
222 Everything.dev:
223             $(MAKE_CMD) $@
224
225 # doc versions
226
227 clean.doc:
228             $(MAKE_CMD) $@
229 depend.doc:
230             $(MAKE_CMD) $@
231 Everything.doc:
232             $(MAKE_CMD) $@
233 includes.doc:
234             $(MAKE_CMD) $@
235 install.man.doc:
236             $(MAKE_CMD) $@
237 install.doc:
238             $(MAKE_CMD) $@
239 Makefiles.doc:
240             $(MAKE_CMD) $@
241 tags.doc:
242             $(MAKE_CMD) $@