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