binutils220: add our build infrastructure
[dragonfly.git] / gnu / usr.bin / binutils220 / ld / Makefile
1 ELF_SCR_EXT=    x xbn xc xd xdc xdw xn xr xs xsc xsw xu xw
2
3 .include "../Makefile.inc0"
4
5 .PATH: ${SRCDIR}/ld
6
7 PROG=   ld
8 LIBEXEC_BINUTILS= ${BINDIR}/..
9 SCRIPTDIR= ${LIBEXEC_BINUTILS}/ldscripts
10 SRCS+=  ldgram.y ldlex.l lexsup.c ldlang.c mri.c ldctor.c ldmain.c \
11         ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c
12
13 SRCS+=  ldemul-list.h
14
15 WARNS=  1
16 CFLAGS+= -DSCRIPTDIR=\"${TOOLS_PREFIX}${LIBEXEC_BINUTILS}\"
17 CFLAGS+= -I${SRCDIR}/ld -I${SRCDIR}/bfd -I${.OBJDIR}/../libbfd
18 CFLAGS+= -DBINDIR=\"${TOOLS_PREFIX}${LIBEXEC_BINUTILS}\"
19 CFLAGS+= -DTOOLBINDIR=\"${TOOLS_PREFIX}${LIBEXEC_BINUTILS}\"
20 NOSHARED?= yes
21
22 CLEANDIRS+=     ldscripts tmpdir
23 CLEANFILES+=    ldemul-list.h stringify.sed
24
25 EMXFR=
26 EMLST=
27 .for _e in ${EMS}
28 EMXFR+= extern ld_emulation_xfer_type ld_${_e}_emulation;
29 EMLST+= &ld_${_e}_emulation,
30 .endfor
31
32 ldemul-list.h:
33         echo "${EMXFR}" > ${.TARGET}
34         echo "#define EMULATION_LIST ${EMLST} 0" >> ${.TARGET}
35
36 stringify.sed:
37         ${LN} -sf ${SRCDIR}/ld/emultempl/astring.sed ${.TARGET}
38
39 afterinstall: install-ldscripts
40
41 install-ldscripts: ${LDSCRIPTS:S|^|ldscripts/|}
42         ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
43              ${.ALLSRC} ${DESTDIR}${SCRIPTDIR}
44
45 .include <bsd.prog.mk>