Makefile 6.11 KB
Newer Older
dawes's avatar
dawes committed
1
2
3
4
# $Xorg: Makefile,v 1.5 2000/08/17 19:41:44 cpqbld Exp $



alanh's avatar
alanh committed
5
# $XFree86: xc/Makefile,v 3.27 2003/02/26 09:21:31 dawes Exp $
daryll's avatar
daryll committed
6
7
8
9

# Luna users will need to either run make as "make MAKE=make"
# or add "MAKE = make" to this file.

dawes's avatar
dawes committed
10
RELEASE = "Release 6.6"
daryll's avatar
daryll committed
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
SHELL = /bin/sh
RM = rm -f
MV = mv
WORLDOPTS = -k
WIN32WORLDOPTS = -i
TOP = .
CURRENT_DIR = .
CONFIGSRC = $(TOP)/config
IMAKESRC = $(CONFIGSRC)/imake
DEPENDSRC = $(CONFIGSRC)/makedepend
DEPENDTOP = ../..
IMAKETOP = ../..
IRULESRC = $(CONFIGSRC)/cf
IMAKE = $(IMAKESRC)/imake
IMAKE_CMD = $(IMAKE) -I$(IRULESRC) $(IMAKE_DEFINES)
MAKE_OPTS = -f xmakefile
MAKE_CMD = $(MAKE) $(MAKE_OPTS)
FLAGS = $(MFLAGS) -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)" CC="$(CC)"
alanh's avatar
alanh committed
29
30
31
VERSINC = -Iprograms/Xserver/hw/xfree86
VERSSRC = $(CONFIGSRC)/util/printver.c
VERSPROG = $(CONFIGSRC)/util/printver.exe
daryll's avatar
daryll committed
32
33
34
35
36
37
38
39
40
41
42
43
44

all:
	@$(MAKE_CMD) xmakefile-exists || $(MAKE) all-initial
	@$(MAKE_CMD) $@

all-initial:
	@echo Please use make World, or on NT use nmake World.Win32.
	@echo Check the configuration parameters in the $(IRULESRC) directory,
	@echo and pass BOOTSTRAPCFLAGS if necessary.
	@echo Read the release notes carefully before proceeding.
	@echo Do not name your log file make.log or it will be deleted.

World:
alanh's avatar
alanh committed
45
46
	@$(RM) $(VERSPROG)
	@$(CC) $(VERSINC) -o $(VERSPROG) $(VERSSRC)
daryll's avatar
daryll committed
47
	@echo ""
alanh's avatar
alanh committed
48
	@echo Building XFree86`$(VERSPROG)`.
daryll's avatar
daryll committed
49
	@echo ""
alanh's avatar
alanh committed
50
	@$(RM) $(VERSPROG)
daryll's avatar
daryll committed
51
52
53
54
55
56
57
	@case "x$(BOOTSTRAPCFLAGS)" in x) \
	echo I hope you checked the configuration parameters in $(IRULESRC) ; \
	echo to see if you need to pass BOOTSTRAPCFLAGS. ; \
	echo "" ; \
	;; esac;
	@date
	@echo ""
dawes's avatar
dawes committed
58
59
60
61
62
	@if [ -f xmakefile ]; then \
	    $(MAKE_CMD) -k distclean || \
	    $(MAKE_CMD) -k clean || \
	    $(RM) xmakefile; \
	fi
daryll's avatar
daryll committed
63
64
65
66
67
68
69
70
71
72
73
	@if [ ! -f $(IRULESRC)/host.def ]; then \
	    if [ ! -f $(TOP)/lib/Xt/Imakefile ]; then \
		echo "#define BuildServersOnly YES" > $(IRULESRC)/host.def; \
	    else \
		if [ ! -f $(TOP)/fonts/Imakefile ]; then \
		    echo "#define BuildFonts NO" > $(IRULESRC)/host.def; \
		else \
		    echo "" > $(IRULESRC)/host.def; \
		fi; \
	    fi; \
	fi
dawes's avatar
dawes committed
74
75
76
	@if [ ! -f $(IRULESRC)/version.def ]; then \
	    echo "" > $(IRULESRC)/version.def; \
	fi
alanh's avatar
alanh committed
77
78
79
	@if [ ! -f $(IRULESRC)/date.def ]; then \
	    echo "" > $(IRULESRC)/date.def; \
	fi
daryll's avatar
daryll committed
80
81
	cd $(IMAKESRC) && $(MAKE) $(FLAGS) clean
	$(MAKE) $(MFLAGS) Makefile.boot
dawes's avatar
dawes committed
82
	$(MAKE_CMD) $(MFLAGS) version.def
alanh's avatar
alanh committed
83
84
	$(MAKE) $(MFLAGS) Makefile.boot
	$(MAKE_CMD) $(MFLAGS) VerifyOS
daryll's avatar
daryll committed
85
	$(MAKE_CMD) $(MFLAGS) Makefiles
dawes's avatar
dawes committed
86
	$(MAKE_CMD) $(MFLAGS) BOOTSTRAPSUBDIRS= clean
daryll's avatar
daryll committed
87
88
89
90
91
92
	$(MAKE_CMD) $(MFLAGS) includes
	$(MAKE_CMD) $(MFLAGS) depend
	$(MAKE_CMD) $(MFLAGS) $(WORLDOPTS) World
	@echo ""
	@date
	@echo ""
alanh's avatar
alanh committed
93
94
95
96
	@$(RM) $(VERSPROG)
	@$(CC) $(VERSINC) -o $(VERSPROG) $(VERSSRC)
	@echo Full build of XFree86`$(VERSPROG)` complete.
	@$(RM) $(VERSPROG)
daryll's avatar
daryll committed
97
98
99
100
101
102
103
104
105
	@echo ""

.PRECIOUS: Makefile

# This is just a sequence of bootstrapping steps we have to do.
# The steps are listed as separate targets so clearmake can wink in
# the Makefile.proto files.

Makefile.boot: imake.bootstrap
dawes's avatar
dawes committed
106
	$(RM) $(IMAKESRC)/Makefile.proto
daryll's avatar
daryll committed
107
108
109
110
111
112
113
114
115
116
117
118
119

imake.proto:
	cd $(IMAKESRC) && $(MAKE) $(FLAGS)
	$(RM) $(DEPENDSRC)/Makefile.proto

$(DEPENDSRC)/Makefile.proto: imake.proto
	$(IMAKE_CMD) -s $(DEPENDSRC)/Makefile.proto -f $(DEPENDSRC)/Imakefile -DTOPDIR=$(DEPENDTOP) -DCURDIR=$(DEPENDSRC)

depend.bootstrap: $(DEPENDSRC)/Makefile.proto
	cd $(DEPENDSRC) && $(RM) -r Makefile Makefile.dep makedepend *.o bootstrap
	cd $(DEPENDSRC) && $(MAKE) -f Makefile.proto bootstrap

$(IMAKESRC)/Makefile.proto: depend.bootstrap
alanh's avatar
alanh committed
120
	$(IMAKE_CMD) -s $(IMAKESRC)/Makefile.proto -f $(IMAKESRC)/Imakefile -DTOPDIR=$(IMAKETOP) -DCURDIR=$(IMAKESRC) -DBootStrap
daryll's avatar
daryll committed
121
122
123
124
125
126
127
128
129
130
131
132
133
134

imake.bootstrap: $(IMAKESRC)/Makefile.proto
	cd $(IMAKESRC) && $(MAKE) -f Makefile.proto bootstrapdepend
	cd $(IMAKESRC) && $(MAKE) $(FLAGS) bootstrap
	cd $(IMAKESRC) && $(MAKE) -f Makefile.proto all
	-@if [ -f xmakefile ]; then set -x; \
	  $(RM) xmakefile.bak; $(MV) xmakefile xmakefile.bak; \
	  else exit 0; fi
	$(MAKE) $(MFLAGS) xmakefile

Makefile::
	$(MAKE) $(MFLAGS) xmakefile

xmakefile: Imakefile
dawes's avatar
dawes committed
135
	$(RM) xmakefile
daryll's avatar
daryll committed
136
137
138
139
	$(IMAKE_CMD) -s xmakefile -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)

World.Win32:
	@echo :
alanh's avatar
alanh committed
140
	@echo Building XFree86.
daryll's avatar
daryll committed
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
	@echo :
	@echo :
	-@if not exist $(IRULESRC)\host.def echo > $(IRULESRC)\host.def
	cd $(IMAKESRC)
	$(MAKE) -f Makefile.ini clean.Win32
	$(MAKE) -f Makefile.ini imake.exe
	cd ..\..
	-if exist xmakefile.bak del xmakefile.bak
	-if exist xmakefile ren xmakefile xmakefile.bak
	$(IMAKE:/=\) -s xmakefile -I$(IRULESRC) $(IMAKE_DEFINES) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
	$(MAKE_CMD) $(MFLAGS) VerifyOS
	$(MAKE_CMD) $(MFLAGS) Makefiles
	$(MAKE_CMD) $(MFLAGS) clean
	cd $(CONFIGSRC)\util
	$(MAKE) mkdirhier.exe
	cd ..\..
	$(MAKE_CMD) $(MFLAGS) includes
	$(MAKE_CMD) $(MFLAGS) depend
	$(MAKE_CMD) $(MFLAGS) $(WIN32WORLDOPTS)
	@echo :
	@echo :
alanh's avatar
alanh committed
162
	@echo Full build of XFree86 complete.
daryll's avatar
daryll committed
163
164
165
166
	@echo :

World.OS2:
	@echo :
alanh's avatar
alanh committed
167
	@echo Building XFree86 on OS/2.
daryll's avatar
daryll committed
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
	@echo :
	@echo :
	-@if not exist $(IRULESRC)\host.def echo > $(IRULESRC)\host.def
	\indir $(IMAKESRC) $(MAKE) SHELL= -f Makefile.ini clean.os2
	\indir $(IMAKESRC) $(MAKE) SHELL= CC=gcc -f Makefile.ini imake.os2
	-if exist Makefile.bak del Makefile.bak
	-if exist Makefile ren Makefile Makefile.bak
	$(subst /,\,$(IMAKE)) -I$(IRULESRC) $(IMAKE_DEFINES) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
	$(MAKE) $(MFLAGS) VerifyOS
	$(MAKE) $(MFLAGS) Makefiles
	$(MAKE) $(MFLAGS) clean
	$(MAKE) $(MFLAGS) includes
	$(MAKE) $(MFLAGS) depend
	$(MAKE) $(MFLAGS)  
	@echo :
	@echo :
alanh's avatar
alanh committed
184
	@echo Full build of XFree86 on OS/2 complete.
daryll's avatar
daryll committed
185
186
187
188
189
190
191
192
193
194
195
196
197
	@echo :

# don't allow any default rules in this Makefile
.SUFFIXES:
# quiet "make" programs that display a message if suffix list empty
.SUFFIXES: .Dummy

# a copy of every rule that might be invoked at top level

clean:
	    $(MAKE_CMD) $@
dangerous_strip_clean:
	    $(MAKE_CMD) $@
dawes's avatar
dawes committed
198
199
distclean:
	    $(MAKE_CMD) $@
alanh's avatar
alanh committed
200
	    $(RM) xmakefile $(IRULESRC)/version.def $(IRULESRC)/date.def
daryll's avatar
daryll committed
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
depend:
	    $(MAKE_CMD) $@
Everything:
	    $(MAKE_CMD) $@
external.ln:
	    $(MAKE_CMD) $@
includes:
	    $(MAKE_CMD) $@
install.sdk:
	    $(MAKE_CMD) $@
install.ln:
	    $(MAKE_CMD) $@
install.man:
	    $(MAKE_CMD) $@
install:
	    $(MAKE_CMD) $@
Makefiles:
	    $(MAKE_CMD) $@
man_keywords:
	    $(MAKE_CMD) $@
tags:
	    $(MAKE_CMD) $@
VerifyOS:
	    $(MAKE_CMD) $@