privatize libncurses (touches many, many programs)
[dragonfly.git] / gnu / usr.bin / gdb / libgdb / Makefile
blobe81ea0082060080767777a31e3aa4eb1e277f603
1 .include "../Makefile.inc"
3 TARGET_ARCH?= ${MACHINE_ARCH}
5 LIB= gdb
6 INTERNALLIB= yes
8 CONTRIBDIR= ${BASEDIR}/gdb
9 .PATH: ${CONTRIBDIR} ${CONTRIBDIR}/cli ${CONTRIBDIR}/mi
10 .PATH: ${CONTRIBDIR}/common ${CONTRIBDIR}/python ${CONTRIBDIR}/features
11 .PATH: ${CONTRIBDIR}/tui
13 VERSION!= cat ${CONTRIBDIR}/version.in
15 CFLAGS+= -I${.OBJDIR} -I${.CURDIR} -I${.CURDIR}/..
16 CFLAGS+= -I${BASEDIR}/include -I${BASEDIR}/bfd
17 CFLAGS+= -I${CONTRIBDIR} -I${CONTRIBDIR}/common
18 CFLAGS+= -I${BASEDIR}/libdecnumber
19 CFLAGS+= -I${.CURDIR}/../libbfd -I${.OBJDIR}/../libbfd
20 CFLAGS+= -I${BASEDIR}
21 CFLAGS+= -DMACHINE_ARCH='"${MACHINE_ARCH}"'
22 CFLAGS+= -DTARGET_ARCH='"${TARGET_ARCH}"'
23 CFLAGS+= -DVERSION_STRING='"${VERSION}"'
24 CFLAGS+= -DTUI # enable "gdb -tui" (TUI MODE)
26 SRCS+= observer.h gdb_stdint.h
28 # The order of these sources is important,
29 # because init.c below needs to obey a certain ordering
30 # of function calls.
32 # COMMON_OBS
33 SRCS+= \
34 version.c \
35 annotate.c \
36 addrmap.c \
37 auto-load.c auxv.c \
38 agent.c \
39 bfd-target.c \
40 blockframe.c breakpoint.c break-catch-sig.c \
41 findvar.c regcache.c cleanups.c \
42 charset.c continuations.c corelow.c disasm.c dummy-frame.c dfp.c \
43 source.c value.c eval.c valops.c valarith.c valprint.c printcmd.c \
44 block.c symtab.c psymtab.c symfile.c symmisc.c linespec.c dictionary.c \
45 infcall.c \
46 infcmd.c infrun.c \
47 expprint.c environ.c stack.c thread.c \
48 exceptions.c \
49 filesystem.c \
50 inf-child.c \
51 interps.c \
52 minidebug.c \
53 main.c \
54 macrotab.c macrocmd.c macroexp.c macroscope.c \
55 mi-common.c \
56 event-loop.c event-top.c inf-loop.c completer.c \
57 gdbarch.c arch-utils.c gdbtypes.c gdb_bfd.c gdb_obstack.c \
58 osabi.c copying.c \
59 memattr.c mem-break.c target.c parse.c language.c buildsym.c \
60 findcmd.c \
61 std-regs.c \
62 signals.c \
63 exec.c reverse.c \
64 bcache.c objfiles.c observer.c minsyms.c maint.c demangle.c \
65 dbxread.c coffread.c coff-pe-read.c \
66 dwarf2read.c mipsread.c stabsread.c corefile.c \
67 dwarf2expr.c dwarf2loc.c dwarf2-frame.c dwarf2-frame-tailcall.c \
68 ada-lang.c c-lang.c d-lang.c f-lang.c objc-lang.c \
69 ada-tasks.c ada-varobj.c \
70 ui-out.c cli-out.c \
71 varobj.c vec.c \
72 go-lang.c go-valprint.c go-typeprint.c \
73 jv-lang.c jv-valprint.c jv-typeprint.c \
74 m2-lang.c opencl-lang.c p-lang.c p-typeprint.c p-valprint.c \
75 sentinel-frame.c \
76 complaints.c typeprint.c \
77 ada-typeprint.c c-typeprint.c f-typeprint.c m2-typeprint.c \
78 ada-valprint.c c-valprint.c cp-valprint.c d-valprint.c f-valprint.c \
79 m2-valprint.c \
80 serial.c mdebugread.c top.c utils.c \
81 ui-file.c \
82 user-regs.c \
83 frame.c frame-unwind.c doublest.c \
84 frame-base.c \
85 inline-frame.c \
86 gnu-v2-abi.c gnu-v3-abi.c cp-abi.c cp-support.c \
87 cp-namespace.c \
88 reggroups.c regset.c \
89 trad-frame.c \
90 tramp-frame.c \
91 solib.c solib-target.c \
92 prologue-value.c memory-map.c memrange.c \
93 xml-support.c xml-syscall.c xml-utils.c \
94 target-descriptions.c target-memory.c xml-tdesc.c xml-builtin.c \
95 inferior.c osdata.c gdb_usleep.c record.c record-full.c gcore.c \
96 gdb_vecs.c jit.c progspace.c skip.c probe.c \
97 common-utils.c buffer.c ptid.c gdb-dlfcn.c common-agent.c \
98 format.c registry.c btrace.c record-btrace.c
100 # TSOBS
101 SRCS+= inflow.c
103 # SER_HARDWIRE
104 SRCS+= ser-base.c ser-unix.c ser-pipe.c ser-tcp.c
106 # REMOTE_OBS
107 SRCS+= remote.c dcache.c tracepoint.c ax-general.c ax-gdb.c \
108 remote-fileio.c remote-notif.c
110 # SUBDIR_CLI_OBS
111 SRCS+= cli-dump.c \
112 cli-decode.c cli-script.c cli-cmds.c cli-setshow.c \
113 cli-logging.c \
114 cli-interp.c cli-utils.c
116 # SUBDIR_MI_OBS
117 SRCS+= mi-out.c mi-console.c \
118 mi-cmds.c mi-cmd-catch.c mi-cmd-env.c \
119 mi-cmd-var.c mi-cmd-break.c mi-cmd-stack.c \
120 mi-cmd-file.c mi-cmd-disas.c mi-symbol-cmds.c \
121 mi-cmd-target.c mi-cmd-info.c mi-interp.c \
122 mi-main.c mi-parse.c mi-getopt.c
124 # PYTHON OBJS
125 SRCS+= python.c \
126 py-auto-load.c \
127 py-value.c \
128 py-prettyprint.c
130 # CONFIG_OBS
131 SRCS+= elfread.c posix-hdep.c stap-probe.c
133 # SUBDIR_TUI_OBS
134 SRCS+= tui-command.c \
135 tui-data.c \
136 tui-disasm.c \
137 tui-file.c \
138 tui-hooks.c \
139 tui-interp.c \
140 tui-io.c \
141 tui-layout.c \
142 tui-out.c \
143 tui-regs.c \
144 tui-source.c \
145 tui-stack.c \
146 tui-win.c \
147 tui-windata.c \
148 tui-wingeneral.c \
149 tui-winsource.c \
150 tui.c
152 # YYOBJ
153 SRCS+= c-exp.y \
154 cp-name-parser.y \
155 ada-exp.y \
156 jv-exp.y \
157 f-exp.y \
158 go-exp.y \
159 m2-exp.y \
160 p-exp.y
162 SRCS+= init.c
164 XMLFILES= \
165 gdb-target.dtd \
166 xinclude.dtd \
167 library-list.dtd \
168 library-list-svr4.dtd \
169 osdata.dtd \
170 threads.dtd \
171 traceframe-info.dtd \
172 btrace.dtd
174 DPADD= ${LIBKVM} ${LIBTERMCAP} ${LIBM}
175 DPADD+= ../libbfd/libbfd.a ../libopcodes/libopcodes.a ../libiberty/libiberty.a
176 LDADD= -lprivate_termcap -lm
177 LDADD+= -L../libbfd -lbfd -L../libopcodes -lopcodes -L../libiberty -liberty
178 LDFLAGS+= -rpath /lib/priv -L ${_SHLIBDIRPREFIX}/usr/lib/priv
180 .include "Makefile.${TARGET_ARCH}"
182 init.c: ${SRCS:Ninit.c} Makefile
183 echo '/* Do not modify this file. */' > ${.TARGET}
184 echo '/* It is created automatically by the Makefile. */' >> ${.TARGET}
185 echo '#include "defs.h" /* For initialize_file_ftype. */' >> ${.TARGET}
186 echo 'extern void initialize_all_files(void);' >> ${.TARGET}
187 sed -n -e 's/^_initialize_\([a-z_0-9A-Z]*\).*/extern initialize_file_ftype _initialize_\1;/p' ${.ALLSRC:M*.c} >> ${.TARGET}
188 echo 'void' >> ${.TARGET}
189 echo 'initialize_all_files (void)' >> ${.TARGET}
190 echo '{' >> ${.TARGET}
191 sed -n -e 's/^_initialize_\([a-z_0-9A-Z]*\).*/ _initialize_\1 ();/p' ${.ALLSRC:M*.c} >> ${.TARGET}
192 echo '}' >> ${.TARGET}
194 xml-builtin.c: feature_to_c.sh ${XMLFILES}
195 rm -f ${.TARGET}
196 sh ${CONTRIBDIR}/features/feature_to_c.sh ${.TARGET} ${.ALLSRC:M*.dtd}
198 common-agent.c: ${CONTRIBDIR}/common/agent.c
199 cp ${.ALLSRC} ${.TARGET}
201 # observer.inc can't be included in SRCS, it would duplicate the entry in OBJS
202 observer.h: observer.sh observer.inc doc/observer.texi
203 sh ${CONTRIBDIR}/observer.sh h ${CONTRIBDIR}/doc/observer.texi ${.TARGET}
205 observer.inc: observer.sh doc/observer.texi
206 sh ${CONTRIBDIR}/observer.sh inc ${CONTRIBDIR}/doc/observer.texi ${.TARGET}
208 gdb_stdint.h:
209 touch ${.TARGET}
211 CLEANFILES+= observer.h observer.inc gdb_stdint.h \
212 init.c xml-builtin.c common-agent.c
214 .include <bsd.lib.mk>