xref: /dragonfly/gnu/usr.bin/cc80/libbackend/Makefile (revision 1fbcaeea)
12233c95bSzrjGCC_NO_LIBS=	yes
22233c95bSzrjLOCAL_CONFIG=	yes
32233c95bSzrj.include "../Makefile.inc"
42233c95bSzrj.PATH: $(srcdir)/config/i386
52233c95bSzrj
62233c95bSzrjCFLAGS+=	-DTARGET_NAME=\"${target_machine}\"
72233c95bSzrj# needed to compile hsa/brig bits
82233c95bSzrjCXXFLAGS+=	${NOEXCEPTION_FLAGS}
92233c95bSzrj
102233c95bSzrjLIB=		backend
112233c95bSzrjINTERNALLIB=	YES
122233c95bSzrj
132233c95bSzrj# almost verbatim from Makefile, objects from cc files have been pulled out
142233c95bSzrj# because the .o=.c is wrong for them
152233c95bSzrjhost_hook_obj=host-default.o
162233c95bSzrjout_object_file=i386.o
172233c95bSzrjEXTRA_OBJS=	x86-tune-sched.o x86-tune-sched-bd.o \
182233c95bSzrj		x86-tune-sched-atom.o x86-tune-sched-core.o
192233c95bSzrjBACKEND_OBJS= \
202233c95bSzrj	gimple-match.o \
212233c95bSzrj	generic-match.o \
222233c95bSzrj	insn-attrtab.o \
232233c95bSzrj	insn-automata.o \
242233c95bSzrj	insn-dfatab.o \
252233c95bSzrj	insn-emit.o \
262233c95bSzrj	insn-extract.o \
272233c95bSzrj	insn-latencytab.o \
282233c95bSzrj	insn-modes.o \
292233c95bSzrj	insn-opinit.o \
302233c95bSzrj	insn-output.o \
312233c95bSzrj	insn-peep.o \
322233c95bSzrj	insn-preds.o \
332233c95bSzrj	insn-recog.o \
342233c95bSzrj	insn-enums.o \
352233c95bSzrj	ggc-page.o \
362233c95bSzrj	alias.o \
372233c95bSzrj	alloc-pool.o \
382233c95bSzrj	auto-inc-dec.o \
392233c95bSzrj	auto-profile.o \
402233c95bSzrj	bb-reorder.o \
412233c95bSzrj	bitmap.o \
422233c95bSzrj	bt-load.o \
432233c95bSzrj	builtins.o \
442233c95bSzrj	caller-save.o \
452233c95bSzrj	calls.o \
462233c95bSzrj	ccmp.o \
472233c95bSzrj	cfg.o \
482233c95bSzrj	cfganal.o \
492233c95bSzrj	cfgbuild.o \
502233c95bSzrj	cfgcleanup.o \
512233c95bSzrj	cfgexpand.o \
522233c95bSzrj	cfghooks.o \
532233c95bSzrj	cfgloop.o \
542233c95bSzrj	cfgloopanal.o \
552233c95bSzrj	cfgloopmanip.o \
562233c95bSzrj	cfgrtl.o \
572233c95bSzrj	symtab.o \
582233c95bSzrj	cgraph.o \
592233c95bSzrj	cgraphbuild.o \
602233c95bSzrj	cgraphunit.o \
612233c95bSzrj	cgraphclones.o \
622233c95bSzrj	combine.o \
632233c95bSzrj	combine-stack-adj.o \
642233c95bSzrj	compare-elim.o \
652233c95bSzrj	context.o \
662233c95bSzrj	convert.o \
672233c95bSzrj	coverage.o \
682233c95bSzrj	cppbuiltin.o \
692233c95bSzrj	cppdefault.o \
702233c95bSzrj	cprop.o \
712233c95bSzrj	cse.o \
722233c95bSzrj	cselib.o \
732233c95bSzrj	data-streamer.o \
742233c95bSzrj	data-streamer-in.o \
752233c95bSzrj	data-streamer-out.o \
762233c95bSzrj	dbxout.o \
772233c95bSzrj	dbgcnt.o \
782233c95bSzrj	dce.o \
792233c95bSzrj	ddg.o \
802233c95bSzrj	debug.o \
812233c95bSzrj	df-core.o \
822233c95bSzrj	df-problems.o \
832233c95bSzrj	df-scan.o \
842233c95bSzrj	dfp.o \
852233c95bSzrj	dojump.o \
862233c95bSzrj	dominance.o \
872233c95bSzrj	domwalk.o \
882233c95bSzrj	double-int.o \
892233c95bSzrj	dse.o \
902233c95bSzrj	dumpfile.o \
912233c95bSzrj	dwarf2asm.o \
922233c95bSzrj	dwarf2cfi.o \
932233c95bSzrj	dwarf2out.o \
942233c95bSzrj	early-remat.o \
952233c95bSzrj	emit-rtl.o \
962233c95bSzrj	et-forest.o \
972233c95bSzrj	except.o \
982233c95bSzrj	explow.o \
992233c95bSzrj	expmed.o \
1002233c95bSzrj	expr.o \
1012233c95bSzrj	file-prefix-map.o \
1022233c95bSzrj	final.o \
1032233c95bSzrj	fixed-value.o \
1042233c95bSzrj	fold-const.o \
1052233c95bSzrj	fold-const-call.o \
1062233c95bSzrj	function.o \
1072233c95bSzrj	fwprop.o \
1082233c95bSzrj	gcc-rich-location.o \
1092233c95bSzrj	gcse.o \
1102233c95bSzrj	gcse-common.o \
1112233c95bSzrj	ggc-common.o \
1122233c95bSzrj	ggc-tests.o \
1132233c95bSzrj	gimple.o \
1142233c95bSzrj	gimple-builder.o \
1152233c95bSzrj	gimple-expr.o \
1162233c95bSzrj	gimple-iterator.o \
1172233c95bSzrj	gimple-fold.o \
1182233c95bSzrj	gimple-laddress.o \
1192233c95bSzrj	gimple-loop-jam.o \
1202233c95bSzrj	gimple-low.o \
1212233c95bSzrj	gimple-pretty-print.o \
1222233c95bSzrj	gimple-ssa-backprop.o \
1232233c95bSzrj	gimple-ssa-evrp.o \
1242233c95bSzrj	gimple-ssa-evrp-analyze.o \
1252233c95bSzrj	gimple-ssa-isolate-paths.o \
1262233c95bSzrj	gimple-ssa-nonnull-compare.o \
1272233c95bSzrj	gimple-ssa-split-paths.o \
1282233c95bSzrj	gimple-ssa-store-merging.o \
1292233c95bSzrj	gimple-ssa-strength-reduction.o \
1302233c95bSzrj	gimple-ssa-sprintf.o \
1312233c95bSzrj	gimple-ssa-warn-alloca.o \
1322233c95bSzrj	gimple-ssa-warn-restrict.o \
1332233c95bSzrj	gimple-streamer-in.o \
1342233c95bSzrj	gimple-streamer-out.o \
1352233c95bSzrj	gimple-walk.o \
1362233c95bSzrj	gimplify.o \
1372233c95bSzrj	gimplify-me.o \
1382233c95bSzrj	godump.o \
1392233c95bSzrj	graph.o \
1402233c95bSzrj	graphds.o \
1412233c95bSzrj	graphite.o \
1422233c95bSzrj	gtype-desc.o \
1432233c95bSzrj	haifa-sched.o \
1442233c95bSzrj	hsa-common.o \
1452233c95bSzrj	hsa-gen.o \
1462233c95bSzrj	hsa-regalloc.o \
1472233c95bSzrj	hsa-brig.o \
1482233c95bSzrj	hsa-dump.o \
1492233c95bSzrj	hw-doloop.o \
1502233c95bSzrj	hwint.o \
1512233c95bSzrj	ifcvt.o \
1522233c95bSzrj	ree.o \
1532233c95bSzrj	inchash.o \
1542233c95bSzrj	incpath.o \
1552233c95bSzrj	init-regs.o \
1562233c95bSzrj	internal-fn.o \
1572233c95bSzrj	ipa-chkp.o \
1582233c95bSzrj	ipa-cp.o \
1592233c95bSzrj	ipa-devirt.o \
1602233c95bSzrj	ipa-fnsummary.o \
1612233c95bSzrj	ipa-polymorphic-call.o \
1622233c95bSzrj	ipa-split.o \
1632233c95bSzrj	ipa-inline.o \
1642233c95bSzrj	ipa-comdats.o \
1652233c95bSzrj	ipa-visibility.o \
1662233c95bSzrj	ipa-inline-analysis.o \
1672233c95bSzrj	ipa-inline-transform.o \
1682233c95bSzrj	ipa-predicate.o \
1692233c95bSzrj	ipa-profile.o \
1702233c95bSzrj	ipa-prop.o \
1712233c95bSzrj	ipa-param-manipulation.o \
1722233c95bSzrj	ipa-pure-const.o \
1732233c95bSzrj	ipa-icf.o \
1742233c95bSzrj	ipa-icf-gimple.o \
1752233c95bSzrj	ipa-reference.o \
1762233c95bSzrj	ipa-hsa.o \
1772233c95bSzrj	ipa-ref.o \
1782233c95bSzrj	ipa-utils.o \
1792233c95bSzrj	ipa.o \
1802233c95bSzrj	ira.o \
1812233c95bSzrj	ira-build.o \
1822233c95bSzrj	ira-costs.o \
1832233c95bSzrj	ira-conflicts.o \
1842233c95bSzrj	ira-color.o \
1852233c95bSzrj	ira-emit.o \
1862233c95bSzrj	ira-lives.o \
1872233c95bSzrj	jump.o \
1882233c95bSzrj	langhooks.o \
1892233c95bSzrj	lcm.o \
1902233c95bSzrj	lists.o \
1912233c95bSzrj	loop-doloop.o \
1922233c95bSzrj	loop-init.o \
1932233c95bSzrj	loop-invariant.o \
1942233c95bSzrj	loop-iv.o \
1952233c95bSzrj	loop-unroll.o \
1962233c95bSzrj	lower-subreg.o \
1972233c95bSzrj	lra.o \
1982233c95bSzrj	lra-assigns.o \
1992233c95bSzrj	lra-coalesce.o \
2002233c95bSzrj	lra-constraints.o \
2012233c95bSzrj	lra-eliminations.o \
2022233c95bSzrj	lra-lives.o \
2032233c95bSzrj	lra-remat.o \
2042233c95bSzrj	lra-spills.o \
2052233c95bSzrj	lto-cgraph.o \
2062233c95bSzrj	lto-streamer.o \
2072233c95bSzrj	lto-streamer-in.o \
2082233c95bSzrj	lto-streamer-out.o \
2092233c95bSzrj	lto-section-in.o \
2102233c95bSzrj	lto-section-out.o \
2112233c95bSzrj	lto-opts.o \
2122233c95bSzrj	lto-compress.o \
2132233c95bSzrj	mcf.o \
2142233c95bSzrj	mode-switching.o \
2152233c95bSzrj	modulo-sched.o \
2162233c95bSzrj	multiple_target.o \
2172233c95bSzrj	omp-offload.o \
2182233c95bSzrj	omp-expand.o \
2192233c95bSzrj	omp-general.o \
2202233c95bSzrj	omp-grid.o \
2212233c95bSzrj	omp-low.o \
2222233c95bSzrj	omp-simd-clone.o \
2232233c95bSzrj	optabs.o \
2242233c95bSzrj	optabs-libfuncs.o \
2252233c95bSzrj	optabs-query.o \
2262233c95bSzrj	optabs-tree.o \
2272233c95bSzrj	options-save.o \
2282233c95bSzrj	opts-global.o \
2292233c95bSzrj	passes.o \
2302233c95bSzrj	plugin.o \
2312233c95bSzrj	postreload-gcse.o \
2322233c95bSzrj	postreload.o \
2332233c95bSzrj	predict.o \
2342233c95bSzrj	print-rtl.o \
2352233c95bSzrj	print-rtl-function.o \
2362233c95bSzrj	print-tree.o \
2372233c95bSzrj	profile.o \
2382233c95bSzrj	profile-count.o \
2392233c95bSzrj	read-md.o \
2402233c95bSzrj	read-rtl.o \
2412233c95bSzrj	read-rtl-function.o \
2422233c95bSzrj	real.o \
2432233c95bSzrj	realmpfr.o \
2442233c95bSzrj	recog.o \
2452233c95bSzrj	reg-stack.o \
2462233c95bSzrj	regcprop.o \
2472233c95bSzrj	reginfo.o \
2482233c95bSzrj	regrename.o \
2492233c95bSzrj	regstat.o \
2502233c95bSzrj	reload.o \
2512233c95bSzrj	reload1.o \
2522233c95bSzrj	reorg.o \
2532233c95bSzrj	resource.o \
2542233c95bSzrj	rtl-chkp.o \
2552233c95bSzrj	rtl-error.o \
2562233c95bSzrj	rtl.o \
2572233c95bSzrj	rtlhash.o \
2582233c95bSzrj	rtlanal.o \
2592233c95bSzrj	rtlhooks.o \
2602233c95bSzrj	rtx-vector-builder.o \
2612233c95bSzrj	run-rtl-passes.o \
2622233c95bSzrj	sched-deps.o \
2632233c95bSzrj	sched-ebb.o \
2642233c95bSzrj	sched-rgn.o \
2652233c95bSzrj	sel-sched-ir.o \
2662233c95bSzrj	sel-sched-dump.o \
2672233c95bSzrj	sel-sched.o \
2682233c95bSzrj	sese.o \
2692233c95bSzrj	shrink-wrap.o \
2702233c95bSzrj	simplify-rtx.o \
2712233c95bSzrj	sparseset.o \
2722233c95bSzrj	spellcheck.o \
2732233c95bSzrj	spellcheck-tree.o \
2742233c95bSzrj	sreal.o \
2752233c95bSzrj	stack-ptr-mod.o \
2762233c95bSzrj	statistics.o \
2772233c95bSzrj	stmt.o \
2782233c95bSzrj	stor-layout.o \
2792233c95bSzrj	store-motion.o \
2802233c95bSzrj	streamer-hooks.o \
2812233c95bSzrj	stringpool.o \
2822233c95bSzrj	substring-locations.o \
2832233c95bSzrj	target-globals.o \
2842233c95bSzrj	targhooks.o \
2852233c95bSzrj	timevar.o \
2862233c95bSzrj	toplev.o \
2872233c95bSzrj	tracer.o \
2882233c95bSzrj	trans-mem.o \
2892233c95bSzrj	tree-affine.o \
2902233c95bSzrj	asan.o \
2912233c95bSzrj	tsan.o \
2922233c95bSzrj	ubsan.o \
2932233c95bSzrj	sanopt.o \
2942233c95bSzrj	sancov.o \
2952233c95bSzrj	tree-call-cdce.o \
2962233c95bSzrj	tree-cfg.o \
2972233c95bSzrj	tree-cfgcleanup.o \
2982233c95bSzrj	tree-chrec.o \
2992233c95bSzrj	tree-complex.o \
3002233c95bSzrj	tree-data-ref.o \
3012233c95bSzrj	tree-dfa.o \
3022233c95bSzrj	tree-diagnostic.o \
3032233c95bSzrj	tree-dump.o \
3042233c95bSzrj	tree-eh.o \
3052233c95bSzrj	tree-emutls.o \
3062233c95bSzrj	tree-if-conv.o \
3072233c95bSzrj	tree-inline.o \
3082233c95bSzrj	tree-into-ssa.o \
3092233c95bSzrj	tree-iterator.o \
3102233c95bSzrj	tree-loop-distribution.o \
3112233c95bSzrj	tree-nested.o \
3122233c95bSzrj	tree-nrv.o \
3132233c95bSzrj	tree-object-size.o \
3142233c95bSzrj	tree-outof-ssa.o \
3152233c95bSzrj	tree-parloops.o \
3162233c95bSzrj	tree-phinodes.o \
3172233c95bSzrj	tree-chkp.o \
3182233c95bSzrj	tree-chkp-opt.o \
3192233c95bSzrj	tree-predcom.o \
3202233c95bSzrj	tree-pretty-print.o \
3212233c95bSzrj	tree-profile.o \
3222233c95bSzrj	tree-scalar-evolution.o \
3232233c95bSzrj	tree-sra.o \
3242233c95bSzrj	tree-switch-conversion.o \
3252233c95bSzrj	tree-ssa-address.o \
3262233c95bSzrj	tree-ssa-alias.o \
3272233c95bSzrj	tree-ssa-ccp.o \
3282233c95bSzrj	tree-ssa-coalesce.o \
3292233c95bSzrj	tree-ssa-copy.o \
3302233c95bSzrj	tree-ssa-dce.o \
3312233c95bSzrj	tree-ssa-dom.o \
3322233c95bSzrj	tree-ssa-dse.o \
3332233c95bSzrj	tree-ssa-forwprop.o \
3342233c95bSzrj	tree-ssa-ifcombine.o \
3352233c95bSzrj	tree-ssa-live.o \
3362233c95bSzrj	tree-ssa-loop-ch.o \
3372233c95bSzrj	tree-ssa-loop-im.o \
3382233c95bSzrj	tree-ssa-loop-ivcanon.o \
3392233c95bSzrj	tree-ssa-loop-ivopts.o \
3402233c95bSzrj	tree-ssa-loop-manip.o \
3412233c95bSzrj	tree-ssa-loop-niter.o \
3422233c95bSzrj	tree-ssa-loop-prefetch.o \
3432233c95bSzrj	tree-ssa-loop-split.o \
3442233c95bSzrj	tree-ssa-loop-unswitch.o \
3452233c95bSzrj	tree-ssa-loop.o \
3462233c95bSzrj	tree-ssa-math-opts.o \
3472233c95bSzrj	tree-ssa-operands.o \
3482233c95bSzrj	tree-ssa-phionlycprop.o \
3492233c95bSzrj	tree-ssa-phiopt.o \
3502233c95bSzrj	tree-ssa-phiprop.o \
3512233c95bSzrj	tree-ssa-pre.o \
3522233c95bSzrj	tree-ssa-propagate.o \
3532233c95bSzrj	tree-ssa-reassoc.o \
3542233c95bSzrj	tree-ssa-sccvn.o \
3552233c95bSzrj	tree-ssa-scopedtables.o \
3562233c95bSzrj	tree-ssa-sink.o \
3572233c95bSzrj	tree-ssa-strlen.o \
3582233c95bSzrj	tree-ssa-structalias.o \
3592233c95bSzrj	tree-ssa-tail-merge.o \
3602233c95bSzrj	tree-ssa-ter.o \
3612233c95bSzrj	tree-ssa-threadbackward.o \
3622233c95bSzrj	tree-ssa-threadedge.o \
3632233c95bSzrj	tree-ssa-threadupdate.o \
3642233c95bSzrj	tree-ssa-uncprop.o \
3652233c95bSzrj	tree-ssa-uninit.o \
3662233c95bSzrj	tree-ssa.o \
3672233c95bSzrj	tree-ssanames.o \
3682233c95bSzrj	tree-stdarg.o \
3692233c95bSzrj	tree-streamer.o \
3702233c95bSzrj	tree-streamer-in.o \
3712233c95bSzrj	tree-streamer-out.o \
3722233c95bSzrj	tree-tailcall.o \
3732233c95bSzrj	tree-vect-generic.o \
3742233c95bSzrj	tree-vect-patterns.o \
3752233c95bSzrj	tree-vect-data-refs.o \
3762233c95bSzrj	tree-vect-stmts.o \
3772233c95bSzrj	tree-vect-loop.o \
3782233c95bSzrj	tree-vect-loop-manip.o \
3792233c95bSzrj	tree-vect-slp.o \
3802233c95bSzrj	tree-vectorizer.o \
3812233c95bSzrj	tree-vector-builder.o \
3822233c95bSzrj	tree-vrp.o \
3832233c95bSzrj	tree.o \
3842233c95bSzrj	valtrack.o \
3852233c95bSzrj	value-prof.o \
3862233c95bSzrj	var-tracking.o \
3872233c95bSzrj	varasm.o \
3882233c95bSzrj	varpool.o \
3892233c95bSzrj	vec-perm-indices.o \
3902233c95bSzrj	vr-values.o \
3912233c95bSzrj	vtable-verify.o \
3922233c95bSzrj	web.o \
3932233c95bSzrj	$(out_object_file) \
3942233c95bSzrj	$(EXTRA_OBJS) \
3952233c95bSzrj	$(host_hook_obj)
3962233c95bSzrj
39749138b3bSzrj.if ${CFLAGS:M-DTOOLCHAIN_CHECKING}
39849138b3bSzrjBACKEND_OBJS+=	fibonacci_heap.o function-tests.o \
39949138b3bSzrj		hash-map-tests.o hash-set-tests.o \
40049138b3bSzrj		rtl-tests.o selftest-rtl.o \
40149138b3bSzrj		selftest-run-tests.o typed-splay-tree.o
40249138b3bSzrj.endif
40349138b3bSzrj
404de2610f5Szrj# only when HAVE_isl
4052233c95bSzrj#BACKEND_OBJS+= \
4062233c95bSzrj	graphite-isl-ast-to-gimple.o \
4072233c95bSzrj	graphite-dependences.o \
4082233c95bSzrj	graphite-optimize-isl.o \
4092233c95bSzrj	graphite-poly.o \
4102233c95bSzrj	graphite-scop-detection.o \
4112233c95bSzrj	graphite-sese-to-poly.o
4122233c95bSzrj
4132233c95bSzrj# only when VMS_DEBUGGING_INFO
4142233c95bSzrj#BACKEND_OBJS+= \
4152233c95bSzrj	vmsdbgout.o
4162233c95bSzrj
4172233c95bSzrj# only when XCOFF_DEBUGGING_INFO
4182233c95bSzrj#BACKEND_OBJS+= \
4192233c95bSzrj	xcoffout.o
4202233c95bSzrj
4212233c95bSzrjOBJS=	${BACKEND_OBJS}
42249138b3bSzrjSRCS=	gimple-loop-interchange.cc wide-int.cc wide-int-print.cc
42349138b3bSzrj
42449138b3bSzrj.if ${CFLAGS:M-DTOOLCHAIN_CHECKING}
42549138b3bSzrjSRCS+=	unique-ptr-tests.cc
42649138b3bSzrj.endif
4272233c95bSzrj
4285db9d41bSzrj# for gimple-ssa-sprintf.c
4295db9d41bSzrj.if ${CCVER:Mgcc47}
4305db9d41bSzrjCXXFLAGS+=	-Wno-pragmas
4315db9d41bSzrj.endif
4325db9d41bSzrj
4335db9d41bSzrj# for tree-ssa-structalias.c, tree-vect-stmts.c
4345db9d41bSzrj.if ${CCVER:Mgcc80}
4355db9d41bSzrjCXXFLAGS+=	-Wno-narrowing
436*1fbcaeeaSSascha Wildner.elif ${CCVER:Mclang*}
437*1fbcaeeaSSascha WildnerCXXFLAGS+=	-Wno-c++11-narrowing
4385db9d41bSzrj.endif
4395db9d41bSzrj
4402233c95bSzrj# hack to force c++ compiler to compile *.c files to create library
4412233c95bSzrj.for cfile in ${BACKEND_OBJS}
4422233c95bSzrj${cfile}: ${cfile:.o=.c}
4432233c95bSzrj	${CXX} ${STATIC_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
4442233c95bSzrj.endfor
4452233c95bSzrj
4462233c95bSzrjdfp.o: gstdint.h
4472233c95bSzrj
4482233c95bSzrjgstdint.h:
4492233c95bSzrj	echo "#include <stdint.h>" > ${.TARGET}
4502233c95bSzrj
4512233c95bSzrjCLEANFILES=	gstdint.h
4522233c95bSzrj
4532233c95bSzrj.include <bsd.lib.mk>
454