1export USE_APPLE_PB_SUPPORT = all
2
3DSTROOT = /
4RC_OS = macos
5RC_CFLAGS =
6
7INSTALLSRC_SUBDIRS = $(COMMON_SUBDIRS) $(SUBDIRS_32) ar include efitools \
8		     libmacho
9COMMON_SUBDIRS = libstuff as gprof misc RelNotes man cbtlibs otool
10APPLE_SUBDIRS = ar
11SUBDIRS_32 = ld
12EFITOOLS = efitools
13SUBDIRS = $(COMMON_SUBDIRS) $(APPLE_SUBDIRS) $(EFITOOLS)
14
15OLD_LIBKLD = NO
16BUILD_DYLIBS = YES
17LTO = -DLTO_SUPPORT
18
19ifeq "macos" "$(RC_OS)"
20  TRIE := $(shell if [ "$(RC_MAJOR_RELEASE_TRAIN)" = "Tiger" ] || \
21		     [ "$(RC_MAJOR_RELEASE_TRAIN)" = "Leopard" ] || \
22		     [ "$(RC_PURPLE)" = "YES" ]; then \
23			    echo "" ; \
24			else \
25			    echo "-DTRIE_SUPPORT" ; fi; )
26else
27  TRIE =
28endif
29
30ifneq "" "$(wildcard /bin/mkdirs)"
31  MKDIRS = /bin/mkdirs
32else
33  MKDIRS = /bin/mkdir -p
34endif
35
36all clean: $(DSTROOT)
37	@if [ "$(SRCROOT)" != "" ] && \
38	    [ "$(OBJROOT)" != "" ] && \
39	    [ "$(SYMROOT)" != "" ];			\
40	then								\
41	    CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD";	\
42	    for i in `echo $(SUBDIRS)`;					\
43	      do							\
44		    echo =========== $(MAKE) $@ for $$i =============;	\
45		    (cd $$i; $(MAKE) RC_CFLAGS="$(RC_CFLAGS)"		\
46			RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"		\
47			VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"	\
48			EFITOOLS="$(EFITOOLS)" 				\
49			TRIE="$(TRIE)" LTO="$(LTO)" DSTROOT=$$DSTROOT	\
50			SRCROOT=$(SRCROOT)/$$i				\
51			OBJROOT=$(OBJROOT)/$$i				\
52			SYMROOT=$(SYMROOT)/$$i $@) || exit 1 ;		\
53	      done;							\
54	    SED_RC_CFLAGS=`echo "$(RC_CFLAGS)" | sed 's/-arch ppc64//'  \
55 		| sed 's/-arch x86_64//' | sed 's/-arch armv5//'	\
56		| sed 's/-arch armv6//' | sed 's/-arch armv7[f,k,s]*//g'`; \
57	    EMPTY=`echo "$$SED_RC_CFLAGS" | sed 's/ //g'		\
58		| sed 's/-pipe//'`;					\
59	    if [ "$$EMPTY"x != "x" ];					\
60	    then							\
61	      for i in `echo $(SUBDIRS_32)`;				\
62	        do							\
63		    echo =========== $(MAKE) $@ for $$i =============;	\
64		    (cd $$i; $(MAKE) "RC_CFLAGS=$$SED_RC_CFLAGS" 	\
65			RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"		\
66			VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"	\
67			EFITOOLS="$(EFITOOLS)" 				\
68			TRIE="$(TRIE)" LTO="$(LTO)" DSTROOT=$$DSTROOT	\
69			SRCROOT=$(SRCROOT)/$$i				\
70			OBJROOT=$(OBJROOT)/$$i				\
71			SYMROOT=$(SYMROOT)/$$i $@) || exit 1 ;		\
72	        done;							\
73	    fi								\
74	else								\
75	    CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD";	\
76	    for i in `echo $(SUBDIRS)`;					\
77	      do							\
78		    echo =========== $(MAKE) $@ for $$i =============;	\
79		    (cd $$i; $(MAKE) RC_CFLAGS="$(RC_CFLAGS)"		\
80			RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"		\
81			EFITOOLS="$(EFITOOLS)" 				\
82			TRIE="$(TRIE)" LTO="$(LTO)" DSTROOT=$$DSTROOT 	\
83			$@) || exit 1 ; 				\
84	      done;							\
85	    SED_RC_CFLAGS=`echo "$(RC_CFLAGS)" | sed 's/-arch ppc64//'  \
86 		| sed 's/-arch x86_64//' | sed 's/-arch armv5//'	\
87		| sed 's/-arch armv6//' | sed 's/-arch armv7[f,k,s]*//g'`; \
88	    EMPTY=`echo "$$SED_RC_CFLAGS" | sed 's/ //g'		\
89		| sed 's/-pipe//'`;					\
90	    if [ "$$EMPTY"x != "x" ];					\
91	    then							\
92	      for i in `echo $(SUBDIRS_32)`;				\
93	        do							\
94		    echo =========== $(MAKE) $@ for $$i =============;	\
95		    (cd $$i; $(MAKE) RC_CFLAGS="$$SED_RC_CFLAGS"	\
96			RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"		\
97			EFITOOLS="$(EFITOOLS)"				\
98			TRIE="$(TRIE)" LTO="$(LTO)" DSTROOT=$$DSTROOT	\
99			$@) || exit 1 ; 				\
100	        done;							\
101	    fi								\
102	fi
103
104install:
105	@if [ $(SRCROOT) ];						\
106	then								\
107	    projName=`basename $(SRCROOT) | 				\
108		sed 's/-[-0-9.]*//' | sed 's/\.cvs//'`;			\
109	    if [ "$$projName" = cctools ];				\
110	    then							\
111		target=install_tools;					\
112	    elif [ "$$projName" = cctools_sdk ];			\
113	    then							\
114		target=install_tools;					\
115	    elif [ "$$projName" = cctoolslib ];				\
116	    then							\
117	    	target=lib_ofiles_install;				\
118	    else							\
119	        echo "Unknown project name $$projName";			\
120		exit 1;							\
121	    fi;								\
122	    CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD";	\
123	    echo =========== $(MAKE) $$target =============;		\
124	    $(MAKE) RC_CFLAGS="$(RC_CFLAGS)"				\
125		RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
126		VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"		\
127		EFITOOLS="$(EFITOOLS)" TRIE="$(TRIE)"			\
128		LTO="$(LTO)" DSTROOT=$$DSTROOT/$(INSTALL_LOCATION)	\
129		SRCROOT=$(SRCROOT)					\
130		OBJROOT=$(OBJROOT)					\
131		SYMROOT=$(SYMROOT) $$target;				\
132	else								\
133	    CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD";	\
134	    echo =========== $(MAKE) install_tools =============;	\
135	    $(MAKE) RC_CFLAGS="$(RC_CFLAGS)" RC_ARCHS="$(RC_ARCHS)" 	\
136		RC_OS="$(RC_OS)" SUBDIRS="$(SUBDIRS)" 			\
137		SUBDIRS_32="$(SUBDIRS_32)"				\
138		VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"		\
139		EFITOOLS="$(EFITOOLS)" TRIE="$(TRIE)"			\
140		LTO="$(LTO)" DSTROOT=$$DSTROOT install_tools 		\
141		lib_ofiles_install;					\
142	fi
143
144install_tools: installhdrs
145	@if [ $(SRCROOT) ];						\
146	then								\
147	    CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD";	\
148	    for i in `echo $(SUBDIRS)`;					\
149	      do							\
150		    echo ======== $(MAKE) install for $$i ============;	\
151		    (cd $$i; $(MAKE) RC_CFLAGS="$(RC_CFLAGS)"		\
152			RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"		\
153			VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"	\
154			EFITOOLS="$(EFITOOLS)" 				\
155			TRIE="$(TRIE)" LTO="$(LTO)" DSTROOT=$$DSTROOT	\
156			SRCROOT=$(SRCROOT)/$$i				\
157			OBJROOT=$(OBJROOT)/$$i				\
158			SYMROOT=$(SYMROOT)/$$i install) || exit 1;	\
159	      done;							\
160	    SED_RC_CFLAGS=`echo "$(RC_CFLAGS)" | sed 's/-arch ppc64//'  \
161 		| sed 's/-arch x86_64//' | sed 's/-arch armv5//'	\
162		| sed 's/-arch armv6//' | sed 's/-arch armv7[f,k,s]*//g'`; \
163	    EMPTY=`echo "$$SED_RC_CFLAGS" | sed 's/ //g'		\
164		| sed 's/-pipe//'`;					\
165	    if [ "$$EMPTY"x != "x" ];					\
166	    then							\
167	      for i in `echo $(SUBDIRS_32)`;				\
168	        do							\
169		    echo ======== $(MAKE) install for $$i ============;	\
170		    (cd $$i; $(MAKE) RC_CFLAGS="$$SED_RC_CFLAGS"	\
171			RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"		\
172			VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"	\
173			EFITOOLS="$(EFITOOLS)"				\
174			TRIE="$(TRIE)" LTO="$(LTO)" DSTROOT=$$DSTROOT	\
175			SRCROOT=$(SRCROOT)/$$i				\
176			OBJROOT=$(OBJROOT)/$$i				\
177			SYMROOT=$(SYMROOT)/$$i install) || exit 1;	\
178	        done;							\
179	    fi								\
180	else								\
181	    CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD";	\
182	    for i in `echo $(SUBDIRS)`;					\
183	      do							\
184		    echo ========= $(MAKE) install for $$i ===========;	\
185		    (cd $$i; $(MAKE) RC_CFLAGS="$(RC_CFLAGS)"		\
186			RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"		\
187			VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"	\
188			EFITOOLS="$(EFITOOLS)"				\
189			TRIE="$(TRIE)" LTO="$(LTO)" DSTROOT=$$DSTROOT 	\
190			install) || exit 1;				\
191	      done;							\
192	    SED_RC_CFLAGS=`echo "$(RC_CFLAGS)" | sed 's/-arch ppc64//'  \
193 		| sed 's/-arch x86_64//' | sed 's/-arch armv5//'	\
194		| sed 's/-arch armv6//' | sed 's/-arch armv7[f,k,s]*//g'`; \
195	    EMPTY=`echo "$$SED_RC_CFLAGS" | sed 's/ //g'		\
196		| sed 's/-pipe//'`;					\
197	    if [ "$$EMPTY"x != "x" ];					\
198	    then							\
199	      for i in `echo $(SUBDIRS_32)`;				\
200	        do							\
201		    echo ========= $(MAKE) install for $$i ===========;	\
202		    (cd $$i; $(MAKE) RC_CFLAGS="$$SED_RC_CFLAGS"	\
203			RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"		\
204			VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"	\
205			EFITOOLS="$(EFITOOLS)"				\
206			TRIE="$(TRIE)" LTO="$(LTO)" DSTROOT=$$DSTROOT 	\
207			install) || exit 1;				\
208	        done;							\
209	    fi								\
210	fi
211
212ofiles_install:
213	@ export RC_FORCEHDRS=YES;					\
214	$(MAKE) RC_CFLAGS="$(RC_CFLAGS)"				\
215		RC_ARCHS="$(RC_ARCHS)"					\
216		RC_OS="$(RC_OS)"					\
217		DSTROOT=$$DSTROOT/$(INSTALL_LOCATION)			\
218		SRCROOT=$(SRCROOT)					\
219		OBJROOT=$(OBJROOT)					\
220		SYMROOT=$(SYMROOT)					\
221		EFITOOLS="$(EFITOOLS)" TRIE="$(TRIE)"			\
222		LTO="$(LTO)" lib_ofiles_install
223
224lib_ofiles lib_ofiles_install: installhdrs
225	@if [ $(SRCROOT) ];						\
226	then								\
227	    CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD";	\
228	    SED_RC_CFLAGS=`echo "$(RC_CFLAGS)" | sed 's/-arch ppc64//'  \
229 		| sed 's/-arch x86_64//'`;				\
230	    echo =========== $(MAKE) $@ for libstuff =============;	\
231	    (cd libstuff; $(MAKE) "RC_CFLAGS=$(RC_CFLAGS)"		\
232		RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
233		DSTROOT=$$DSTROOT					\
234		SRCROOT=$(SRCROOT)/libstuff				\
235		OBJROOT=$(OBJROOT)/libstuff				\
236		SYMROOT=$(SYMROOT)/libstuff $@) || exit 1;		\
237	    echo ====== $(MAKE) lib_static_ofiles for libstuff =======; \
238	    (cd libstuff; $(MAKE) "RC_CFLAGS=$$SED_RC_CFLAGS"		\
239		RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
240		OLD_LIBKLD="$(OLD_LIBKLD)" 				\
241		DSTROOT=$$DSTROOT					\
242		SRCROOT=$(SRCROOT)/libstuff				\
243		OBJROOT=$(OBJROOT)/libstuff				\
244		SYMROOT=$(SYMROOT)/libstuff lib_static_ofiles) || exit 1; \
245	    if [ $(BUILD_DYLIBS) = "YES" ];				\
246	    then							\
247	        echo =========== $(MAKE) $@ for libmacho =============;	\
248	        (cd libmacho; $(MAKE) RC_CFLAGS="$(RC_CFLAGS)"		\
249		    RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"		\
250		    OLD_LIBKLD="$(OLD_LIBKLD)"				\
251		    DSTROOT=$$DSTROOT					\
252		    SRCROOT=$(SRCROOT)/libmacho				\
253		    OBJROOT=$(OBJROOT)/libmacho				\
254		    SYMROOT=$(SYMROOT)/libmacho $@) || exit 1;		\
255	    fi;								\
256	    echo =========== $(MAKE) $@ for ld =============;		\
257	    (cd ld; $(MAKE) "RC_CFLAGS=$$SED_RC_CFLAGS"			\
258		RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
259		OLD_LIBKLD="$(OLD_LIBKLD)"				\
260		DSTROOT=$$DSTROOT					\
261		SRCROOT=$(SRCROOT)/ld					\
262		OBJROOT=$(OBJROOT)/ld					\
263		SYMROOT=$(SYMROOT)/ld $@) || exit 1;			\
264	    echo =========== $(MAKE) $@ for misc =============;	\
265	    (cd misc; $(MAKE) "RC_CFLAGS=$(RC_CFLAGS)"			\
266		RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
267		TRIE="$(TRIE)" LTO="$(LTO)"				\
268		DSTROOT=$$DSTROOT					\
269		SRCROOT=$(SRCROOT)/misc					\
270		OBJROOT=$(OBJROOT)/misc					\
271		SYMROOT=$(SYMROOT)/misc $@) || exit 1;			\
272	    echo =========== $(MAKE) $@ for cbtlibs =============;	\
273	    (cd cbtlibs; $(MAKE) "RC_CFLAGS=$(RC_CFLAGS)"		\
274		RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
275		DSTROOT=$$DSTROOT					\
276		SRCROOT=$(SRCROOT)/cbtlibs				\
277		OBJROOT=$(OBJROOT)/cbtlibs				\
278		SYMROOT=$(SYMROOT)/cbtlibs $@) || exit 1;		\
279	else								\
280	    CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD";	\
281	    SED_RC_CFLAGS=`echo "$(RC_CFLAGS)" | sed 's/-arch ppc64//'  \
282 		| sed 's/-arch x86_64//'`;				\
283	    echo =========== $(MAKE) $@ for libstuff =============;	\
284	    (cd libstuff; $(MAKE) "RC_CFLAGS=$(RC_CFLAGS)"		\
285		RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
286		DSTROOT=$$DSTROOT $@) || exit 1;			\
287	    echo ====== $(MAKE) lib_static_ofiles for libstuff =======; \
288	    (cd libstuff; $(MAKE) "RC_CFLAGS=$$SED_RC_CFLAGS"		\
289		RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
290		DSTROOT=$$DSTROOT lib_static_ofiles) || exit 1;		\
291	    if [ $(BUILD_DYLIBS) = "YES" ];				\
292	    then							\
293	        echo =========== $(MAKE) $@ for libmacho =============;	\
294	        (cd libmacho; $(MAKE) RC_CFLAGS="$(RC_CFLAGS)"		\
295		    RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"		\
296		    DSTROOT=$$DSTROOT $@) || exit 1;			\
297	    fi;								\
298	    echo =========== $(MAKE) $@ for ld =============;		\
299	    (cd ld; $(MAKE) "RC_CFLAGS=$$SED_RC_CFLAGS"			\
300		RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
301		OLD_LIBKLD="$(OLD_LIBKLD)"				\
302		DSTROOT=$$DSTROOT $@) || exit 1;			\
303	    echo =========== $(MAKE) $@ for misc =============;		\
304	    (cd misc; $(MAKE) "RC_CFLAGS=$(RC_CFLAGS)"			\
305		RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
306		TRIE="$(TRIE)" LTO="$(LTO)"				\
307		DSTROOT=$$DSTROOT $@) || exit 1;			\
308	    (cd cbtlibs; $(MAKE) "RC_CFLAGS=$(RC_CFLAGS)"		\
309		RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
310		DSTROOT=$$DSTROOT $@) || exit 1;			\
311	fi
312
313install_dev_tools:
314	$(MAKE) RC_CFLAGS="$(RC_CFLAGS)"				\
315		RC_ARCHS="$(RC_ARCHS)"					\
316		RC_OS="$(RC_OS)"					\
317		INSTALL_LOCATION=$(INSTALL_LOCATION)			\
318		DSTROOT=$(DSTROOT)					\
319		SRCROOT=$(SRCROOT)					\
320		OBJROOT=$(OBJROOT)					\
321		SYMROOT=$(SYMROOT)					\
322		EFITOOLS="$(EFITOOLS)" TRIE="$(TRIE)"			\
323		LTO="$(LTO)" install
324
325install_os_tools: installhdrs
326	@if [ $(SRCROOT) ];						\
327	then								\
328	    CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD";	\
329	    echo =========== $(MAKE) all for libstuff =============;	\
330	    (cd libstuff; $(MAKE) "RC_CFLAGS=$(RC_CFLAGS)"		\
331		RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
332		OLD_LIBKLD="$(OLD_LIBKLD)" 				\
333		DSTROOT=$$DSTROOT					\
334		SRCROOT=$(SRCROOT)/libstuff				\
335		OBJROOT=$(OBJROOT)/libstuff				\
336		SYMROOT=$(SYMROOT)/libstuff all) || exit 1;		\
337	    echo =========== $(MAKE) $@ for misc =============;	\
338	    (cd misc; $(MAKE) "RC_CFLAGS=$(RC_CFLAGS)"			\
339		RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
340		TRIE="$(TRIE)" LTO="$(LTO)"				\
341		DSTROOT=$$DSTROOT					\
342		SRCROOT=$(SRCROOT)/misc					\
343		OBJROOT=$(OBJROOT)/misc					\
344		SYMROOT=$(SYMROOT)/misc $@) || exit 1;			\
345	    echo =========== $(MAKE) $@ for man =============;	\
346	    (cd man; $(MAKE) "RC_CFLAGS=$(RC_CFLAGS)"			\
347		RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
348		DSTROOT=$$DSTROOT					\
349		SRCROOT=$(SRCROOT)/man					\
350		OBJROOT=$(OBJROOT)/man					\
351		SYMROOT=$(SYMROOT)/man $@) || exit 1;			\
352	else								\
353	    CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD";	\
354	    echo =========== $(MAKE) all for libstuff =============;	\
355	    (cd libstuff; $(MAKE) "RC_CFLAGS=$(RC_CFLAGS)"		\
356		RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
357		DSTROOT=$$DSTROOT all) || exit 1;			\
358	    echo =========== $(MAKE) $@ for misc =============;		\
359	    (cd misc; $(MAKE) "RC_CFLAGS=$(RC_CFLAGS)"			\
360		RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
361		TRIE="$(TRIE)" LTO="$(LTO)"				\
362		DSTROOT=$$DSTROOT $@) || exit 1;			\
363	    echo =========== $(MAKE) $@ for man =============;		\
364	    (cd man; $(MAKE) "RC_CFLAGS=$(RC_CFLAGS)"			\
365		RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
366		DSTROOT=$$DSTROOT $@) || exit 1;			\
367	fi
368
369installsrc: SRCROOT
370	$(MKDIRS) $(SRCROOT)
371	cp Makefile APPLE_LICENSE PB.project $(SRCROOT)
372	for i in `echo $(INSTALLSRC_SUBDIRS)`; \
373	  do \
374		echo =========== $(MAKE) $@ for $$i =============;	\
375		(cd $$i; $(MAKE) SRCROOT=$$SRCROOT/$$i 			\
376		 EFITOOLS="$(EFITOOLS)" $@) || exit 1;	\
377	  done
378
379installGASsrc: SRCROOT
380	$(MKDIRS) $(SRCROOT)
381	cp Makefile $(SRCROOT)
382	@for i in as libstuff include ; \
383	  do \
384		echo =========== $(MAKE) $@ for $$i =============;	\
385		(cd $$i; $(MAKE) SRCROOT=$$SRCROOT/$$i $@) || exit 1;	\
386	  done
387
388fromGASsrc:
389	@CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD";		\
390	echo =========== $(MAKE) fromGASsrc for libstuff =============;	\
391	(cd libstuff; $(MAKE) RC_CFLAGS="$(RC_CFLAGS)"			\
392	    RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
393	    DSTROOT=$$DSTROOT fromGASsrc) || exit 1;			\
394	echo =========== $(MAKE) appc_build for as =============;	\
395	(cd as; $(MAKE) RC_CFLAGS="$(RC_CFLAGS)"			\
396	    RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)"			\
397	    DSTROOT=$$DSTROOT appc_build) || exit 1;			\
398
399installhdrs: $(DSTROOT)
400	@if [ $(SRCROOT) ];						\
401	then								\
402	    projName=`basename $(SRCROOT) | sed 's/-[0-9.]*//'`;	\
403	    if [ "$$projName" = cctools -a $(RC_OS) = macos ] &&	\
404	       [ "$(RC_FORCEHDRS)" != "YES" ];				\
405	    then							\
406	    	echo === cctools does not install headers for macos ===;\
407	    else							\
408		(cd include; $(MAKE) DSTROOT=$(DSTROOT)			\
409			RC_OS="$(RC_OS)" install) || exit 1;		\
410	    fi;								\
411	else								\
412	    (cd include; $(MAKE) DSTROOT=$(DSTROOT) RC_OS=$(RC_OS) 	\
413		install) || exit 1;					\
414	fi
415
416$(DSTROOT):
417	$(MKDIRS) $@
418
419SRCROOT:
420	@if [ -n "${$@}" ]; \
421	then \
422		exit 0; \
423	else \
424		echo Must define $@; \
425		exit 1; \
426	fi
427