27c97d245bffdba1b239a69f87785fbeb25d1b9f
[dragonfly.git] / gnu / usr.bin / binutils215 / ld / Makefile
1 # $DragonFly: src/gnu/usr.bin/binutils215/ld/Attic/Makefile,v 1.3 2005/05/08 00:44:59 corecode Exp $
2
3 .include "../Makefile.inc0"
4
5 .PATH: ${SRCDIR}/ld
6
7 PROG=   ld
8 LIBEXEC_BINUTILS= /usr/libexec/binutils215
9 SCRIPTDIR= ${LIBEXEC_BINUTILS}/ldscripts
10 SRCS+=  ldcref.c ldctor.c ldemul.c ldemul-list.h ldexp.c ldfile.c \
11         ldgram.y ldlang.c ldlex.l ldmain.c ldmisc.c \
12         ldver.c ldwrite.c lexsup.c mri.c
13
14 CONTRIBDIR=     ${SRCDIR}/ld
15 CLEANFILES+=    emultempl/elf32.em genscripts.sh
16 CLEANDIRS+=     emultempl tmpdir
17
18 emultempl/elf32.em: ${CONTRIBDIR}/emultempl/elf32.em patches/elf32.em.patch
19         mkdir -p emultempl
20         patch -o ${.TARGET} -i ${.ALLSRC:M*.patch} ${CONTRIBDIR}/${.TARGET}
21
22 genscripts.sh: ${CONTRIBDIR}/genscripts.sh patches/genscripts.sh.patch
23         patch -o ${.TARGET} -i ${.ALLSRC:M*.patch} ${CONTRIBDIR}/${.TARGET}
24
25 depend: emultempl/elf32.em genscripts.sh
26
27 .if defined(BOOTSTRAPPING) && !exists(/usr/include/elf-hints.h)
28 SRCS+=  elf-hints.h
29 CLEANFILES+=    elf-hints.h
30
31 elf-hints.h:
32         ln -sf ${.CURDIR}/../../../../include/${.TARGET} .
33 .endif
34
35 WARNS=  1
36 CFLAGS+= -DSCRIPTDIR=\"${TOOLS_PREFIX}${LIBEXEC_BINUTILS}\"
37 CFLAGS+= -DBFD_VERSION_STRING=\"${VERSION}\"
38 CFLAGS+= -I${SRCDIR}/ld -I${SRCDIR}/bfd -I${.OBJDIR}/../libbfd
39 CFLAGS+= -DBINDIR=\"${TOOLS_PREFIX}${LIBEXEC_BINUTILS}\"
40 CFLAGS+= -DTOOLBINDIR=\"${TOOLS_PREFIX}${LIBEXEC_BINUTILS}\"
41 NOSHARED?= yes
42 DPADD=  ${RELTOP}/libbfd/libbfd.a
43 DPADD+= ${RELTOP}/libiberty/libiberty.a
44 LDADD=  ${DPADD}
45 CLEANDIRS+=     ldscripts
46 CLEANFILES+=    ldemul-list.h stringify.sed
47
48 # If set, BINUTILSDISTDIR is the path to a directory containing the full GNU
49 # binutils release. FreeBSD only distributes the bits that are required to
50 # build native architectures. BINUTILSDISTDIR is needed to build cross tools.
51 .if defined(BINUTILSDISTDIR) && exists(${BINUTILSDISTDIR})
52 .PATH: ${BINUTILSDISTDIR}/ld
53 CFLAGS+= -I${BINUTILSDISTDIR}/ld
54 .endif
55
56 EMXFR=
57 EMLST=
58 .for _e in ${EMS}
59 EMXFR+= extern ld_emulation_xfer_type ld_${_e}_emulation;
60 EMLST+= &ld_${_e}_emulation,
61 .endfor
62
63 ldemul-list.h:
64         echo "${EMXFR}" > ${.TARGET}
65         echo "#define EMULATION_LIST ${EMLST} 0" >> ${.TARGET}
66
67 stringify.sed:
68         ln -sf ${SRCDIR}/ld/emultempl/astring.sed ${.TARGET}
69
70 afterinstall:
71         ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
72             ${LDSCRIPTS:S|^|ldscripts/|} ${DESTDIR}${SCRIPTDIR}
73
74 .include <bsd.prog.mk>