1 # $TOG: Makefile /main/15 1999/10/12 09:33:30 mgreess $
2 RELEASE = Release 2.2.4a
13 CONFIGSRC = $(TOP)/config
14 IMAKESRC = $(CONFIGSRC)/imake
15 DEPENDSRC = $(CONFIGSRC)/makedepend
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)"
27 @$(MAKE_CMD) xmakefile-exists || $(MAKE) 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."
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."
46 @echo "Building $(RELEASE) of $(PRODUCT)"
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. ; \
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
71 @echo "Full build of $(RELEASE) of $(PRODUCT) complete."
77 @echo "Building $(RELEASE) of $(PRODUCT) excluding DOC"
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. ; \
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)
97 @echo "Full build of $(RELEASE) of $(PRODUCT) excluding DOC complete."
102 @echo "Building $(RELEASE) of $(PRODUCT) DOC"
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. ; \
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
122 @echo "Full build of $(RELEASE) of $(PRODUCT) DOC complete."
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
133 cd $(IMAKESRC) && $(MAKE) $(FLAGS)
134 $(RM) $(DEPENDSRC)/Makefile.proto
136 $(DEPENDSRC)/Makefile.proto:
137 $(IMAKE_CMD) -s $(DEPENDSRC)/Makefile.proto -f $(DEPENDSRC)/Imakefile -DTOPDIR=$(DEPENDTOP) -DCURDIR=$(DEPENDSRC)
140 cd $(DEPENDSRC) && $(RM) -r Makefile Makefile.dep makedepend *.o bootstrap
141 cd $(DEPENDSRC) && $(MAKE) -f Makefile.proto bootstrap
143 $(IMAKESRC)/Makefile.proto:
144 $(IMAKE_CMD) -s $(IMAKESRC)/Makefile.proto -f $(IMAKESRC)/Imakefile -DTOPDIR=$(IMAKETOP) -DCURDIR=$(IMAKESRC)
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; \
153 $(MAKE) $(MFLAGS) xmakefile
155 $(DEPENDSRC)/proto.clean:
156 cd $(DEPENDSRC) && $(RM) -r Makefile.proto
159 $(MAKE) $(MFLAGS) xmakefile
162 $(IMAKE_CMD) -s xmakefile -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
166 @echo Building $(RELEASE) of $(PRODUCT).
170 $(NMAKE) -f Makefile.ini clean.Win32
171 $(NMAKE) -f Makefile.ini imake.exe
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)
184 @echo Full build of $(RELEASE) of $(PRODUCT) complete.
188 # don't allow any default rules in this Makefile
191 # a copy of every rule that might be invoked at top level
195 dangerous_strip_clean: