* check for libgdb.a

* slightly better gdbver.exe generation
This commit is contained in:
peter 2001-04-10 21:05:21 +00:00
parent c0e2d4421c
commit 02af030262
2 changed files with 85 additions and 28 deletions

View File

@ -121,6 +121,8 @@ override PACKAGE_NAME=gdbint
override PACKAGE_VERSION=1.0.5
override TARGET_UNITS+=gdbint gdbcon
override TARGET_EXAMPLES+=testgdb symify
override COMPILER_OBJECTDIR+=libgdb/$(OS_TARGET)
override COMPILER_LIBRARYDIR+=libgdb/$(OS_TARGET)
ifndef ECHO
ECHO:=$(strip $(wildcard $(addsuffix /gecho$(EXEEXT),$(SEARCHPATH))))
ifeq ($(ECHO),)
@ -882,20 +884,44 @@ info: fpc_info
ifneq ($(wildcard fpcmake.loc),)
include fpcmake.loc
endif
.PHONY: localgdbverexe
localgdbverexe : ./getver$(EXEEXT)
./getver$(EXEEXT) : ./gdbver.pp
$(COMPILER) -o./getver$(EXEEXT) gdbver.pp
ifdef GDBVER
gdbint$(PPUEXT): gdbint.pp
$(ECHO) Using GDB $(GDBVER)
$(COMPILER) -d$(GDBVER) gdbint.pp
ifdef inUnix
CURRDIR=./
else
gdbint$(PPUEXT): localgdbverexe gdbver$(EXEEXT)
$(MAKE) gdbint$(PPUEXT) GDBVER=GDB_V$(strip $(shell ./gdbver$(EXEEXT) -n))
CURRDIR=
endif
GDBLIBDIR+=libgdb/$(OS_TARGET)
ifeq ($(OS_TARGET),go32v2)
ifneq ($(DJDIR),)
GDBLIBDIR+=$(DJDIR)/lib
endif
endif
override LIBGDB:=$(firstword $(wildcard $(addsuffix /libgdb.a,$(GDBLIBDIR))))
ifeq ($(LIBGDB),)
GDBFOUND=0
else
GDBFOUND=1
endif
ifeq ($(GDBFOUND),1)
$(CURRDIR)getver$(EXEEXT) : gdbver.pp
$(COMPILER) -o$(CURRDIR)getver$(EXEEXT) gdbver.pp
ifndef GOTGDBVER
gdbint$(PPUEXT): $(CURRDIR)gdbver$(EXEEXT)
$(MAKE) gdbint$(PPUEXT) GOTGDBVER=1
else
GDBVER:=GDB_V$(strip $(shell $(CURRDIR)gdbver$(EXEEXT) -n))
gdbint$(PPUEXT): gdbint.pp
@$(ECHO) Using GDB $(GDBVER)
$(COMPILER) -d$(GDBVER) gdbint.pp
$(DEL) gdbver$(EXEEXT) gdbver$(OEXT)
endif
else
GDBVER=GDB_V5
gdbint$(PPUEXT): gdbint.pp
@$(ECHO) Warning: libgdb.a not found !
@$(ECHO) Using GDB $(GDBVER)
$(COMPILER) -d$(GDBVER) gdbint.pp
endif
gdbcon$(PPUEXT): gdbcon.pp gdbint$(PPUEXT)
gdbver$(EXEEXT): gdbver.pp
ifeq ($(OS_TARGET),go32v2)
DBGCOM=dbgcom$(OEXT)
else

View File

@ -11,8 +11,8 @@ units=gdbint gdbcon
examples=testgdb symify
[compiler]
objdir=libgdb/$(OS_TARGET)
libdir=libgdb/$(OS_TARGET)
objectdir=libgdb/$(OS_TARGET)
librarydir=libgdb/$(OS_TARGET)
[require]
libc=y
@ -22,26 +22,57 @@ fpcdir=../..
[rules]
.PHONY: localgdbverexe
localgdbverexe : ./getver$(EXEEXT)
./getver$(EXEEXT) : ./gdbver.pp
$(COMPILER) -o./getver$(EXEEXT) gdbver.pp
ifdef GDBVER
gdbint$(PPUEXT): gdbint.pp
$(ECHO) Using GDB $(GDBVER)
$(COMPILER) -d$(GDBVER) gdbint.pp
# For unix be sure to use the locally created gdbver
ifdef inUnix
CURRDIR=./
else
gdbint$(PPUEXT): localgdbverexe gdbver$(EXEEXT)
$(MAKE) gdbint$(PPUEXT) GDBVER=GDB_V$(strip $(shell ./gdbver$(EXEEXT) -n))
CURRDIR=
endif
GDBLIBDIR+=libgdb/$(OS_TARGET)
ifeq ($(OS_TARGET),go32v2)
ifneq ($(DJDIR),)
GDBLIBDIR+=$(DJDIR)/lib
endif
endif
# Detect if libgdb.a is available
override LIBGDB:=$(firstword $(wildcard $(addsuffix /libgdb.a,$(GDBLIBDIR))))
ifeq ($(LIBGDB),)
GDBFOUND=0
else
GDBFOUND=1
endif
ifeq ($(GDBFOUND),1)
# libgdb.a found
$(CURRDIR)getver$(EXEEXT) : gdbver.pp
$(COMPILER) -o$(CURRDIR)getver$(EXEEXT) gdbver.pp
ifndef GOTGDBVER
# gdbver doesn't exists, build it first
gdbint$(PPUEXT): $(CURRDIR)gdbver$(EXEEXT)
$(MAKE) gdbint$(PPUEXT) GOTGDBVER=1
else
# gdbver exists
GDBVER:=GDB_V$(strip $(shell $(CURRDIR)gdbver$(EXEEXT) -n))
gdbint$(PPUEXT): gdbint.pp
@$(ECHO) Using GDB $(GDBVER)
$(COMPILER) -d$(GDBVER) gdbint.pp
$(DEL) gdbver$(EXEEXT) gdbver$(OEXT)
endif
else
# libgdb.a not found, default to libgdb v5
GDBVER=GDB_V5
gdbint$(PPUEXT): gdbint.pp
@$(ECHO) Warning: libgdb.a not found !
@$(ECHO) Using GDB $(GDBVER)
$(COMPILER) -d$(GDBVER) gdbint.pp
endif
gdbcon$(PPUEXT): gdbcon.pp gdbint$(PPUEXT)
gdbver$(EXEEXT): gdbver.pp
ifeq ($(OS_TARGET),go32v2)
DBGCOM=dbgcom$(OEXT)
else