1 # $TOG: Makefile /main/15 1999/10/12 09:33:30 mgreess $
2 RELEASE = Release 2.3.1a
12 CONFIGSRC = $(TOP)/config
13 IMAKESRC = $(CONFIGSRC)/imake
14 DEPENDSRC = $(CONFIGSRC)/makedepend
17 IRULESRC = $(CONFIGSRC)/cf
18 IMAKE = $(IMAKESRC)/imake
19 IMAKE_CMD = $(IMAKE) -I$(IRULESRC) $(IMAKE_DEFINES)
20 MAKE_OPTS = -f xmakefile
21 MAKE_CMD = $(MAKE) $(MAKE_OPTS)
22 NMAKE_CMD = $(NMAKE) $(MAKE_OPTS)
23 FLAGS = $(MFLAGS) -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)"
26 @$(MAKE_CMD) xmakefile-exists || $(MAKE) all-initial
30 @echo "Please begin by using make World or make Makefile. You may"
31 @echo "find it necessary to set the make variable BOOTSTRAPCFLAGS in"
32 @echo "order to compile imake. One common example is"
33 @echo "\"BOOTSTRAPCFLAGS=-I<dir>\", where <dir> is the top of your"
34 @echo "X11R6 source tree. Remember to check the configuration"
35 @echo "parameters in the config directory."
37 @echo "We recommend that you read the release notes carefully before"
38 @echo "proceeding; they can be found under the doc directory. If"
39 @echo "the top-level Makefile gets corrupted, copy Makefile.ini to"
40 @echo "Makefile and try again. Do not name your log file make.log or"
41 @echo "it will be deleted."
45 @echo "Building $(RELEASE) of $(PRODUCT)"
47 @case "x$(BOOTSTRAPCFLAGS)" in x) \
48 echo I hope you checked the configuration parameters in $(IRULESRC) ; \
49 echo to see if you need to pass BOOTSTRAPCFLAGS. ; \
54 cd $(IMAKESRC) && $(MAKE) $(FLAGS) clean
55 $(MAKE) $(MFLAGS) Makefile.boot
56 $(MAKE_CMD) $(MFLAGS) VerifyOS
57 $(MAKE_CMD) $(MFLAGS) Makefiles
58 $(MAKE_CMD) $(MFLAGS) Makefiles.doc
59 $(MAKE_CMD) $(MFLAGS) clean
60 $(MAKE_CMD) $(MFLAGS) clean.doc
61 $(MAKE_CMD) $(MFLAGS) includes
62 $(MAKE_CMD) $(MFLAGS) includes.doc
63 $(MAKE_CMD) $(MFLAGS) depend
64 $(MAKE_CMD) $(MFLAGS) depend.doc
65 $(MAKE_CMD) $(MFLAGS) $(WORLDOPTS)
66 $(MAKE_CMD) $(MFLAGS) $(WORLDOPTS) all.doc
70 @echo "Full build of $(RELEASE) of $(PRODUCT) complete."
76 @echo "Building $(RELEASE) of $(PRODUCT) excluding DOC"
78 @case "x$(BOOTSTRAPCFLAGS)" in x) \
79 echo I hope you checked the configuration parameters in $(IRULESRC) ; \
80 echo to see if you need to pass BOOTSTRAPCFLAGS. ; \
85 cd $(IMAKESRC) && $(MAKE) $(FLAGS) clean
86 $(MAKE) $(MFLAGS) Makefile.boot
87 $(MAKE_CMD) $(MFLAGS) VerifyOS
88 $(MAKE_CMD) $(MFLAGS) Makefiles
89 $(MAKE_CMD) $(MFLAGS) clean
90 $(MAKE_CMD) $(MFLAGS) includes
91 $(MAKE_CMD) $(MFLAGS) depend
92 $(MAKE_CMD) $(MFLAGS) $(WORLDOPTS)
96 @echo "Full build of $(RELEASE) of $(PRODUCT) excluding DOC complete."
101 @echo "Building $(RELEASE) of $(PRODUCT) DOC"
103 @case "x$(BOOTSTRAPCFLAGS)" in x) \
104 echo I hope you checked the configuration parameters in $(IRULESRC) ; \
105 echo to see if you need to pass BOOTSTRAPCFLAGS. ; \
110 cd $(IMAKESRC) && $(MAKE) $(FLAGS) clean
111 $(MAKE) $(MFLAGS) Makefile.boot
112 $(MAKE_CMD) $(MFLAGS) VerifyOS
113 $(MAKE_CMD) $(MFLAGS) Makefiles.doc
114 $(MAKE_CMD) $(MFLAGS) clean.doc
115 $(MAKE_CMD) $(MFLAGS) includes.doc
116 $(MAKE_CMD) $(MFLAGS) depend.doc
117 $(MAKE_CMD) $(MFLAGS) $(WORLDOPTS) all.doc
121 @echo "Full build of $(RELEASE) of $(PRODUCT) DOC complete."
126 # This is just a sequence of bootstrapping steps we have to do.
127 # The steps are listed as separate targets so clearmake can wink in
128 # the Makefile.proto files.
129 Makefile.boot: imake.proto $(DEPENDSRC)/Makefile.proto depend.bootstrap $(IMAKESRC)/Makefile.proto imake.bootstrap $(DEPENDSRC)/proto.clean
132 cd $(IMAKESRC) && $(MAKE) $(FLAGS)
133 $(RM) $(DEPENDSRC)/Makefile.proto $(DEPENDSRC)/.depend
135 $(DEPENDSRC)/Makefile.proto:
136 $(IMAKE_CMD) -s $(DEPENDSRC)/Makefile.proto -f $(DEPENDSRC)/Imakefile -DTOPDIR=$(DEPENDTOP) -DCURDIR=$(DEPENDSRC)
139 cd $(DEPENDSRC) && $(RM) -r Makefile Makefile.dep makedepend *.o bootstrap
140 cd $(DEPENDSRC) && $(MAKE) -f Makefile.proto bootstrap
142 $(IMAKESRC)/Makefile.proto:
143 $(IMAKE_CMD) -s $(IMAKESRC)/Makefile.proto -f $(IMAKESRC)/Imakefile -DTOPDIR=$(IMAKETOP) -DCURDIR=$(IMAKESRC)
146 cd $(IMAKESRC) && $(MAKE) -f Makefile.proto bootstrapdepend
147 cd $(IMAKESRC) && $(MAKE) $(FLAGS) bootstrap
148 cd $(IMAKESRC) && $(MAKE) -f Makefile.proto all
149 -@if [ -f xmakefile ]; then set -x; \
150 $(RM) xmakefile.bak; $(MV) xmakefile xmakefile.bak; \
152 $(MAKE) $(MFLAGS) xmakefile
154 $(DEPENDSRC)/proto.clean:
155 cd $(DEPENDSRC) && $(RM) -r Makefile.proto
158 $(MAKE) $(MFLAGS) xmakefile
161 $(IMAKE_CMD) -s xmakefile -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
163 # don't allow any default rules in this Makefile
166 # a copy of every rule that might be invoked at top level
170 dangerous_strip_clean: