150472Speter# $FreeBSD: stable/11/gnu/usr.bin/cc/cc_tools/Makefile 337477 2018-08-08 18:05:14Z bdrewery $
218390Speter
3265420Simp.include <src.opts.mk>
4156813Sru
5126266SbdeCFLAGS+=	-I.
649864Sobrien
718390Speter.include "../Makefile.inc"
8298218Sbdrewery# Some of the logic needed in here is defined in Makefile.hdrs as it is shared
9298218Sbdrewery# with gnu/lib.
10298218Sbdrewery.include "Makefile.hdrs"
1118390Speter
12169718SkanCFLAGS+=	-g
13169718SkanCFLAGS+=	-DGENERATOR_FILE -DHAVE_CONFIG_H
1445583Sbde
15169718Skan# Override LIBIBERTY set by Makefile.inc, We use our own for
16169718Skan# build tools.
17169718SkanLIBIBERTY=	libiberty.a
18126266Sbde
19169718Skan.PATH:	${GCCDIR} ${GCCLIB}/libiberty
20132751Skan
21132751Skan#-----------------------------------------------------------------------
22117429Skan# Determine content of variables used by the target/host config files
23117429Skan
24117429Skan#
25132751Skan# The list of headers to go into tm.h
26117429Skan#
27117429Skan.for H in ${TARGET_INC}
28117429Skan.for D in ${GCCDIR}/config ${GCCDIR} ${.CURDIR}
29117429Skan.if exists($D/$H)
30169718SkanTARGET_INC_FILES+=     $D/$H
31117429Skan.endif
32117429Skan.endfor
33117429Skan.endfor
34117429Skan
35117429Skan#
36169718Skan# gtyp includes.
37117429Skan#
38117429Skansrcdir=		${GCCDIR}
39169718SkanCPPLIB_H=	${GCCLIB}/libcpp/include/line-map.h \
40169718Skan		${GCCLIB}/libcpp/include/cpplib.h
41169718SkanSYMTAB_H=	${GCCLIB}/libcpp/include/symtab.h
42169718SkanCPP_ID_DATA_H=	${CPPLIB_H} ${GCCLIB}/libcpp/include/cpp-id-data.h
43169718SkanHASHTAB_H=	${GCCLIB}/include/hashtab.h
44169718SkanSPLAY_TREE_H=	${GCCLIB}/include/splay-tree.h
45169718Skanout_file=	${srcdir}/config/${GCC_CPU}/${GCC_CPU}.c
46169718Skantm_file_list=	${TARGET_INC_FILES}
47169718Skanhost_xm_file_list= ${.CURDIR}/auto-host.h ${GCCLIB}/include/ansidecl.h
48169718SkanGTFILES_SRCDIR=	${srcdir}
49117429Skan
50117429Skan# Copied unchanged from gcc/Makefile.in
51169718SkanGTFILES = $(srcdir)/input.h $(srcdir)/coretypes.h \
52169718Skan  $(CPP_ID_DATA_H) $(host_xm_file_list) \
53169718Skan  $(tm_file_list) $(HASHTAB_H) $(SPLAY_TREE_H) $(srcdir)/bitmap.h \
54169718Skan  $(srcdir)/coverage.c $(srcdir)/rtl.h \
55169718Skan  $(srcdir)/optabs.h $(srcdir)/tree.h $(srcdir)/function.h $(srcdir)/libfuncs.h $(SYMTAB_H) \
56169718Skan  $(srcdir)/real.h $(srcdir)/varray.h $(srcdir)/insn-addr.h $(srcdir)/hwint.h \
57169718Skan  $(srcdir)/ipa-reference.h $(srcdir)/output.h \
58132751Skan  $(srcdir)/cselib.h $(srcdir)/basic-block.h  $(srcdir)/cgraph.h \
59169718Skan  $(srcdir)/c-common.h $(srcdir)/c-tree.h $(srcdir)/reload.h \
60132751Skan  $(srcdir)/alias.c $(srcdir)/bitmap.c $(srcdir)/cselib.c $(srcdir)/cgraph.c \
61169718Skan  $(srcdir)/ipa-prop.c $(srcdir)/ipa-cp.c $(srcdir)/ipa-inline.c \
62132751Skan  $(srcdir)/dbxout.c $(srcdir)/dwarf2out.c $(srcdir)/dwarf2asm.c \
63169718Skan  $(srcdir)/dojump.c $(srcdir)/tree-profile.c \
64132751Skan  $(srcdir)/emit-rtl.c $(srcdir)/except.c $(srcdir)/explow.c $(srcdir)/expr.c \
65169718Skan  $(srcdir)/function.c $(srcdir)/except.h \
66117429Skan  $(srcdir)/gcse.c $(srcdir)/integrate.c $(srcdir)/lists.c $(srcdir)/optabs.c \
67169718Skan  $(srcdir)/profile.c $(srcdir)/regclass.c \
68169718Skan  $(srcdir)/reg-stack.c $(srcdir)/cfglayout.c \
69169718Skan  $(srcdir)/sdbout.c $(srcdir)/stor-layout.c \
70146910Skan  $(srcdir)/stringpool.c $(srcdir)/tree.c $(srcdir)/varasm.c \
71169718Skan  $(srcdir)/tree-mudflap.c $(srcdir)/tree-flow.h \
72169718Skan  $(srcdir)/c-objc-common.c $(srcdir)/c-common.c $(srcdir)/c-parser.c \
73169718Skan  $(srcdir)/tree-ssanames.c $(srcdir)/tree-eh.c $(srcdir)/tree-ssa-address.c \
74169718Skan  $(srcdir)/tree-phinodes.c $(srcdir)/tree-cfg.c \
75169718Skan  $(srcdir)/tree-dfa.c $(srcdir)/tree-ssa-propagate.c \
76169718Skan  $(srcdir)/tree-iterator.c $(srcdir)/gimplify.c \
77169718Skan  $(srcdir)/tree-chrec.h $(srcdir)/tree-vect-generic.c \
78169718Skan  $(srcdir)/tree-ssa-operands.h $(srcdir)/tree-ssa-operands.c \
79169718Skan  $(srcdir)/tree-profile.c $(srcdir)/tree-nested.c \
80169718Skan  $(srcdir)/ipa-reference.c $(srcdir)/tree-ssa-structalias.h \
81169718Skan  $(srcdir)/tree-ssa-structalias.c \
82169718Skan  $(srcdir)/c-pragma.h $(srcdir)/omp-low.c \
83169718Skan  $(srcdir)/targhooks.c $(srcdir)/cgraphunit.c $(out_file) \
84117429Skan
85169718Skan# The list of frontend directories to look into
86117429SkanGTFILES_LANG_DIR_NAMES=
87117429Skan
88156813Sru.if ${MK_CXX} != "no"
89117429SkanGTFILES_LANG_DIR_NAMES+=	cp
90117429Skan.endif
91117429Skan
92169718Skan# The list of language specific files for gengtype
93117429Skan.for L in ${GTFILES_LANG_DIR_NAMES} c
94117429Skan.if exists(${GCCDIR}/$L-config-lang.in)
95117429Skan# Source the language config file
96125040SkanL_GTFILES!=	sh -c '. ${GCCDIR}/$L-config-lang.in; echo $$gtfiles'
97117429Skan.else
98125040SkanL_GTFILES!=	sh -c '. ${GCCDIR}/$L/config-lang.in; echo $$gtfiles'
99117429Skan.endif
100125040Skan.for F in ${L_GTFILES}
101117429SkanGTFILES_FILES+=	$F
102117429SkanGTFILES_LANGS+= $L
103117429Skan.endfor
104117429Skan.endfor
105125040SkanGTFILES+=	${GTFILES_FILES}
106117429Skan
107169718Skan#
108169718Skan# Tree definition files.
109169718Skan#
110169718SkanTREE_DEF_FILES=
11118390Speter
112169718Skan.if ${MK_CXX} != "no"
113169718SkanTREE_DEF_FILES+=	cp/cp-tree.def
114169718Skan.endif
11534112Sbde
116169718Skan#-----------------------------------------------------------------------
117169718Skan# Build rules for header files and generator tools
118169718Skan
119169718Skan# Host config
120169718Skanconfig.h:
121169718Skan	TARGET_CPU_DEFAULT="${TARGET_CPU_DEFAULT}" \
122169718Skan	HEADERS="auto-host.h ansidecl.h" \
123169718Skan	DEFINES="" \
124169718Skan	/bin/sh ${GCCDIR}/mkconfig.sh ${.TARGET}
125169718Skan
126169718SkanGENSRCS+=	config.h
127169718SkanCLEANFILES+=	cs-config.h
128169718Skan
129169718Skan# Build config
130132751Skanbconfig.h:
131169718Skan	TARGET_CPU_DEFAULT="${TARGET_CPU_DEFAULT}" \
132169718Skan	HEADERS="auto-host.h ansidecl.h" \
133169718Skan	DEFINES="" \
134169718Skan	/bin/sh ${GCCDIR}/mkconfig.sh ${.TARGET}
135132751Skan.if exists(${GCCDIR}/config/${GCC_CPU}/${GCC_CPU}-modes.def)
136132751Skan	echo '#define EXTRA_MODES_FILE "${GCC_CPU}/${GCC_CPU}-modes.def"' >> ${.TARGET}
137132751Skan.endif
138132751Skan
139169718SkanGENSRCS+=	bconfig.h
140169718SkanCLEANFILES+=	cs-bconfig.h
14153173Sobrien
142169718Skan# tconfig.h
143169718SkanGENSRCS+=	tconfig.h
144169718SkanCLEANFILES+=	cs-tconfig.h
145284289Ssjg
146169718Skan# Options
147169718SkanGENONLY+=	optionlist options.h options.c
148169718Skan
149169718Skan# Target machine config
150169718SkanGENSRCS+=	tm.h
151169718SkanCLEANFILES+=	cs-tm.h
152169718Skan
153169718Skan# Target machine protos/preds.
15496340Sobrientm_p.h:
155169718Skan	TARGET_CPU_DEFAULT="${TARGET_CPU_DEFAULT}" \
156169718Skan	HEADERS="${GCC_CPU}/${GCC_CPU}-protos.h tm-preds.h" \
157169718Skan	DEFINES="" \
158169718Skan	/bin/sh ${GCCDIR}/mkconfig.sh tm_p.h
15996340Sobrien
160169718SkanGENSRCS+=	tm_p.h
161169718SkanCLEANFILES+=	cs-tm_p.h
162169718Skan
163169718Skan# gencheck
164170039Skangencheck.h: ${TREE_DEF_FILES}
165169718Skan.for F in ${TREE_DEF_FILES}
166169718Skan	echo "#include \"$F\""					>> ${.TARGET}
16796340Sobrien.endfor
168170039Skan	touch ${.TARGET}
16996340Sobrien
170169718SkanGENSRCS+=	gencheck.h
171169718Skan
172169718Skan
173169718Skan# Source header for gtyp generator.
174169718Skangtyp-gen.h:	${GTFILES}
175117429Skan	echo "/* This file is machine generated.  Do not edit.  */" > ${.TARGET}
176169718Skan	echo "static const char * const srcdir = "		>> ${.TARGET}
177117429Skan	echo "\"$(GTFILES_SRCDIR)\";"				>> ${.TARGET}
178169718Skan	echo "static const char * const lang_files[] = {"	>> ${.TARGET}
179117429Skan.for F in ${GTFILES_FILES}
180117429Skan	echo "\"$F\", "						>> ${.TARGET}
181117429Skan.endfor
182117429Skan	echo "NULL};"						>> ${.TARGET}
183169718Skan	echo "static const char * const langs_for_lang_files[] = {">> ${.TARGET}
184117429Skan.for F in ${GTFILES_LANGS}
185117429Skan	echo "\"$F\", "						>> ${.TARGET}
186117429Skan.endfor
187117429Skan	echo "NULL};"						>> ${.TARGET}
188169718Skan	echo "static const char * const all_files[] = {"	>> ${.TARGET}
189117429Skan.for F in ${GTFILES}
190117429Skan	echo "\"$F\", "						>> ${.TARGET}
191117429Skan.endfor
192117429Skan	echo "NULL};"						>> ${.TARGET}
193169718Skan	echo "static const char * const lang_dir_names[] = {"	>> ${.TARGET}
194169718Skan.for F in c ${GTFILES_LANG_DIR_NAMES}
195117429Skan	echo "\"$F\", "						>> ${.TARGET}
196117429Skan.endfor
197117429Skan	echo "NULL};"						>> ${.TARGET}
198117429Skan
199169718SkanGENSRCS+=	gtyp-gen.h
200169718Skan
201169718Skan# Version header for gcov
202169718SkanGENSRCS+=	gcov-iov.h
203162417Simp
204169718Skan# Multilib config file
205169718Skanmultilib.h:
206215439Stijl.if ${TARGET_ARCH} == "powerpc64" || ${TARGET_ARCH} == "amd64"
207169718Skan	echo 'static const char *const multilib_raw[] = { \
208209867Snwhitehorn	    ". !m64 !m32;", \
209209867Snwhitehorn	    "64:../lib m64 !m32;", \
210209867Snwhitehorn	    "32:../lib32 !m64 m32;", NULL };'			> ${.TARGET}
211209867Snwhitehorn	echo 'static const char *multilib_options = "m64/m32";'	>> ${.TARGET}
212209867Snwhitehorn	echo 'static const char *const multilib_matches_raw[] = { \
213209867Snwhitehorn	    "m64 m64;", "m32 m32;", NULL };'			>> ${.TARGET}
214209867Snwhitehorn.else
215209867Snwhitehorn	echo 'static const char *const multilib_raw[] = { \
216169718Skan	    ". ;", NULL };'					> ${.TARGET}
217209867Snwhitehorn	echo 'static const char *multilib_options = "";'	>> ${.TARGET}
218169718Skan	echo 'static const char *const multilib_matches_raw[] = { \
219169718Skan	    NULL };'						>> ${.TARGET}
220209867Snwhitehorn.endif
221169718Skan	echo 'static const char *multilib_extra = "";'		>> ${.TARGET}
222169718Skan	echo 'static const char *const multilib_exclusions_raw[] = { \
223169718Skan	    NULL };'						>> ${.TARGET}
224162417Simp
225169718SkanGENSRCS+=	multilib.h
226169718Skan
227169718Skanconfigargs.h:
228169718Skan	echo 'static const char configuration_arguments[] ='	> ${.TARGET}
229169718Skan	echo '	"FreeBSD/${TARGET_ARCH} system compiler";'	>> ${.TARGET}
230169718Skan	echo 'static const char thread_model[] = "posix";'	>> ${.TARGET}
231169718Skan	echo 'static const struct {'				>> ${.TARGET}
232169718Skan	echo '	const char *name, *value;'			>> ${.TARGET}
233169718Skan	echo '} configure_default_options[] = {'		>> ${.TARGET}
234169718Skan	echo '	{ "NULL", "NULL" } };'				>> ${.TARGET}
235169718Skan
236169718SkanGENSRCS+=	configargs.h
237169718Skan
238169718Skan# Language spec files
239169718Skanspecs.h:
240169718Skan	echo '#include "cp/lang-specs.h"'			> ${.TARGET}
241169718Skan
242169718SkanGENSRCS+=	specs.h
243169718Skan
244169718Skangstdint.h:
245169718Skan	echo '#include "sys/types.h"'				> ${.TARGET}
246169718Skan	echo '#include "sys/stdint.h"'				>> ${.TARGET}
247169718Skan
248169718SkanGENSRCS+=	gstdint.h
249169718Skan
250169718Skan# Linked headers
251169718SkanGENSRCS+=	gthr-default.h
252169718Skan
253169718SkanGENSRCS+=	unwind.h
254169718Skan
255169718Skan#
256169718Skan# gtype gunk
257169718Skan#
258169718Skangengtype-lex.c:	gengtype-lex.l
259169718Skan	flex -ogengtype-lex.c ${.ALLSRC}
260169718Skan
261169718Skangengtype-yacc.h: gengtype-yacc.y
262169718Skan	yacc -d -o gengtype-yacc.c ${.ALLSRC}
263169718Skan
264301936Sbdrewerygengtype-yacc.c: gengtype-yacc.h .NOMETA
265169718Skan
266169718Skangengtype-yacc+%DIKED.c: gengtype-yacc.c
267169718Skan	cat    ${.ALLSRC} > ${.TARGET}
268169718Skan	sed -e "s/xmalloc/malloc/g" \
269169718Skan	    -e "s/xrealloc/realloc/g" \
270169718Skan	    -e "s/malloc/xmalloc/g" \
271169718Skan	    -e "s/realloc/xrealloc/g" \
272169718Skan	    ${.ALLSRC} > ${.TARGET}
273169718Skan
274169718SkanGENSRCS+= gengtype-lex.c gengtype-yacc.h gengtype-yacc+%DIKED.c
275169718SkanCLEANFILES+= gengtype-yacc.c
276169718Skan
277169718Skangengtype: gengtype.o gengtype-yacc+%DIKED.o gengtype-lex.o errors.o \
278169718Skan	  ${LIBIBERTY}
279337477Sbdrewery	${CC:N${CCACHE_BIN}} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
280169718Skan
281169718Skangtype-desc.h:	gengtype
282300347Sbdrewery	${BTOOLSPATH:U.}/gengtype
283169718Skan	touch ${.TARGET}
284169718Skan
285169718Skangtype-desc.c:	gtype-desc.h
286169718Skan
287169718SkanGENONLY+=	gtype-desc.c gtype-desc.h
288169718SkanCLEANFILES+=	gt-*.h gtype-*.h
289169718Skan
290169718Skan#
291169718Skan# Generator tools.
292169718Skan#
293169718Skan.for F in check checksum genrtl modes
294169718Skangen$F:	gen$F.o errors.o ${LIBIBERTY}
295337477Sbdrewery	${CC:N${CCACHE_BIN}} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
296169718Skan.endfor
297169718Skan
298169718Skan.for F in attr attrtab automata codes conditions config constants emit \
299169718Skan	extract flags  opinit output peep preds recog
300169718Skangen$F:	gen$F.o rtl.o read-rtl.o ggc-none.o vec.o min-insn-modes.o \
301169718Skan	gensupport.o print-rtl.o errors.o ${LIBIBERTY}
302337477Sbdrewery	${CC:N${CCACHE_BIN}} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC} -lm
303169718Skan.endfor
304169718Skan
305169718Skangencondmd:	gencondmd.o
306337477Sbdrewery	${CC:N${CCACHE_BIN}} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
307169718Skan
308169718Skan#
309169718Skan# Generated .md files.
310169718Skan#
311169718Skaninsn-conditions.md:	gencondmd
312300347Sbdrewery	${BTOOLSPATH:U.}/gencondmd > ${.TARGET}
313169718SkanGENSRCS+=	insn-conditions.md
314169718Skan
315169718Skan#
316169718Skan# Generated header files.
317169718Skan#
318169718Skan
319169718Skan.for F in constants
320169718Skaninsn-$F.h:	gen$F ${MD_FILE}
321300347Sbdrewery	${BTOOLSPATH:U.}/gen$F ${MD_FILE} > ${.TARGET}
322169718SkanGENSRCS+=	insn-$F.h
323169718Skan.endfor
324169718Skan
325169718Skan.for F in attr codes config flags
326169718Skaninsn-$F.h:	gen$F ${MD_FILE} insn-conditions.md
327300347Sbdrewery	${BTOOLSPATH:U.}/gen$F ${MD_FILE} insn-conditions.md > ${.TARGET}
328169718SkanGENSRCS+=	insn-$F.h
329169718Skan.endfor
330169718Skan
331169718Skan# Header files with irregular names.
332169718Skangenrtl.h:	gengenrtl
333300347Sbdrewery	${BTOOLSPATH:U.}/gengenrtl -h > ${.TARGET}
334169718SkanGENSRCS+=	genrtl.h
335169718Skan
336169718Skantm-preds.h:	genpreds
337300347Sbdrewery	${BTOOLSPATH:U.}/genpreds -h ${MD_FILE} > ${.TARGET}
338169718SkanGENSRCS+=	tm-preds.h
339169718Skan
340169718Skantm-constrs.h:	genpreds
341300347Sbdrewery	${BTOOLSPATH:U.}/genpreds -c ${MD_FILE} > ${.TARGET}
342169718SkanGENSRCS+=	tm-constrs.h
343169718Skan
344169718Skantree-check.h:	gencheck
345300347Sbdrewery	${BTOOLSPATH:U.}/gencheck > ${.TARGET}
346169718SkanGENSRCS+=	tree-check.h
347169718Skan
348169718Skaninsn-modes.h:	genmodes
349300347Sbdrewery	${BTOOLSPATH:U.}/genmodes -h > ${.TARGET}
350169718SkanGENSRCS+=	insn-modes.h
351169718Skan
352169718Skan#
353169718Skan# Generated source files.
354169718Skan#
355169718Skan.for F in attrtab automata emit extract opinit output peep preds recog
356169718Skaninsn-$F.c:	gen$F ${MD_FILE} insn-conditions.md
357300347Sbdrewery	${BTOOLSPATH:U.}/gen$F ${MD_FILE} insn-conditions.md > ${.TARGET}
358169718SkanGENONLY+=	insn-$F.c
359169718Skan.endfor
360169718Skan
361169718Skan.for F in conditions
362169718Skaninsn-$F.c:	gen$F ${MD_FILE}
363300347Sbdrewery	${BTOOLSPATH:U.}/gen$F ${MD_FILE} > ${.TARGET}
364169718SkanGENSRCS+=	insn-$F.c
365169718Skan.endfor
366169718Skan
367169718Skan# Source files with irregular names.
368169718Skaninsn-modes.c:	genmodes
369300347Sbdrewery	${BTOOLSPATH:U.}/genmodes > ${.TARGET}
370169718SkanGENONLY+=	insn-modes.c
371169718Skan
372169718Skanmin-insn-modes.c:	genmodes
373300347Sbdrewery	${BTOOLSPATH:U.}/genmodes -m > ${.TARGET}
374169718SkanGENSRCS+=	min-insn-modes.c
375169718Skan
376169718Skangenrtl.c:	gengenrtl
377300347Sbdrewery	${BTOOLSPATH:U.}/gengenrtl > ${.TARGET}
378169718SkanGENONLY+=	genrtl.c
379169718Skan
380169718Skangencondmd.c:	genconditions ${MD_FILE}
381300347Sbdrewery	${BTOOLSPATH:U.}/genconditions ${MD_FILE} > ${.TARGET}
382169718SkanGENSRCS+=	gencondmd.c
383169718Skan
38434229Speter#-----------------------------------------------------------------------
385169718Skan# Build tools.
38634229Speter
387169718SkanGNTOOLS+=	genattr genattrtab genautomata gencodes gencheck genchecksum \
388169718Skan		genconditions gencondmd genconfig genconstants genemit \
389169718Skan		genextract genflags gengenrtl gengtype genmodes genopinit \
390169718Skan		genoutput genpeep genpreds genrecog
39134229Speter
392300347Sbdrewery${GNTOOLS:C,$,.o,} ${GNTOOLS}: ${BUILD_TOOLS_META}
393169718Skanall: ${GNTOOLS} ${GENSRCS} ${GENONLY}
394169718Skanbeforedepend: ${GENONLY}
39535402Sbde
396169718Skan#
397169718Skan#-----------------------------------------------------------------------
398169718Skan# Build 'pocket' libiberty exclusively for build tools use.
39935402Sbde
400169718SkanLIBIBERTY_SRCS=	choose-temp.c concat.c cp-demangle.c cp-demint.c cplus-dem.c \
401169718Skan	dyn-string.c fibheap.c fopen_unlocked.c getpwd.c getruntime.c \
402169718Skan	hashtab.c hex.c lbasename.c make-temp-file.c md5.c obstack.c \
403169718Skan	partition.c pex-unix.c physmem.c safe-ctype.c splay-tree.c xexit.c \
404169718Skan	xmalloc.c xmemdup.c xstrdup.c xstrerror.c
405169718SkanLIBIBERTY_OBJS=	${LIBIBERTY_SRCS:R:S/$/.o/g}
406169718Skan
407169718Skan.for _src in ${LIBIBERTY_SRCS}
408300347Sbdrewery${_src:R:S/$/.o/}: ${_src} ${BUILD_TOOLS_META}
409169718Skan	${CC} -c -I ${.CURDIR}/../libiberty ${CFLAGS} -o ${.TARGET} ${.IMPSRC}
410169718Skan.endfor
411169718Skan
412300347Sbdrewery${LIBIBERTY}: ${LIBIBERTY_OBJS} ${BUILD_TOOLS_META}
413169718Skan	@rm -f ${.TARGET}
414243933Seadler	@${AR} ${ARFLAGS} ${.TARGET} `lorder ${LIBIBERTY_OBJS} | tsort -q`
415169718Skan	${RANLIB} ${.TARGET}
416169718SkanCLEANFILES+=	${LIBIBERTY} ${LIBIBERTY_OBJS}
417169718Skan
418169718Skan
41934229Speter#-----------------------------------------------------------------------
42035402Sbde# Fixups.
42134112Sbde
42235402Sbde# Set OBJS the same as bsd.prog.mk would do if we defined PROG.  We can't
42335402Sbde# define PROG because we have multiple programs.
42435402Sbde#
425169718SkanSRCS=		errors.c genattr.c genattrtab.c \
426169718Skan		genautomata.c gencheck.c genchecksum.c gencodes.c \
427169718Skan		genconditions.c genconfig.c genconstants.c genemit.c \
428169718Skan		genextract.c genflags.c gengenrtl.c gengtype.c genmodes.c \
429169718Skan		genopinit.c genoutput.c genpeep.c genpreds.c genrecog.c \
430169718Skan		gensupport.c ggc-none.c print-rtl.c read-rtl.c rtl.c \
431169718Skan		vec.c
432169718Skan
433169718SkanSRCS+=		${GENSRCS}
43435402SbdeOBJS+=		${SRCS:N*.h:R:S/$/.o/g}
435169718SkanGENOBJS+=	${GENSRCS:N*.h:R:S/$/.o/g}
436300347Sbdrewery${OBJS} ${GENOBJS}: ${BUILD_TOOLS_META}
437169718SkanCLEANFILES+=	${GENSRCS} ${GENONLY} ${GENOBJS} ${GNTOOLS}
43835402Sbde
439169718Skan#-----------------------------------------------------------------------
440169718Skan# Manual dependencies.
441169718Skan.include  "Makefile.dep"
44235402Sbde
443169718Skan.include <bsd.prog.mk>
444169718Skan# DO NOT DELETE
445