diff --git a/packages/gdbint/libgdb/netbsd/Makefile b/packages/gdbint/libgdb/netbsd/Makefile new file mode 100644 index 0000000000..10c0265a17 --- /dev/null +++ b/packages/gdbint/libgdb/netbsd/Makefile @@ -0,0 +1,142 @@ +# +# $Id$ +# +# Makefile to create libgdb.a / libgdb.so +# + +ifeq ($(GDB_SRC),) +ifeq ($(OS),DJGPP) +GDB_SRC=$(DJDIR)/gnu/gdb-4.18 +else +ifeq ($(OS_TARGET),win32) +GDB_SRC=d:/cygwin/cygwin-b20/gnu/gdb-4.18 +else +GDB_SRC=/usr/src/gdb-4.18 +endif +endif +endif + +ifeq ($(GDB_OBJ),) +GDB_OBJ=$(GDB_SRC) +endif + +ifeq ($(OS)),DJGPP) +OS_CFLAGS=-DMAINTENANCE_CMDS=0 -DHAVE_CONFIG_H -O2 -DHAVE_LONG_DOUBLE=1 \ + -DPRINTF_HAS_LONG_DOUBLE=1 +OS_FLAGS= +MMALLOC_INC= +MMALLOC_CFLAGS=-DNO_MMALLOC -DNO_MMALLOC_CHECK +MMALLOC_LIB= +MMALLOC_LIB_DIR= +OS_FLAGS+=MMALLOC=$(MMALLOC) MMALLOC_CFLAGS="$(MMALLOC_CFLAGS)" +CHECKS=check_echo check_awk +EXCLUDE_REGEX= +else +OS_CFLAGS=-DMAINTENANCE_CMDS=1 -DHAVE_CONFIG_H -O2 -DNO_MMALLOC +#MMALLOC=../mmalloc/libmmalloc.a +#MMALLOC_INC=o_gdb/mmalloc s_gdb/mmalloc +#CHECKS= +#EXCLUDE_REGEX=| sed -e '/.*gnu-regex.*/d' +endif + +MMALLOC_LIB=$(subst ..,$(GDB_OBJ),$(MMALLOC)) +MMALLOC_LIB_DIR=$(subst /libmmalloc.a,,$(MMALLOC_LIB)) + +vpath %.a $(GDB_OBJ)/bfd $(GDB_OBJ)/intl $(GDB_OBJ)/libiberty $(GDB_OBJ)/opcodes $(GDB_OBJ)/readline $(MMALLOC_LIB_DIR) + +_INCS=o_gdb/gdb s_gdb/gdb s_gdb/include s_gdb/gdb/config \ + o_gdb/bfd s_gdb/bfd \ + o_gdb/opcodes s_gdb/opcodes \ + o_gdb/intl s_gdb/intl \ + o_gdb/readline s_gdb/readline \ + o_gdb/libiberty s_gdb/libiberty \ + $(MMALLOC_INC) + +INCS=$(subst s_gdb,$(GDB_SRC),$(subst o_gdb,$(GDB_OBJ),$(_INCS))) + +INC_PATH=$(addprefix -I,$(INCS)) + +all:: libgdb.a + +libgdb.c: Makefile + echo '#include ' > libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + echo '#include ' >> libgdb.c + +LIBGDB_FLAGS+=$(OS_FLAGS) +CFLAGS+=$(OS_CFLAGS) + +$(GDB_OBJ)/bfd/bfd.h: + $(MAKE) -C $(dir $@) $(notdir $@) + +ifneq ($(LIBGDB_H),) +libgdb.h: $(LIBGDB_H) + ln -sf $(LIBGDB_H) libgdb.h +else +libgdb.h: $(GDB_OBJ)/bfd/bfd.h libgdb.c + gcc -E -P $(INC_PATH) $(CFLAGS) $(MMALLOC_CFLAGS) libgdb.c \ + | sed -e '/^[ ]*$$/d' > libgdb.h + gcc -E -P -dM $(INC_PATH) $(CFLAGS) $(MMALLOC_CFLAGS) libgdb.c \ + | sed -e '/^[ ]*$$/d' >> libgdb.h +endif + +gdb.t: $(GDB_OBJ)/gdb/libgdb-files + printf "%s\n" $(shell cat $<) | sed -n -e 's,^.*\.o,$(dir $<)&,p' $(EXCLUDE_REGEX) > $@ + +%.t: %.a + ar t $< | sed -e 's,^.*\.o,$(dir $<)&,' > $@ + +libbfd.t: $(GDB_OBJ)/bfd/libbfd.a +libintl.t: $(GDB_OBJ)/intl/libintl.a +libiberty.t: $(GDB_OBJ)/libiberty/libiberty.a +libopcodes.t: $(GDB_OBJ)/opcodes/libopcodes.a +libreadline.t: $(GDB_OBJ)/readline/libreadline.a +libmmalloc.t: $(GDB_OBJ)/mmalloc/libmmalloc.a + +$(GDB_OBJ)/%.a: + $(MAKE) -C $(dir $@) CFLAGS="$(CFLAGS)" $(LIBGDB_FLAGS) + +$(GDB_OBJ)/gdb/libgdb-files: +# this is needed, because the file is part of the src distrib, but +# the object files not (at least in DJGPP) + rm -f $@ + $(MAKE) -C $(dir $@) $(notdir $@) CFLAGS="$(CFLAGS)" $(LIBGDB_FLAGS) + +T_FILES= libbfd.t libiberty.t libintl.t libopcodes.t libreadline.t $(notdir $(subst .a,.t,$(MMALLOC_LIB))) gdb.t + +list: $(T_FILES) + +libgdb.a: $(CHECKS) list + rm -f libgdb.a +# do not use any xmalloc.o, because it is defined in utils.o + ar rcs $@ $(shell cat $(T_FILES) | sed -e '/.*xmalloc.*/d') + rm -f $(T_FILES) + +libgdb.so: $(CHECKS) list + rm -f libgdb.so +# do not use any xmalloc.o, because it is defined in utils.o + ld -shared -o $@ $(shell cat $(T_FILES) | sed -e '/.*xmalloc.*/d') + rm -f $(T_FILES) + +lib.zip : libgdb.a + zip lib libgdb.a +