nrelease - fix/improve livecd
[dragonfly.git] / gnu / usr.bin / gdb / libgdb / Makefile
1 .include "../Makefile.inc"
2
3 TARGET_ARCH?=   ${MACHINE_ARCH}
4
5 LIB=            gdb
6 INTERNALLIB=    yes
7
8 CONTRIBDIR=     ${BASEDIR}/gdb
9 .PATH:  ${CONTRIBDIR} ${CONTRIBDIR}/cli ${CONTRIBDIR}/mi
10 .PATH:  ${CONTRIBDIR}/common ${CONTRIBDIR}/python ${CONTRIBDIR}/features
11 .PATH:  ${CONTRIBDIR}/tui
12
13 VERSION!= cat ${CONTRIBDIR}/version.in
14
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)
25
26 SRCS+=  observer.h gdb_stdint.h
27
28 # The order of these sources is important,
29 # because init.c below needs to obey a certain ordering
30 # of function calls.
31
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
99
100 # TSOBS
101 SRCS+=  inflow.c
102
103 # SER_HARDWIRE
104 SRCS+=  ser-base.c ser-unix.c ser-pipe.c ser-tcp.c
105
106 # REMOTE_OBS
107 SRCS+=  remote.c dcache.c tracepoint.c ax-general.c ax-gdb.c \
108         remote-fileio.c remote-notif.c
109
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
115
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
123
124 # PYTHON OBJS
125 SRCS+=  python.c \
126         py-auto-load.c \
127         py-value.c \
128         py-prettyprint.c 
129
130 # CONFIG_OBS
131 SRCS+=  elfread.c posix-hdep.c stap-probe.c
132
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
151
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
161
162 SRCS+=  init.c
163
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
173
174 DPADD=  ${LIBKVM} ${LIBNCURSES} ${LIBM}
175 DPADD+= ../libbfd/libbfd.a ../libopcodes/libopcodes.a ../libiberty/libiberty.a
176 LDADD=  -lprivate_ncurses -lm
177 LDADD+= -L../libbfd -lbfd -L../libopcodes -lopcodes -L../libiberty -liberty
178
179 CFLAGS+=        -I${_SHLIBDIRPREFIX}/usr/include/priv/ncurses
180 LDFLAGS+=       ${PRIVATELIB_LDFLAGS}
181
182 .include "Makefile.${TARGET_ARCH}"
183
184 init.c: ${SRCS:Ninit.c} Makefile
185         echo '/* Do not modify this file.  */' > ${.TARGET}
186         echo '/* It is created automatically by the Makefile.  */' >> ${.TARGET}
187         echo '#include "defs.h"      /* For initialize_file_ftype.  */' >> ${.TARGET}
188         echo 'extern void initialize_all_files(void);' >> ${.TARGET}
189         sed -n -e 's/^_initialize_\([a-z_0-9A-Z]*\).*/extern initialize_file_ftype _initialize_\1;/p' ${.ALLSRC:M*.c} >> ${.TARGET}
190         echo 'void' >> ${.TARGET}
191         echo 'initialize_all_files (void)' >> ${.TARGET}
192         echo '{' >> ${.TARGET}
193         sed -n -e 's/^_initialize_\([a-z_0-9A-Z]*\).*/  _initialize_\1 ();/p' ${.ALLSRC:M*.c} >> ${.TARGET}
194         echo '}' >> ${.TARGET}
195
196 xml-builtin.c: feature_to_c.sh ${XMLFILES}
197         rm -f ${.TARGET}
198         sh ${CONTRIBDIR}/features/feature_to_c.sh ${.TARGET} ${.ALLSRC:M*.dtd}
199
200 common-agent.c: ${CONTRIBDIR}/common/agent.c
201         cp ${.ALLSRC} ${.TARGET}
202
203 # observer.inc can't be included in SRCS, it would duplicate the entry in OBJS
204 observer.h: observer.sh observer.inc doc/observer.texi
205         sh ${CONTRIBDIR}/observer.sh h ${CONTRIBDIR}/doc/observer.texi ${.TARGET}
206
207 observer.inc: observer.sh doc/observer.texi
208         sh ${CONTRIBDIR}/observer.sh inc ${CONTRIBDIR}/doc/observer.texi ${.TARGET}
209
210 gdb_stdint.h:
211         echo "#include <stdint.h>" > ${.TARGET}
212
213 CLEANFILES+=    observer.h observer.inc gdb_stdint.h \
214                 init.c xml-builtin.c common-agent.c
215
216 .include <bsd.lib.mk>