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