binutils225: Trim sources that create empty objects.
[dragonfly.git] / gnu / usr.bin / binutils225 / block1 / libbfd / Makefile
1 .include "../../Makefile.inc1"
2 .include "../Makefile.block1"
3
4 LIB=            bfd
5 INTERNALLIB=    true
6
7 CONTRIBDIR=     ${SRCDIR}/bfd
8 .PATH:          ${CONTRIBDIR}
9
10 CFLAGS+=        -I${SRCDIR}/include -I${CONTRIBDIR} -I${.CURDIR} -I${.OBJDIR}
11 CFLAGS+=        -DDEBUGDIR='"/usr/lib/debug"'  # no clue why this is needed
12 FLAGS_GROUPS=   target plugins
13
14 # BFD32_LIBS_CFILES 
15 SRCS=   archive.c archures.c bfd.c bfdio.c \
16         cache.c coffgen.c corefile.c \
17         format.c init.c libbfd.c opncls.c reloc.c \
18         section.c syms.c targets.c hash.c linker.c \
19         srec.c binary.c tekhex.c ihex.c stabs.c stab-syms.c \
20         merge.c dwarf2.c simple.c compress.c verilog.c
21
22 # only when USE_MMAP (--with-mmap)
23 #SRCS+= bfdwin.c
24
25 # from Makefile, BFD64_BACKENDS_CFILES  (x86-64 specific)
26 SRCS+=  elf64-x86-64.c elf-ifunc.c elf-nacl.c elf64.c elf.c elflink.c \
27         elf-attrs.c elf-strtab.c elf-eh-frame.c dwarf1.c elf32-i386.c \
28         elf-vxworks.c elf32.c elf64-gen.c elf32-gen.c pei-x86_64.c \
29         pex64igen.c cofflink.c
30
31 # ALL_MACHINES_CFILES
32 SRCS+=  cpu-i386.c cpu-l1om.c cpu-k1om.c
33
34 # BFD64_LIBS_CFILES
35 SRCS+=          archive64.c
36
37 VECTORS=        x86_64_elf64_vec \
38                 x86_64_pei_vec \
39                 i386_elf32_vec \
40                 l1om_elf64_vec \
41                 k1om_elf64_vec \
42                 elf64_le_vec \
43                 elf64_be_vec \
44                 elf32_le_vec \
45                 elf32_be_vec 
46
47 # plugin support mainly for LTO ar, nm, ranlib # XXX how dlopen() is behaving in -static case???
48 SRCS+=          plugin.c
49 VECTORS+=       plugin_vec
50 plugins_FLAGS+= -DBINDIR=\"${TOOLS_PREFIX}${BINDIR}\"
51 plugins_FLAGS+= -DRELPLUGINDIR=\"/../bfd-plugins\" # standard one uses lib/bfd-plugins
52 plugins_FLAGS_FILES=    plugin.c
53
54 DEFAULT_VECTOR= x86_64_elf64_vec
55 ARCHITECTURES=  bfd_i386_arch bfd_l1om_arch bfd_k1om_arch
56
57 _selvec=
58 .for _v in ${VECTORS}
59 target_FLAGS+= -DHAVE_${_v}
60 .if !empty(_selvec)
61 _selvec+= ,
62 .endif
63 _selvec+= &${_v}
64 .endfor
65 target_FLAGS+= -DSELECT_VECS='${_selvec}'
66 target_FLAGS+= -DSELECT_ARCHITECTURES='${ARCHITECTURES:S/^/\&/:S/$/,/} 0'
67 target_FLAGS+= -DDEFAULT_VECTOR=${DEFAULT_VECTOR}
68 target_FLAGS_FILES=     targets.c archures.c
69
70 ${SRCS}: bfd.h
71 targets.c: targmatch.h
72 elf32-gen.c elf32-i386.c elf64-x86-64.c: elf32-target.h
73 elf64-gen.c elf64-x86-64.c: elf64-target.h
74 cache.c elf32-i386.c elf64-x86-64.c: bfd_stdint.h
75
76 bfd_stdint.h:
77         touch ${.TARGET}
78
79 targmatch.h: config.bfd targmatch.sed
80         sed -f ${CONTRIBDIR}/targmatch.sed < ${CONTRIBDIR}/config.bfd \
81         > ${.TARGET}
82
83 elf32-target.h: elfxx-target.h
84         sed -e s/NN/32/g < ${CONTRIBDIR}/elfxx-target.h > ${.TARGET}
85 elf64-target.h: elfxx-target.h
86         sed -e s/NN/64/g < ${CONTRIBDIR}/elfxx-target.h > ${.TARGET}
87 pex64igen.c: peXXigen.c
88         sed -e s/XX/pex64/g < ${CONTRIBDIR}/peXXigen.c > ${.TARGET}
89
90 CLEANFILES=     bfd_stdint.h bfd.h elf64-target.h elf32-target.h targmatch.h \
91                 pex64igen.c
92
93 .include <bsd.lib.mk>