mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 21:33:17 +02:00
* Switched IDE to fpmake-building
git-svn-id: trunk@24745 -
This commit is contained in:
parent
978b5530ec
commit
b543f83f59
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -824,6 +824,7 @@ compiler/x86_64/x8664pro.inc svneol=native#text/plain
|
|||||||
compiler/x86_64/x8664tab.inc svneol=native#text/plain
|
compiler/x86_64/x8664tab.inc svneol=native#text/plain
|
||||||
ide/Makefile svneol=native#text/plain
|
ide/Makefile svneol=native#text/plain
|
||||||
ide/Makefile.fpc svneol=native#text/plain
|
ide/Makefile.fpc svneol=native#text/plain
|
||||||
|
ide/Makefile.fpc.fpcmake svneol=native#text/plain
|
||||||
ide/README.txt svneol=native#text/plain
|
ide/README.txt svneol=native#text/plain
|
||||||
ide/TODO.txt svneol=native#text/plain
|
ide/TODO.txt svneol=native#text/plain
|
||||||
ide/compiler/Makefile svneol=native#text/plain
|
ide/compiler/Makefile svneol=native#text/plain
|
||||||
|
2135
ide/Makefile
2135
ide/Makefile
File diff suppressed because it is too large
Load Diff
314
ide/Makefile.fpc
314
ide/Makefile.fpc
@ -1,248 +1,112 @@
|
|||||||
#
|
#
|
||||||
# $Id: Makefile.fpc,v 1.32 2005/05/05 12:59:59 peter Exp $
|
# Makefile.fpc for running fpmake
|
||||||
#
|
#
|
||||||
# Makefile.fpc for FP IDE
|
[require]
|
||||||
#
|
packages=rtl fpmkunit
|
||||||
|
|
||||||
[package]
|
|
||||||
name=ide
|
|
||||||
version=2.7.1
|
|
||||||
|
|
||||||
[target]
|
|
||||||
dirs=compiler
|
|
||||||
programs=fp
|
|
||||||
rst=fpstrings
|
|
||||||
|
|
||||||
[install]
|
[install]
|
||||||
datadir=$(INSTALL_BASEDIR)/ide
|
|
||||||
fpcpackage=y
|
fpcpackage=y
|
||||||
|
fpcsubdir=ide
|
||||||
[compiler]
|
|
||||||
options=-Sg
|
|
||||||
|
|
||||||
[require]
|
|
||||||
packages=fv gdbint regexpr chm fcl-base fcl-xml
|
|
||||||
packages_go32v2=graph
|
|
||||||
libc=y
|
|
||||||
|
|
||||||
[default]
|
[default]
|
||||||
fpcdir=..
|
fpcdir=..
|
||||||
|
|
||||||
[prerules]
|
[prerules]
|
||||||
#
|
# Translate INSTALL_UNITDIR to fpmake's --unitinstalldir parameter
|
||||||
# Automatic detection if libgdb.a is present
|
ifdef INSTALL_UNITDIR
|
||||||
#
|
FPMAKE_INSTALL_OPT+=--unitinstalldir=$(INSTALL_UNITDIR)
|
||||||
|
|
||||||
# set default value for PPC_TARGET
|
|
||||||
ifndef PPC_TARGET
|
|
||||||
PPC_TARGET=$(CPU_TARGET)
|
|
||||||
endif
|
endif
|
||||||
|
# Translate OS_TARGET and CPU_TARGET to fpmake's --os and --cpu parameters
|
||||||
|
ifdef OS_TARGET
|
||||||
|
FPC_TARGETOPT+=--os=$(OS_TARGET)
|
||||||
|
endif
|
||||||
|
ifdef CPU_TARGET
|
||||||
|
FPC_TARGETOPT+=--cpu=$(CPU_TARGET)
|
||||||
|
endif
|
||||||
|
FPMAKE_BIN_CLEAN=$(wildcard .$(PATHSEP)fpmake$(SRCEXEEXT))
|
||||||
|
LOCALFPMAKE=.$(PATHSEP)fpmake$(SRCEXEEXT)
|
||||||
# do not add -d$(CPU_TARGET)
|
# do not add -d$(CPU_TARGET)
|
||||||
override NOCPUDEF=1
|
override NOCPUDEF=1
|
||||||
# Use PPC_TARGET instead
|
|
||||||
override FPCOPT+= -d$(PPC_TARGET)
|
|
||||||
|
|
||||||
ifndef NOGDB
|
|
||||||
|
|
||||||
ifeq ($(FULL_TARGET),i386-win32)
|
|
||||||
needlinkparam=1
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
ifeq ($(FULL_TARGET),x86_64-win64)
|
|
||||||
needlinkparam=1
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(OS_TARGET),freebsd)
|
|
||||||
needusrlocallib=1
|
|
||||||
neednostdlib=1
|
|
||||||
endif
|
|
||||||
ifeq ($(OS_TARGET),openbsd)
|
|
||||||
needusrlocallib=1
|
|
||||||
endif
|
|
||||||
ifeq ($(OS_TARGET),netbsd)
|
|
||||||
neednostdlib=1
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef needlinkparam
|
|
||||||
override SPECIALLINK=-Xe -k--allow-multiple-definition
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef needusrlocallib
|
|
||||||
override SPECIALLINK+=-Fl/usr/local/lib
|
|
||||||
endif
|
|
||||||
ifdef neednostdlib
|
|
||||||
override SPECIALLINK+=-Xd
|
|
||||||
endif
|
|
||||||
# Try to find GDB library
|
|
||||||
# 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),)
|
|
||||||
# Default locations <target>/<cpu> (linux) or <target> (win32,go32v2) only
|
|
||||||
override GDBLIBDIR=$(wildcard $(FPCDIR)/libgdb/$(OS_TARGET)/$(CPU_TARGET))
|
|
||||||
ifeq ($(GDBLIBDIR),)
|
|
||||||
override GDBLIBDIR=$(FPCDIR)/libgdb/$(OS_TARGET)
|
|
||||||
endif
|
|
||||||
# Detect if libgdb.a is available
|
|
||||||
override LIBGDBFILE:=$(firstword $(wildcard $(addsuffix /libgdb.a,$(GDBLIBDIR))))
|
|
||||||
endif
|
|
||||||
|
|
||||||
# No custom libgdb.a found, try using system default library if available
|
|
||||||
ifeq ($(LIBGDBFILE),)
|
|
||||||
SYSLIBDIR=/lib /usr/lib /usr/local/lib
|
|
||||||
# Detect if libgdb.a is available
|
|
||||||
override LIBGDBFILE=$(firstword $(wildcard $(addsuffix /libgdb.a,$(SYSLIBDIR))))
|
|
||||||
ifneq (${LIBGDBFILE},)
|
|
||||||
$(warning Using system default libgdb file located in ${LIBGDBFILE})
|
|
||||||
GDBLIBDIR=$(dir ${LIBGDBFILE})
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Disable GDB when no libgdb.a found
|
|
||||||
ifeq ($(LIBGDBFILE),)
|
|
||||||
GDB=
|
|
||||||
else
|
|
||||||
GDB=1
|
|
||||||
# Detect if gdblib.inc is available
|
|
||||||
override LIBGDBINC:=$(firstword $(wildcard $(addsuffix /gdblib.inc,$(GDBLIBDIR))))
|
|
||||||
ifeq ($(LIBGDBINC),)
|
|
||||||
GDBLIBINCFOUND=0
|
|
||||||
GDBLIBINCCOND=
|
|
||||||
else
|
|
||||||
GDBLIBINCFOUND=1
|
|
||||||
GDBLIBINCCOND=-dUSE_GDBLIBINC -I$(GDBLIBDIR)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef GDB
|
|
||||||
# The gdbint is already included due the gdbint package dependency
|
|
||||||
override LIBDIR+=$(GDBLIBDIR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
# Disable
|
|
||||||
GDB=
|
|
||||||
|
|
||||||
endif #NOGDB
|
|
||||||
|
|
||||||
|
|
||||||
[rules]
|
[rules]
|
||||||
|
# Do not pass the Makefile's unit and binary target locations. fpmake uses it's own.
|
||||||
|
override FPCOPT:=$(filter-out -FU%,$(FPCOPT))
|
||||||
|
override FPCOPT:=$(filter-out -FE%,$(FPCOPT))
|
||||||
|
# Compose general fpmake-parameters
|
||||||
|
ifdef FPMAKEOPT
|
||||||
|
FPMAKE_OPT+=$(FPMAKEOPT)
|
||||||
|
endif
|
||||||
|
FPMAKE_OPT+=--localunitdir=..
|
||||||
|
FPMAKE_OPT+=--globalunitdir=../packages
|
||||||
|
FPMAKE_OPT+=$(FPC_TARGETOPT)
|
||||||
|
FPMAKE_OPT+=$(addprefix -o ,$(FPCOPT))
|
||||||
|
FPMAKE_OPT+=--compiler=$(FPC)
|
||||||
|
FPMAKE_OPT+=-bu
|
||||||
|
ifndef BUILDFULLNATIVE
|
||||||
|
FPMAKE_OPT+=-sp
|
||||||
|
endif
|
||||||
|
ifdef NOGDB
|
||||||
|
FPMAKE_OPT+=--NoGDB=1
|
||||||
|
endif
|
||||||
|
ifdef PPC_TARGET
|
||||||
|
FPMAKE_OPT+=--CompilerTarget=$(PPC_TARGET)
|
||||||
|
endif
|
||||||
.NOTPARALLEL:
|
.NOTPARALLEL:
|
||||||
|
|
||||||
.PHONY: compilerunits compilerclean \
|
fpmake: fpmake.pp
|
||||||
nogdb gdb all \
|
$(FPCFPMAKE) fpmake.pp $(FPMAKE_SKIP_CONFIG) $(addprefix -Fu,$(COMPILER_FPMAKE_UNITDIR)) $(FPCMAKEOPT) $(OPT)
|
||||||
clean_compiler clean testgdb postgdbinfo
|
all: fpmake
|
||||||
|
$(LOCALFPMAKE) compile $(FPMAKE_OPT)
|
||||||
clean: fpc_cleanall
|
smart: fpmake
|
||||||
|
$(LOCALFPMAKE) compile $(FPMAKE_OPT) -o -XX -o -CX
|
||||||
distclean: clean compilerclean
|
release: fpmake
|
||||||
|
$(LOCALFPMAKE) compile $(FPMAKE_OPT) -o -dRELEASE
|
||||||
#
|
debug: fpmake
|
||||||
# GDB detection
|
$(LOCALFPMAKE) compile $(FPMAKE_OPT) -o -dDEBUG
|
||||||
#
|
# If no fpmake exists and (dist)clean is called, do not try to build fpmake, it will
|
||||||
ifndef NOGDB
|
# most often fail because the dependencies are cleared.
|
||||||
|
# In case of a clean, simply do nothing
|
||||||
ifdef GDB
|
ifeq ($(FPMAKE_BIN_CLEAN),)
|
||||||
testgdb:
|
clean:
|
||||||
@$(ECHO) LibGDB found in $(LIBGDBFILE)
|
|
||||||
|
|
||||||
postgdbinfo:
|
|
||||||
@$(ECHO) LibGDB was found, IDE has Debugger support
|
|
||||||
|
|
||||||
else
|
else
|
||||||
override COMPILER+=-dNODEBUG
|
clean:
|
||||||
testgdb:
|
$(FPMAKE_BIN_CLEAN) clean $(FPMAKE_OPT)
|
||||||
@$(ECHO) LibGDB not found
|
|
||||||
@$(ECHO) LIBGDBFILE=$(LIBGDBFILE)
|
|
||||||
@$(ECHO) GDBLIBDIR=$(GDBLIBDIR)
|
|
||||||
@$(ECHO) $(wildcard $(addsuffix /libgdb.a,$(GDBLIBDIR)))
|
|
||||||
|
|
||||||
postgdbinfo:
|
|
||||||
@$(ECHO) LibGDB was not found, IDE has no Debugger support
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
CLEAN_TARGET_DIRS=$(subst /Makefile.fpc, ,$(wildcard */Makefile.fpc))
|
||||||
|
%_distclean:
|
||||||
|
$(MAKE) -C $* distclean
|
||||||
|
|
||||||
|
# In case of a distclean, perform an 'old'-style distclean. This to avoid problems
|
||||||
|
# when the package is compiled using fpcmake prior to running this clean using fpmake
|
||||||
|
ifeq ($(FPMAKE_BIN_CLEAN),)
|
||||||
|
distclean: fpc_cleanall $(addsuffix _distclean,$(CLEAN_TARGET_DIRS))
|
||||||
else
|
else
|
||||||
testgdb:
|
distclean:
|
||||||
@$(ECHO) Building without Debugger
|
ifdef inUnix
|
||||||
postgdbinfo:
|
{ $(FPMAKE_BIN_CLEAN) distclean $(FPMAKE_OPT); if [ $$? != "0" ]; then { echo Something wrong with fpmake exectable. Remove the executable and call make recursively to recover.; $(DEL) $(FPMAKE_BIN_CLEAN); $(MAKE) fpc_cleanall; }; fi; }
|
||||||
@$(ECHO) Debugger disabled, IDE has no Debugger support
|
else
|
||||||
override COMPILER+=-dNODEBUG
|
$(FPMAKE_BIN_CLEAN) distclean $(FPMAKE_OPT)
|
||||||
endif # NOGDB
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Compiler
|
|
||||||
#
|
|
||||||
|
|
||||||
compilerunits : compiler/$(FPCMADE)
|
|
||||||
compiler/$(FPCMADE):
|
|
||||||
$(MAKE) -C compiler all
|
|
||||||
|
|
||||||
compilerclean :
|
|
||||||
$(MAKE) -C compiler clean
|
|
||||||
|
|
||||||
#
|
|
||||||
# Build targets
|
|
||||||
#
|
|
||||||
# building happends in 2 steps, first the packages, compiler
|
|
||||||
# dirs are build. In the second step the IDE is build. This is
|
|
||||||
# required because it needs to detect which compiler version
|
|
||||||
# to use.
|
|
||||||
#
|
|
||||||
fp$(EXEEXT): $(wildcard *.pas) $(wildcard *.inc)
|
|
||||||
$(COMPILER) $(GDBLIBINCCOND) $(SPECIALLINK) fp.pas
|
|
||||||
|
|
||||||
buildfp:
|
|
||||||
$(MAKE) compilerunits
|
|
||||||
$(MAKE) testgdb
|
|
||||||
$(MAKE) fpc_all
|
|
||||||
$(MAKE) postgdbinfo
|
|
||||||
|
|
||||||
gdb:
|
|
||||||
# $(MAKE) -C ../packages/base/gdbint
|
|
||||||
$(MAKE) buildfp
|
|
||||||
|
|
||||||
nogdb:
|
|
||||||
$(MAKE) buildfp NOGDB=1
|
|
||||||
|
|
||||||
#
|
|
||||||
# Default targets
|
|
||||||
#
|
|
||||||
|
|
||||||
# By default we try to create the ide with full debugging support,
|
|
||||||
all: gdb
|
|
||||||
|
|
||||||
# This is necessary because we don't have all units separate in the
|
|
||||||
# units targets
|
|
||||||
clean: cleanall
|
|
||||||
|
|
||||||
#
|
|
||||||
# Installation
|
|
||||||
#
|
|
||||||
|
|
||||||
ifndef UNIXHier
|
|
||||||
override INSTALL_DATADIR=$(INSTALL_BINDIR)
|
|
||||||
endif
|
endif
|
||||||
|
-$(DEL) $(LOCALFPMAKE)
|
||||||
install: fpc_install
|
-$(DEL) fpmake.o
|
||||||
$(MKDIR) $(INSTALL_DATADIR)
|
-$(DEL) fpmake.dbg
|
||||||
$(MKDIR) $(INSTALL_DOCDIR)
|
|
||||||
$(INSTALL) fp.ans $(wildcard *.pt) $(wildcard *.tdf) $(INSTALL_DATADIR)
|
|
||||||
ifeq ($(OS_TARGET),win32)
|
|
||||||
$(INSTALL) fp32.ico $(INSTALL_DATADIR)
|
|
||||||
endif
|
endif
|
||||||
$(INSTALL) readme.ide $(INSTALL_DOCDIR)
|
cleanall: distclean
|
||||||
|
install: fpmake
|
||||||
|
ifdef UNIXHier
|
||||||
#
|
$(LOCALFPMAKE) install $(FPMAKE_OPT) --prefix=$(INSTALL_PREFIX) --baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSION) $(FPMAKE_INSTALL_OPT)
|
||||||
# Misc
|
else
|
||||||
#
|
$(LOCALFPMAKE) install $(FPMAKE_OPT) --prefix=$(INSTALL_BASEDIR) $(FPMAKE_INSTALL_OPT)
|
||||||
clean_compiler:
|
endif
|
||||||
$(MAKE) -C compiler clean
|
# distinstall also installs the example-sources
|
||||||
$(MAKE) -C ../compiler ppuclean
|
distinstall: fpmake
|
||||||
|
ifdef UNIXHier
|
||||||
|
$(LOCALFPMAKE) install $(FPMAKE_OPT) --prefix=$(INSTALL_PREFIX) --baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSION) $(FPMAKE_INSTALL_OPT) -ie
|
||||||
|
else
|
||||||
|
$(LOCALFPMAKE) install $(FPMAKE_OPT) --prefix=$(INSTALL_BASEDIR) $(FPMAKE_INSTALL_OPT) -ie
|
||||||
|
endif
|
||||||
|
zipinstall: fpmake
|
||||||
|
$(LOCALFPMAKE) zipinstall $(FPMAKE_OPT) --zipprefix=$(DIST_DESTDIR)/$(ZIPPREFIX)
|
||||||
|
zipdistinstall: fpmake
|
||||||
|
$(LOCALFPMAKE) zipinstall $(FPMAKE_OPT) --zipprefix=$(DIST_DESTDIR)/$(ZIPPREFIX) -ie
|
||||||
|
248
ide/Makefile.fpc.fpcmake
Normal file
248
ide/Makefile.fpc.fpcmake
Normal file
@ -0,0 +1,248 @@
|
|||||||
|
#
|
||||||
|
# $Id: Makefile.fpc,v 1.32 2005/05/05 12:59:59 peter Exp $
|
||||||
|
#
|
||||||
|
# Makefile.fpc for FP IDE
|
||||||
|
#
|
||||||
|
|
||||||
|
[package]
|
||||||
|
name=ide
|
||||||
|
version=2.7.1
|
||||||
|
|
||||||
|
[target]
|
||||||
|
dirs=compiler
|
||||||
|
programs=fp
|
||||||
|
rst=fpstrings
|
||||||
|
|
||||||
|
[install]
|
||||||
|
datadir=$(INSTALL_BASEDIR)/ide
|
||||||
|
fpcpackage=y
|
||||||
|
|
||||||
|
[compiler]
|
||||||
|
options=-Sg
|
||||||
|
|
||||||
|
[require]
|
||||||
|
packages=fv gdbint regexpr chm fcl-base fcl-xml
|
||||||
|
packages_go32v2=graph
|
||||||
|
libc=y
|
||||||
|
|
||||||
|
[default]
|
||||||
|
fpcdir=..
|
||||||
|
|
||||||
|
[prerules]
|
||||||
|
#
|
||||||
|
# Automatic detection if libgdb.a is present
|
||||||
|
#
|
||||||
|
|
||||||
|
# set default value for PPC_TARGET
|
||||||
|
ifndef PPC_TARGET
|
||||||
|
PPC_TARGET=$(CPU_TARGET)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# do not add -d$(CPU_TARGET)
|
||||||
|
override NOCPUDEF=1
|
||||||
|
# Use PPC_TARGET instead
|
||||||
|
override FPCOPT+= -d$(PPC_TARGET)
|
||||||
|
|
||||||
|
ifndef NOGDB
|
||||||
|
|
||||||
|
ifeq ($(FULL_TARGET),i386-win32)
|
||||||
|
needlinkparam=1
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
ifeq ($(FULL_TARGET),x86_64-win64)
|
||||||
|
needlinkparam=1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(OS_TARGET),freebsd)
|
||||||
|
needusrlocallib=1
|
||||||
|
neednostdlib=1
|
||||||
|
endif
|
||||||
|
ifeq ($(OS_TARGET),openbsd)
|
||||||
|
needusrlocallib=1
|
||||||
|
endif
|
||||||
|
ifeq ($(OS_TARGET),netbsd)
|
||||||
|
neednostdlib=1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef needlinkparam
|
||||||
|
override SPECIALLINK=-Xe -k--allow-multiple-definition
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef needusrlocallib
|
||||||
|
override SPECIALLINK+=-Fl/usr/local/lib
|
||||||
|
endif
|
||||||
|
ifdef neednostdlib
|
||||||
|
override SPECIALLINK+=-Xd
|
||||||
|
endif
|
||||||
|
# Try to find GDB library
|
||||||
|
# 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),)
|
||||||
|
# Default locations <target>/<cpu> (linux) or <target> (win32,go32v2) only
|
||||||
|
override GDBLIBDIR=$(wildcard $(FPCDIR)/libgdb/$(OS_TARGET)/$(CPU_TARGET))
|
||||||
|
ifeq ($(GDBLIBDIR),)
|
||||||
|
override GDBLIBDIR=$(FPCDIR)/libgdb/$(OS_TARGET)
|
||||||
|
endif
|
||||||
|
# Detect if libgdb.a is available
|
||||||
|
override LIBGDBFILE:=$(firstword $(wildcard $(addsuffix /libgdb.a,$(GDBLIBDIR))))
|
||||||
|
endif
|
||||||
|
|
||||||
|
# No custom libgdb.a found, try using system default library if available
|
||||||
|
ifeq ($(LIBGDBFILE),)
|
||||||
|
SYSLIBDIR=/lib /usr/lib /usr/local/lib
|
||||||
|
# Detect if libgdb.a is available
|
||||||
|
override LIBGDBFILE=$(firstword $(wildcard $(addsuffix /libgdb.a,$(SYSLIBDIR))))
|
||||||
|
ifneq (${LIBGDBFILE},)
|
||||||
|
$(warning Using system default libgdb file located in ${LIBGDBFILE})
|
||||||
|
GDBLIBDIR=$(dir ${LIBGDBFILE})
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Disable GDB when no libgdb.a found
|
||||||
|
ifeq ($(LIBGDBFILE),)
|
||||||
|
GDB=
|
||||||
|
else
|
||||||
|
GDB=1
|
||||||
|
# Detect if gdblib.inc is available
|
||||||
|
override LIBGDBINC:=$(firstword $(wildcard $(addsuffix /gdblib.inc,$(GDBLIBDIR))))
|
||||||
|
ifeq ($(LIBGDBINC),)
|
||||||
|
GDBLIBINCFOUND=0
|
||||||
|
GDBLIBINCCOND=
|
||||||
|
else
|
||||||
|
GDBLIBINCFOUND=1
|
||||||
|
GDBLIBINCCOND=-dUSE_GDBLIBINC -I$(GDBLIBDIR)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef GDB
|
||||||
|
# The gdbint is already included due the gdbint package dependency
|
||||||
|
override LIBDIR+=$(GDBLIBDIR)
|
||||||
|
endif
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
# Disable
|
||||||
|
GDB=
|
||||||
|
|
||||||
|
endif #NOGDB
|
||||||
|
|
||||||
|
|
||||||
|
[rules]
|
||||||
|
.NOTPARALLEL:
|
||||||
|
|
||||||
|
.PHONY: compilerunits compilerclean \
|
||||||
|
nogdb gdb all \
|
||||||
|
clean_compiler clean testgdb postgdbinfo
|
||||||
|
|
||||||
|
clean: fpc_cleanall
|
||||||
|
|
||||||
|
distclean: clean compilerclean
|
||||||
|
|
||||||
|
#
|
||||||
|
# GDB detection
|
||||||
|
#
|
||||||
|
ifndef NOGDB
|
||||||
|
|
||||||
|
ifdef GDB
|
||||||
|
testgdb:
|
||||||
|
@$(ECHO) LibGDB found in $(LIBGDBFILE)
|
||||||
|
|
||||||
|
postgdbinfo:
|
||||||
|
@$(ECHO) LibGDB was found, IDE has Debugger support
|
||||||
|
|
||||||
|
else
|
||||||
|
override COMPILER+=-dNODEBUG
|
||||||
|
testgdb:
|
||||||
|
@$(ECHO) LibGDB not found
|
||||||
|
@$(ECHO) LIBGDBFILE=$(LIBGDBFILE)
|
||||||
|
@$(ECHO) GDBLIBDIR=$(GDBLIBDIR)
|
||||||
|
@$(ECHO) $(wildcard $(addsuffix /libgdb.a,$(GDBLIBDIR)))
|
||||||
|
|
||||||
|
postgdbinfo:
|
||||||
|
@$(ECHO) LibGDB was not found, IDE has no Debugger support
|
||||||
|
endif
|
||||||
|
|
||||||
|
else
|
||||||
|
testgdb:
|
||||||
|
@$(ECHO) Building without Debugger
|
||||||
|
postgdbinfo:
|
||||||
|
@$(ECHO) Debugger disabled, IDE has no Debugger support
|
||||||
|
override COMPILER+=-dNODEBUG
|
||||||
|
endif # NOGDB
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Compiler
|
||||||
|
#
|
||||||
|
|
||||||
|
compilerunits : compiler/$(FPCMADE)
|
||||||
|
compiler/$(FPCMADE):
|
||||||
|
$(MAKE) -C compiler all
|
||||||
|
|
||||||
|
compilerclean :
|
||||||
|
$(MAKE) -C compiler clean
|
||||||
|
|
||||||
|
#
|
||||||
|
# Build targets
|
||||||
|
#
|
||||||
|
# building happends in 2 steps, first the packages, compiler
|
||||||
|
# dirs are build. In the second step the IDE is build. This is
|
||||||
|
# required because it needs to detect which compiler version
|
||||||
|
# to use.
|
||||||
|
#
|
||||||
|
fp$(EXEEXT): $(wildcard *.pas) $(wildcard *.inc)
|
||||||
|
$(COMPILER) $(GDBLIBINCCOND) $(SPECIALLINK) fp.pas
|
||||||
|
|
||||||
|
buildfp:
|
||||||
|
$(MAKE) compilerunits
|
||||||
|
$(MAKE) testgdb
|
||||||
|
$(MAKE) fpc_all
|
||||||
|
$(MAKE) postgdbinfo
|
||||||
|
|
||||||
|
gdb:
|
||||||
|
# $(MAKE) -C ../packages/base/gdbint
|
||||||
|
$(MAKE) buildfp
|
||||||
|
|
||||||
|
nogdb:
|
||||||
|
$(MAKE) buildfp NOGDB=1
|
||||||
|
|
||||||
|
#
|
||||||
|
# Default targets
|
||||||
|
#
|
||||||
|
|
||||||
|
# By default we try to create the ide with full debugging support,
|
||||||
|
all: gdb
|
||||||
|
|
||||||
|
# This is necessary because we don't have all units separate in the
|
||||||
|
# units targets
|
||||||
|
clean: cleanall
|
||||||
|
|
||||||
|
#
|
||||||
|
# Installation
|
||||||
|
#
|
||||||
|
|
||||||
|
ifndef UNIXHier
|
||||||
|
override INSTALL_DATADIR=$(INSTALL_BINDIR)
|
||||||
|
endif
|
||||||
|
|
||||||
|
install: fpc_install
|
||||||
|
$(MKDIR) $(INSTALL_DATADIR)
|
||||||
|
$(MKDIR) $(INSTALL_DOCDIR)
|
||||||
|
$(INSTALL) fp.ans $(wildcard *.pt) $(wildcard *.tdf) $(INSTALL_DATADIR)
|
||||||
|
ifeq ($(OS_TARGET),win32)
|
||||||
|
$(INSTALL) fp32.ico $(INSTALL_DATADIR)
|
||||||
|
endif
|
||||||
|
$(INSTALL) readme.ide $(INSTALL_DOCDIR)
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Misc
|
||||||
|
#
|
||||||
|
clean_compiler:
|
||||||
|
$(MAKE) -C compiler clean
|
||||||
|
$(MAKE) -C ../compiler ppuclean
|
Loading…
Reference in New Issue
Block a user