1TARGET_TUPLE?=	x86_64-pc-dragonfly
2
3NATIVE_EMULATION=	elf_x86_64
4X86_EMULATION=		elf_i386
5IAMCU_EMULATION=	elf_iamcu
6L1OM_EMULATION=		elf_l1om
7K1OM_EMULATION=		elf_k1om
8HOST=			${TARGET_TUPLE}
9FLAGS_GROUPS=		emul
10emul_FLAGS=		-DDEFAULT_EMULATION=\"${NATIVE_EMULATION}\" \
11			-DTARGET=\"${TARGET_TUPLE}\"
12emul_FLAGS_FILES=	ldmain.c
13
14_x86_64_path=	${USRDATA_PREFIX}/lib:${USRDATA_PREFIX}/usr/lib
15_i386_path=	${USRDATA_PREFIX}/lib/i386:${USRDATA_PREFIX}/usr/lib/i386
16
17.for EMUL in ${NATIVE_EMULATION} ${X86_EMULATION} ${IAMCU_EMULATION} ${L1OM_EMULATION} ${K1OM_EMULATION}
18EMS+=			${EMUL}
19SRCS+=			e${EMUL}.c
20CLEANFILES+=		e${EMUL}.c
21. for ext in ${ELF_SCR_EXT}
22LDSCRIPTS_${EMUL}+=	${EMUL}.${ext}
23. endfor
24LDSCRIPTS+=		${LDSCRIPTS_${EMUL}}
25.endfor
26
27SRCS+=			ldelf.c ldelfgen.c
28
29# newer binutils now search standard directories first (before x86_64-pc-dragonfly/libs)
30# change it to /opt/dflycross/x86_64-pc-dragonfly/libs for crosscompile on other hosts
31
32e${NATIVE_EMULATION}.c ${LDSCRIPTS_${NATIVE_EMULATION}}: \
33    emulparams/${NATIVE_EMULATION}.sh emultempl/elf-x86.em \
34    scripttempl/elf.sc genscripts.sh stringify.sed
35	sh ${SRCDIR}/ld/genscripts.sh \
36		${SRCDIR:Q}/ld \
37		"" \
38		"" \
39		"/opt/dflycross" \
40		${HOST} \
41		${TARGET_TUPLE:Q} \
42		${TARGET_TUPLE:Q} \
43		"nodeps" \
44		${_x86_64_path:Q} \
45		${NATIVE_EMULATION:Q} \
46		"" \
47		no \
48		yes \
49		${NATIVE_EMULATION:Q} \
50		${TARGET_TUPLE:Q}
51
52e${X86_EMULATION}.c ${LDSCRIPTS_${X86_EMULATION}}: \
53    emulparams/${X86_EMULATION}.sh emultempl/elf-x86.em \
54    scripttempl/elf.sc genscripts.sh stringify.sed
55	sh ${SRCDIR}/ld/genscripts.sh \
56		${SRCDIR:Q}/ld \
57		"" \
58		"" \
59		"/opt/dflycross" \
60		${HOST} \
61		${TARGET_TUPLE:Q} \
62		${TARGET_TUPLE:Q} \
63		"nodeps" \
64		${_i386_path:Q} \
65		${X86_EMULATION:Q} \
66		"" \
67		no \
68		yes \
69		${X86_EMULATION:Q} \
70		${TARGET_TUPLE:Q}
71
72e${IAMCU_EMULATION}.c ${LDSCRIPTS_${IAMCU_EMULATION}}: \
73    emulparams/${IAMCU_EMULATION}.sh emultempl/elf-x86.em \
74    scripttempl/elf.sc genscripts.sh stringify.sed
75	sh ${SRCDIR}/ld/genscripts.sh \
76		${SRCDIR:Q}/ld \
77		"" \
78		"" \
79		"/opt/dflycross" \
80		${HOST} \
81		${TARGET_TUPLE:Q} \
82		${TARGET_TUPLE:Q} \
83		"nodeps" \
84		${_x86_64_path:Q} \
85		${IAMCU_EMULATION:Q} \
86		"" \
87		no \
88		yes \
89		${IAMCU_EMULATION:Q} \
90		${TARGET_TUPLE:Q}
91
92e${L1OM_EMULATION}.c ${LDSCRIPTS_${L1OM_EMULATION}}: \
93    emulparams/${L1OM_EMULATION}.sh emultempl/elf-x86.em \
94    scripttempl/elf.sc genscripts.sh stringify.sed
95	sh ${SRCDIR}/ld/genscripts.sh \
96		${SRCDIR:Q}/ld \
97		"" \
98		"" \
99		"/opt/dflycross" \
100		${HOST} \
101		${TARGET_TUPLE:Q} \
102		${TARGET_TUPLE:Q} \
103		"nodeps" \
104		${_x86_64_path:Q} \
105		${L1OM_EMULATION:Q} \
106		"" \
107		no \
108		yes \
109		${L1OM_EMULATION:Q} \
110		${TARGET_TUPLE:Q}
111
112e${K1OM_EMULATION}.c ${LDSCRIPTS_${K1OM_EMULATION}}: \
113    emulparams/${K1OM_EMULATION}.sh emultempl/elf-x86.em \
114    scripttempl/elf.sc genscripts.sh stringify.sed
115	sh ${SRCDIR}/ld/genscripts.sh \
116		${SRCDIR:Q}/ld \
117		"" \
118		"" \
119		"/opt/dflycross" \
120		${HOST} \
121		${TARGET_TUPLE:Q} \
122		${TARGET_TUPLE:Q} \
123		"nodeps" \
124		${_x86_64_path:Q} \
125		${K1OM_EMULATION:Q} \
126		"" \
127		no \
128		yes \
129		${K1OM_EMULATION:Q} \
130		${TARGET_TUPLE:Q}
131