123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- #
- # Makefile.fpc for Free Pascal GDB Interface
- #
- [package]
- name=gdbint
- version=1.9.0
- [target]
- units=gdbint gdbcon
- examples=testgdb symify
- [compiler]
- objectdir=$(GDBLIBDIR)
- librarydir=$(GDBLIBDIR)
- [require]
- libc=y
- [install]
- fpcpackage=y
- [default]
- fpcdir=../../..
- [prerules]
- # For unix be sure to use the locally created gdbver
- ifdef inUnix
- CURRDIR=./
- else
- CURRDIR=
- endif
- # Look for a valid GDBLIBDIR environment variable
- ifdef GDBLIBDIR
- override LIBGDBFILE:=$(firstword $(wildcard $(addsuffix /libgdb.a,$(GDBLIBDIR))))
- endif
- # Use default dirs if not available
- ifeq ($(LIBGDBFILE),)
- override GDBLIBDIR=libgdb/$(OS_TARGET)
- ifeq ($(OS_TARGET),go32v2)
- ifneq ($(DJDIR),)
- GDBLIBDIR+=$(DJDIR)/lib
- endif
- endif
- # Detect if libgdb.a is available
- override LIBGDBFILE:=$(firstword $(wildcard $(addsuffix /libgdb.a,$(GDBLIBDIR))))
- endif
- # Set GDBFOUND variable
- ifeq ($(LIBGDBFILE),)
- GDBFOUND=0
- else
- GDBFOUND=1
- endif
- [rules]
- ifeq ($(OS_SOURCE)$(CPU_SOURCE),$(OS_TARGET)$(CPU_TARGET))
- 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) libgdb.a not found, using default GDB $(GDBVER)
- $(COMPILER) -d$(GDBVER) gdbint.pp
- endif
- else
- # Different OS_TARGET, default to libgdb v5
- GDBVER=GDB_V5
- gdbint$(PPUEXT): gdbint.pp
- @$(ECHO) Different target os or cpu, using default GDB $(GDBVER)
- $(COMPILER) -d$(GDBVER) gdbint.pp
- endif
- gdbcon$(PPUEXT): gdbcon.pp gdbint$(PPUEXT)
- ifeq ($(OS_TARGET),go32v2)
- DBGCOM=dbgcom$(OEXT)
- else
- DBGCOM=
- endif
- ifdef $(COMPILEDBGCOM)
- # FPC conditionnal remove the file watching mecanism introduced
- # in v2.02 of dbgcom.c because it relies
- # on the fact that all files are opened via C lib calls
- # which is wrong for FPC !!
- $(DBGCOM): ../v4.16/dbgcom.c
- gcc -c -DFPC -Dother_sel -gstabs -o dbgcom.o -I../v4.16 ../v4.16/dbgcom.c
- else
- $(DBGCOM):
- endif
- simple: $(DBGCOM)
- -rm gdbint.ppu
- ppc386 -dUSE_LIBGDB gdbint
- ppc386 testgdb
- testgdb$(EXEEXT): testgdb.pp gdbint$(PPUEXT) gdbcon$(PPUEXT) $(DBGCOM)
- # Allow test for example
- .PHONY: test
- test: examples
- clean: fpc_clean
- $(DEL) gdbver$(EXEEXT) gdbver$(OEXT)
|