* Some fixes to let packages get compiled automatically

This commit is contained in:
marco 2001-12-11 21:32:30 +00:00
parent 1645709d34
commit 4697ef5406
10 changed files with 606 additions and 102 deletions

View File

@ -172,13 +172,13 @@ ifeq ($(OS_TARGET),os2)
override TARGET_DIRS+=uncgi paszlib unzip regexpr
endif
ifeq ($(OS_TARGET),freebsd)
override TARGET_DIRS+=zlib ncurses x11 gtk syslog inet uncgi mysql ibase postgres oracle opengl forms svgalib ggi libpng libgd utmp paszlib gdbint cmem regexpr unzip
override TARGET_DIRS+=zlib ncurses x11 gtk syslog inet uncgi mysql ibase postgres oracle opengl forms svgalib ggi libpng libgd utmp paszlib gdbint cmem regexpr unzip asyncio bfd gdbm
endif
ifeq ($(OS_TARGET),beos)
override TARGET_DIRS+=paszlib regexpr
endif
ifeq ($(OS_TARGET),netbsd)
override TARGET_DIRS+=zlib ncurses x11 gtk syslog inet uncgi mysql ibase postgres oracle opengl forms svgalib ggi libpng libgd utmp paszlib gdbint cmem regexpr unzip
override TARGET_DIRS+=zlib ncurses x11 gtk syslog inet uncgi mysql ibase postgres oracle opengl forms svgalib ggi libpng libgd utmp paszlib gdbint cmem regexpr unzip asyncio bfd gdbm
endif
override INSTALL_FPCPACKAGE=y
ifdef REQUIRE_UNITSDIR
@ -998,6 +998,9 @@ TARGET_DIRS_GDBINT=1
TARGET_DIRS_CMEM=1
TARGET_DIRS_REGEXPR=1
TARGET_DIRS_UNZIP=1
TARGET_DIRS_ASYNCIO=1
TARGET_DIRS_BFD=1
TARGET_DIRS_GDBM=1
endif
ifeq ($(OS_TARGET),beos)
TARGET_DIRS_PASZLIB=1
@ -1027,6 +1030,9 @@ TARGET_DIRS_GDBINT=1
TARGET_DIRS_CMEM=1
TARGET_DIRS_REGEXPR=1
TARGET_DIRS_UNZIP=1
TARGET_DIRS_ASYNCIO=1
TARGET_DIRS_BFD=1
TARGET_DIRS_GDBM=1
endif
ifdef TARGET_DIRS_ZLIB
zlib_all:
@ -1964,6 +1970,123 @@ mmsystem:
$(MAKE) -C mmsystem all
.PHONY: mmsystem_all mmsystem_debug mmsystem_smart mmsystem_examples mmsystem_shared mmsystem_install mmsystem_sourceinstall mmsystem_exampleinstall mmsystem_distinstall mmsystem_zipinstall mmsystem_zipsourceinstall mmsystem_zipexampleinstall mmsystem_zipdistinstall mmsystem_clean mmsystem_distclean mmsystem_cleanall mmsystem_info mmsystem
endif
ifdef TARGET_DIRS_ASYNCIO
asyncio_all:
$(MAKE) -C asyncio all
asyncio_debug:
$(MAKE) -C asyncio debug
asyncio_smart:
$(MAKE) -C asyncio smart
asyncio_examples:
$(MAKE) -C asyncio examples
asyncio_shared:
$(MAKE) -C asyncio shared
asyncio_install:
$(MAKE) -C asyncio install
asyncio_sourceinstall:
$(MAKE) -C asyncio sourceinstall
asyncio_exampleinstall:
$(MAKE) -C asyncio exampleinstall
asyncio_distinstall:
$(MAKE) -C asyncio distinstall
asyncio_zipinstall:
$(MAKE) -C asyncio zipinstall
asyncio_zipsourceinstall:
$(MAKE) -C asyncio zipsourceinstall
asyncio_zipexampleinstall:
$(MAKE) -C asyncio zipexampleinstall
asyncio_zipdistinstall:
$(MAKE) -C asyncio zipdistinstall
asyncio_clean:
$(MAKE) -C asyncio clean
asyncio_distclean:
$(MAKE) -C asyncio distclean
asyncio_cleanall:
$(MAKE) -C asyncio cleanall
asyncio_info:
$(MAKE) -C asyncio info
asyncio:
$(MAKE) -C asyncio all
.PHONY: asyncio_all asyncio_debug asyncio_smart asyncio_examples asyncio_shared asyncio_install asyncio_sourceinstall asyncio_exampleinstall asyncio_distinstall asyncio_zipinstall asyncio_zipsourceinstall asyncio_zipexampleinstall asyncio_zipdistinstall asyncio_clean asyncio_distclean asyncio_cleanall asyncio_info asyncio
endif
ifdef TARGET_DIRS_BFD
bfd_all:
$(MAKE) -C bfd all
bfd_debug:
$(MAKE) -C bfd debug
bfd_smart:
$(MAKE) -C bfd smart
bfd_examples:
$(MAKE) -C bfd examples
bfd_shared:
$(MAKE) -C bfd shared
bfd_install:
$(MAKE) -C bfd install
bfd_sourceinstall:
$(MAKE) -C bfd sourceinstall
bfd_exampleinstall:
$(MAKE) -C bfd exampleinstall
bfd_distinstall:
$(MAKE) -C bfd distinstall
bfd_zipinstall:
$(MAKE) -C bfd zipinstall
bfd_zipsourceinstall:
$(MAKE) -C bfd zipsourceinstall
bfd_zipexampleinstall:
$(MAKE) -C bfd zipexampleinstall
bfd_zipdistinstall:
$(MAKE) -C bfd zipdistinstall
bfd_clean:
$(MAKE) -C bfd clean
bfd_distclean:
$(MAKE) -C bfd distclean
bfd_cleanall:
$(MAKE) -C bfd cleanall
bfd_info:
$(MAKE) -C bfd info
bfd:
$(MAKE) -C bfd all
.PHONY: bfd_all bfd_debug bfd_smart bfd_examples bfd_shared bfd_install bfd_sourceinstall bfd_exampleinstall bfd_distinstall bfd_zipinstall bfd_zipsourceinstall bfd_zipexampleinstall bfd_zipdistinstall bfd_clean bfd_distclean bfd_cleanall bfd_info bfd
endif
ifdef TARGET_DIRS_GDBM
gdbm_all:
$(MAKE) -C gdbm all
gdbm_debug:
$(MAKE) -C gdbm debug
gdbm_smart:
$(MAKE) -C gdbm smart
gdbm_examples:
$(MAKE) -C gdbm examples
gdbm_shared:
$(MAKE) -C gdbm shared
gdbm_install:
$(MAKE) -C gdbm install
gdbm_sourceinstall:
$(MAKE) -C gdbm sourceinstall
gdbm_exampleinstall:
$(MAKE) -C gdbm exampleinstall
gdbm_distinstall:
$(MAKE) -C gdbm distinstall
gdbm_zipinstall:
$(MAKE) -C gdbm zipinstall
gdbm_zipsourceinstall:
$(MAKE) -C gdbm zipsourceinstall
gdbm_zipexampleinstall:
$(MAKE) -C gdbm zipexampleinstall
gdbm_zipdistinstall:
$(MAKE) -C gdbm zipdistinstall
gdbm_clean:
$(MAKE) -C gdbm clean
gdbm_distclean:
$(MAKE) -C gdbm distclean
gdbm_cleanall:
$(MAKE) -C gdbm cleanall
gdbm_info:
$(MAKE) -C gdbm info
gdbm:
$(MAKE) -C gdbm all
.PHONY: gdbm_all gdbm_debug gdbm_smart gdbm_examples gdbm_shared gdbm_install gdbm_sourceinstall gdbm_exampleinstall gdbm_distinstall gdbm_zipinstall gdbm_zipsourceinstall gdbm_zipexampleinstall gdbm_zipdistinstall gdbm_clean gdbm_distclean gdbm_cleanall gdbm_info gdbm
endif
all: $(addsuffix _all,$(TARGET_DIRS))
debug: $(addsuffix _debug,$(TARGET_DIRS))
smart: $(addsuffix _smart,$(TARGET_DIRS))

View File

@ -14,14 +14,14 @@ dirs_netbsd=zlib ncurses x11 gtk syslog \
inet uncgi \
mysql ibase postgres oracle \
opengl forms svgalib ggi libpng libgd \
utmp paszlib gdbint cmem regexpr unzip
utmp paszlib gdbint cmem regexpr unzip asyncio bfd gdbm
dirs_beos=paszlib regexpr
dirs_os2=uncgi paszlib unzip regexpr
dirs_freebsd=zlib ncurses x11 gtk syslog \
inet uncgi \
mysql ibase postgres oracle \
opengl forms svgalib ggi libpng libgd \
utmp paszlib gdbint cmem regexpr unzip
utmp paszlib gdbint cmem regexpr unzip asyncio bfd gdbm
[install]
fpcpackage=y

View File

@ -157,12 +157,6 @@ endif
ifeq ($(OS_TARGET),freebsd)
override TARGET_DIRS+=libasync fpasync
endif
ifeq ($(OS_TARGET),linux)
override TARGET_EXAMPLEDIRS+=tests
endif
ifeq ($(OS_TARGET),freebsd)
override TARGET_EXAMPLEDIRS+=tests
endif
ifdef REQUIRE_UNITSDIR
override UNITSDIR+=$(REQUIRE_UNITSDIR)
endif
@ -778,21 +772,6 @@ ifdef TARGET_RSTS
override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
override CLEANRSTFILES+=$(RSTFILES)
endif
.PHONY: fpc_examples
ifdef TARGET_EXAMPLES
HASEXAMPLES=1
override EXAMPLESOURCEFILES:=$(wildcard $(addsuffix .pp,$(TARGET_EXAMPLES)) $(addsuffix .pas,$(TARGET_EXAMPLES)))
override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(TARGET_EXAMPLES))
override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(TARGET_EXAMPLES)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES)))
override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
ifeq ($(OS_TARGET),os2)
override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES))
endif
endif
ifdef TARGET_EXAMPLEDIRS
HASEXAMPLES=1
endif
fpc_examples: all $(EXAMPLEFILES) $(addsuffix _all,$(TARGET_EXAMPLEDIRS))
.PHONY: fpc_clean fpc_cleanall fpc_distclean
ifdef EXEFILES
override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
@ -1006,55 +985,10 @@ fpasync:
$(MAKE) -C fpasync all
.PHONY: fpasync_all fpasync_debug fpasync_smart fpasync_examples fpasync_shared fpasync_install fpasync_sourceinstall fpasync_exampleinstall fpasync_distinstall fpasync_zipinstall fpasync_zipsourceinstall fpasync_zipexampleinstall fpasync_zipdistinstall fpasync_clean fpasync_distclean fpasync_cleanall fpasync_info fpasync
endif
ifeq ($(OS_TARGET),linux)
TARGET_EXAMPLEDIRS_TESTS=1
endif
ifeq ($(OS_TARGET),freebsd)
TARGET_EXAMPLEDIRS_TESTS=1
endif
ifdef TARGET_EXAMPLEDIRS_TESTS
tests_all:
$(MAKE) -C tests all
tests_debug:
$(MAKE) -C tests debug
tests_smart:
$(MAKE) -C tests smart
tests_examples:
$(MAKE) -C tests examples
tests_shared:
$(MAKE) -C tests shared
tests_install:
$(MAKE) -C tests install
tests_sourceinstall:
$(MAKE) -C tests sourceinstall
tests_exampleinstall:
$(MAKE) -C tests exampleinstall
tests_distinstall:
$(MAKE) -C tests distinstall
tests_zipinstall:
$(MAKE) -C tests zipinstall
tests_zipsourceinstall:
$(MAKE) -C tests zipsourceinstall
tests_zipexampleinstall:
$(MAKE) -C tests zipexampleinstall
tests_zipdistinstall:
$(MAKE) -C tests zipdistinstall
tests_clean:
$(MAKE) -C tests clean
tests_distclean:
$(MAKE) -C tests distclean
tests_cleanall:
$(MAKE) -C tests cleanall
tests_info:
$(MAKE) -C tests info
tests:
$(MAKE) -C tests all
.PHONY: tests_all tests_debug tests_smart tests_examples tests_shared tests_install tests_sourceinstall tests_exampleinstall tests_distinstall tests_zipinstall tests_zipsourceinstall tests_zipexampleinstall tests_zipdistinstall tests_clean tests_distclean tests_cleanall tests_info tests
endif
all: $(addsuffix _all,$(TARGET_DIRS))
debug: $(addsuffix _debug,$(TARGET_DIRS))
smart: $(addsuffix _smart,$(TARGET_DIRS))
examples: fpc_examples $(addsuffix _examples,$(TARGET_DIRS))
examples: $(addsuffix _examples,$(TARGET_DIRS))
shared: $(addsuffix _shared,$(TARGET_DIRS))
install: $(addsuffix _install,$(TARGET_DIRS))
sourceinstall: $(addsuffix _sourceinstall,$(TARGET_DIRS))
@ -1064,7 +998,7 @@ zipinstall: $(addsuffix _zipinstall,$(TARGET_DIRS))
zipsourceinstall: $(addsuffix _zipsourceinstall,$(TARGET_DIRS))
zipexampleinstall: $(addsuffix _zipexampleinstall,$(TARGET_DIRS))
zipdistinstall: $(addsuffix _zipdistinstall,$(TARGET_DIRS))
clean: $(addsuffix _clean,$(TARGET_DIRS)) $(addsuffix _clean,$(TARGET_EXAMPLEDIRS))
clean: $(addsuffix _clean,$(TARGET_DIRS))
distclean: $(addsuffix _distclean,$(TARGET_DIRS))
cleanall: $(addsuffix _cleanall,$(TARGET_DIRS))
info: fpc_info

View File

@ -5,5 +5,5 @@
[target]
dirs_linux=libasync fpasync
dirs_freebsd=libasync fpasync
exampledirs_linux=tests
exampledirs_freebsd=tests
#exampledirs_linux=tests
#exampledirs_freebsd=tests

View File

@ -120,7 +120,7 @@ else
override FPCDIR=wrong
endif
ifeq ($(FPCDIR),wrong)
override FPCDIR=../../../
override FPCDIR=../../..
ifeq ($(wildcard $(FPCDIR)/rtl),)
ifeq ($(wildcard $(FPCDIR)/units),)
override FPCDIR=wrong
@ -337,6 +337,20 @@ endif
else
CROSSBINDIR=
endif
ifdef inUnix
ifndef GCCLIBDIR
GCCLIBDIR:=$(shell dirname `(gcc -v 2>&1)| head -n 1| awk '{ print $$4 } '`)
endif
ifeq ($(OS_TARGET),linux)
ifndef OTHERLIBDIR
OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
endif
endif
ifeq ($(OS_TARGET),netbsd)
OTHERLIBDIR+=/usr/pkg/lib
endif
export GCCLIBDIR OTHERLIB
endif
LOADEREXT=.as
EXEEXT=.exe
PPLEXT=.ppl
@ -676,30 +690,57 @@ TAREXT=.tar.gz
endif
ifeq ($(OS_TARGET),linux)
REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_INET=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
endif
ifeq ($(OS_TARGET),go32v2)
REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
endif
ifeq ($(OS_TARGET),win32)
REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
endif
ifeq ($(OS_TARGET),os2)
REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
endif
ifeq ($(OS_TARGET),freebsd)
REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_INET=1
REQUIRE_PACKAGES_FCL=1
REQUIRE_PACKAGES_MYSQL=1
REQUIRE_PACKAGES_IBASE=1
endif
ifeq ($(OS_TARGET),beos)
REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
endif
ifeq ($(OS_TARGET),netbsd)
REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_INET=1
REQUIRE_PACKAGES_FCL=1
endif
ifeq ($(OS_TARGET),amiga)
REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
endif
ifeq ($(OS_TARGET),atari)
REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL=1
endif
ifdef REQUIRE_PACKAGES_RTL
PACKAGEDIR_RTL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR)))))
@ -728,7 +769,142 @@ ifdef UNITDIR_RTL
override COMPILER_UNITDIR+=$(UNITDIR_RTL)
endif
endif
.PHONY: package_rtl
ifdef REQUIRE_PACKAGES_PASZLIB
PACKAGEDIR_PASZLIB:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Makefile.fpc,$(PACKAGESDIR)))))
ifneq ($(PACKAGEDIR_PASZLIB),)
PACKAGEDIR_PASZLIB:=$(firstword $(PACKAGEDIR_PASZLIB))
ifeq ($(wildcard $(PACKAGEDIR_PASZLIB)/$(FPCMADE)),)
override COMPILEPACKAGES+=package_paszlib
package_paszlib:
$(MAKE) -C $(PACKAGEDIR_PASZLIB) all
endif
ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/$(OS_TARGET)),)
UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)/$(OS_TARGET)
else
UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)
endif
else
PACKAGEDIR_PASZLIB=
UNITDIR_PASZLIB:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Package.fpc,$(UNITSDIR)))))
ifneq ($(UNITDIR_PASZLIB),)
UNITDIR_PASZLIB:=$(firstword $(UNITDIR_PASZLIB))
else
UNITDIR_PASZLIB=
endif
endif
ifdef UNITDIR_PASZLIB
override COMPILER_UNITDIR+=$(UNITDIR_PASZLIB)
endif
endif
ifdef REQUIRE_PACKAGES_INET
PACKAGEDIR_INET:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /inet/Makefile.fpc,$(PACKAGESDIR)))))
ifneq ($(PACKAGEDIR_INET),)
PACKAGEDIR_INET:=$(firstword $(PACKAGEDIR_INET))
ifeq ($(wildcard $(PACKAGEDIR_INET)/$(FPCMADE)),)
override COMPILEPACKAGES+=package_inet
package_inet:
$(MAKE) -C $(PACKAGEDIR_INET) all
endif
ifneq ($(wildcard $(PACKAGEDIR_INET)/$(OS_TARGET)),)
UNITDIR_INET=$(PACKAGEDIR_INET)/$(OS_TARGET)
else
UNITDIR_INET=$(PACKAGEDIR_INET)
endif
else
PACKAGEDIR_INET=
UNITDIR_INET:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /inet/Package.fpc,$(UNITSDIR)))))
ifneq ($(UNITDIR_INET),)
UNITDIR_INET:=$(firstword $(UNITDIR_INET))
else
UNITDIR_INET=
endif
endif
ifdef UNITDIR_INET
override COMPILER_UNITDIR+=$(UNITDIR_INET)
endif
endif
ifdef REQUIRE_PACKAGES_FCL
PACKAGEDIR_FCL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl/Makefile.fpc,$(PACKAGESDIR)))))
ifneq ($(PACKAGEDIR_FCL),)
PACKAGEDIR_FCL:=$(firstword $(PACKAGEDIR_FCL))
ifeq ($(wildcard $(PACKAGEDIR_FCL)/$(FPCMADE)),)
override COMPILEPACKAGES+=package_fcl
package_fcl:
$(MAKE) -C $(PACKAGEDIR_FCL) all
endif
ifneq ($(wildcard $(PACKAGEDIR_FCL)/$(OS_TARGET)),)
UNITDIR_FCL=$(PACKAGEDIR_FCL)/$(OS_TARGET)
else
UNITDIR_FCL=$(PACKAGEDIR_FCL)
endif
else
PACKAGEDIR_FCL=
UNITDIR_FCL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl/Package.fpc,$(UNITSDIR)))))
ifneq ($(UNITDIR_FCL),)
UNITDIR_FCL:=$(firstword $(UNITDIR_FCL))
else
UNITDIR_FCL=
endif
endif
ifdef UNITDIR_FCL
override COMPILER_UNITDIR+=$(UNITDIR_FCL)
endif
endif
ifdef REQUIRE_PACKAGES_MYSQL
PACKAGEDIR_MYSQL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /mysql/Makefile.fpc,$(PACKAGESDIR)))))
ifneq ($(PACKAGEDIR_MYSQL),)
PACKAGEDIR_MYSQL:=$(firstword $(PACKAGEDIR_MYSQL))
ifeq ($(wildcard $(PACKAGEDIR_MYSQL)/$(FPCMADE)),)
override COMPILEPACKAGES+=package_mysql
package_mysql:
$(MAKE) -C $(PACKAGEDIR_MYSQL) all
endif
ifneq ($(wildcard $(PACKAGEDIR_MYSQL)/$(OS_TARGET)),)
UNITDIR_MYSQL=$(PACKAGEDIR_MYSQL)/$(OS_TARGET)
else
UNITDIR_MYSQL=$(PACKAGEDIR_MYSQL)
endif
else
PACKAGEDIR_MYSQL=
UNITDIR_MYSQL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /mysql/Package.fpc,$(UNITSDIR)))))
ifneq ($(UNITDIR_MYSQL),)
UNITDIR_MYSQL:=$(firstword $(UNITDIR_MYSQL))
else
UNITDIR_MYSQL=
endif
endif
ifdef UNITDIR_MYSQL
override COMPILER_UNITDIR+=$(UNITDIR_MYSQL)
endif
endif
ifdef REQUIRE_PACKAGES_IBASE
PACKAGEDIR_IBASE:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /ibase/Makefile.fpc,$(PACKAGESDIR)))))
ifneq ($(PACKAGEDIR_IBASE),)
PACKAGEDIR_IBASE:=$(firstword $(PACKAGEDIR_IBASE))
ifeq ($(wildcard $(PACKAGEDIR_IBASE)/$(FPCMADE)),)
override COMPILEPACKAGES+=package_ibase
package_ibase:
$(MAKE) -C $(PACKAGEDIR_IBASE) all
endif
ifneq ($(wildcard $(PACKAGEDIR_IBASE)/$(OS_TARGET)),)
UNITDIR_IBASE=$(PACKAGEDIR_IBASE)/$(OS_TARGET)
else
UNITDIR_IBASE=$(PACKAGEDIR_IBASE)
endif
else
PACKAGEDIR_IBASE=
UNITDIR_IBASE:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /ibase/Package.fpc,$(UNITSDIR)))))
ifneq ($(UNITDIR_IBASE),)
UNITDIR_IBASE:=$(firstword $(UNITDIR_IBASE))
else
UNITDIR_IBASE=
endif
endif
ifdef UNITDIR_IBASE
override COMPILER_UNITDIR+=$(UNITDIR_IBASE)
endif
endif
.PHONY: package_rtl package_paszlib package_inet package_fcl package_mysql package_ibase
ifndef NOCPUDEF
override FPCOPTDEF=$(CPU_TARGET)
endif
@ -816,6 +992,12 @@ override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
endif
endif
ifdef GCCLIBDIR
override FPCOPT+=-Fl$(GCCLIBDIR)
endif
ifdef OTHERLIBDIR
override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR))
endif
ifdef OPT
override FPCOPT+=$(OPT)
endif

View File

@ -10,7 +10,7 @@ version=1.0.5
units=fpasync
[require]
package=fcl
packages=rtl fcl
[install]
fpcpackage=y
@ -23,4 +23,4 @@ sourcedir_freebsd=unix
targetdir=.
[default]
fpcdir=../../../
fpcdir=../../..

View File

@ -120,7 +120,7 @@ else
override FPCDIR=wrong
endif
ifeq ($(FPCDIR),wrong)
override FPCDIR=../../../
override FPCDIR=../../..
ifeq ($(wildcard $(FPCDIR)/rtl),)
ifeq ($(wildcard $(FPCDIR)/units),)
override FPCDIR=wrong

View File

@ -18,5 +18,8 @@ sourcedir_linux=unix
sourcedir_freebsd=unix
targetdir=.
[require]
packages=rtl
[default]
fpcdir=../../../
fpcdir=../../..

View File

@ -120,6 +120,14 @@ else
override FPCDIR=wrong
endif
ifeq ($(FPCDIR),wrong)
override FPCDIR=../..
ifeq ($(wildcard $(FPCDIR)/rtl),)
ifeq ($(wildcard $(FPCDIR)/units),)
override FPCDIR=wrong
endif
endif
endif
ifeq ($(FPCDIR),wrong)
ifdef inUnix
override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
ifeq ($(wildcard $(FPCDIR)/units),)
@ -151,6 +159,10 @@ else
UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
endif
PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages)
override PACKAGE_NAME=gdbm
override PACKAGE_VERSION=1.0.5
override TARGET_UNITS+=gdbm
override TARGET_EXAMPLES+=testgdbm testgdbm2
override INSTALL_FPCPACKAGE=y
ifdef REQUIRE_UNITSDIR
override UNITSDIR+=$(REQUIRE_UNITSDIR)
@ -654,6 +666,61 @@ else
TAROPT=vz
TAREXT=.tar.gz
endif
ifeq ($(OS_TARGET),linux)
REQUIRE_PACKAGES_RTL=1
endif
ifeq ($(OS_TARGET),go32v2)
REQUIRE_PACKAGES_RTL=1
endif
ifeq ($(OS_TARGET),win32)
REQUIRE_PACKAGES_RTL=1
endif
ifeq ($(OS_TARGET),os2)
REQUIRE_PACKAGES_RTL=1
endif
ifeq ($(OS_TARGET),freebsd)
REQUIRE_PACKAGES_RTL=1
endif
ifeq ($(OS_TARGET),beos)
REQUIRE_PACKAGES_RTL=1
endif
ifeq ($(OS_TARGET),netbsd)
REQUIRE_PACKAGES_RTL=1
endif
ifeq ($(OS_TARGET),amiga)
REQUIRE_PACKAGES_RTL=1
endif
ifeq ($(OS_TARGET),atari)
REQUIRE_PACKAGES_RTL=1
endif
ifdef REQUIRE_PACKAGES_RTL
PACKAGEDIR_RTL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR)))))
ifneq ($(PACKAGEDIR_RTL),)
PACKAGEDIR_RTL:=$(firstword $(PACKAGEDIR_RTL))
ifeq ($(wildcard $(PACKAGEDIR_RTL)/$(FPCMADE)),)
override COMPILEPACKAGES+=package_rtl
package_rtl:
$(MAKE) -C $(PACKAGEDIR_RTL) all
endif
ifneq ($(wildcard $(PACKAGEDIR_RTL)/$(OS_TARGET)),)
UNITDIR_RTL=$(PACKAGEDIR_RTL)/$(OS_TARGET)
else
UNITDIR_RTL=$(PACKAGEDIR_RTL)
endif
else
PACKAGEDIR_RTL=
UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
ifneq ($(UNITDIR_RTL),)
UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
else
UNITDIR_RTL=
endif
endif
ifdef UNITDIR_RTL
override COMPILER_UNITDIR+=$(UNITDIR_RTL)
endif
endif
.PHONY: package_rtl
ifndef NOCPUDEF
override FPCOPTDEF=$(CPU_TARGET)
endif
@ -763,10 +830,200 @@ ifeq ($(OS_SOURCE),$(OS_TARGET))
EXECPPAS:=@$(PPAS)
endif
endif
.PHONY: fpc_units
ifdef TARGET_UNITS
override ALLTARGET+=fpc_units
override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
override INSTALLPPUFILES+=$(UNITPPUFILES)
override CLEANPPUFILES+=$(UNITPPUFILES)
endif
fpc_units: $(UNITPPUFILES)
ifdef TARGET_RSTS
override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
override CLEANRSTFILES+=$(RSTFILES)
endif
.PHONY: fpc_examples
ifdef TARGET_EXAMPLES
HASEXAMPLES=1
override EXAMPLESOURCEFILES:=$(wildcard $(addsuffix .pp,$(TARGET_EXAMPLES)) $(addsuffix .pas,$(TARGET_EXAMPLES)))
override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(TARGET_EXAMPLES))
override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(TARGET_EXAMPLES)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES)))
override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
ifeq ($(OS_TARGET),os2)
override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES))
endif
endif
ifdef TARGET_EXAMPLEDIRS
HASEXAMPLES=1
endif
fpc_examples: all $(EXAMPLEFILES) $(addsuffix _all,$(TARGET_EXAMPLEDIRS))
.PHONY: fpc_packages fpc_all fpc_smart fpc_debug
$(FPCMADE): $(ALLTARGET)
@$(ECHOREDIR) Compiled > $(FPCMADE)
fpc_packages: $(COMPILEPACKAGES)
fpc_all: fpc_packages $(FPCMADE)
fpc_smart:
$(MAKE) all LINKSMART=1 CREATESMART=1
fpc_debug:
$(MAKE) all DEBUG=1
.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp
%$(PPUEXT): %.pp
$(COMPILER) $<
$(EXECPPAS)
%$(PPUEXT): %.pas
$(COMPILER) $<
$(EXECPPAS)
%$(EXEEXT): %.pp
$(COMPILER) $<
$(EXECPPAS)
%$(EXEEXT): %.pas
$(COMPILER) $<
$(EXECPPAS)
vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
ifdef INSTALL_UNITS
override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
endif
ifdef INSTALLPPUFILES
override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES))
override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILES)))
override INSTALL_CREATEPACKAGEFPC=1
endif
ifdef INSTALLEXEFILES
override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES))
endif
fpc_install: all $(INSTALLTARGET)
ifdef INSTALLEXEFILES
$(MKDIR) $(INSTALL_BINDIR)
ifdef UPXPROG
-$(UPXPROG) $(INSTALLEXEFILES)
endif
$(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
endif
ifdef INSTALL_CREATEPACKAGEFPC
ifdef FPCMAKE
ifdef PACKAGE_VERSION
ifneq ($(wildcard Makefile.fpc),)
$(FPCMAKE) -p -T$(OS_TARGET) Makefile.fpc
$(MKDIR) $(INSTALL_UNITDIR)
$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
endif
endif
endif
endif
ifdef INSTALLPPUFILES
$(MKDIR) $(INSTALL_UNITDIR)
$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
ifneq ($(INSTALLPPULINKFILES),)
$(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
endif
ifneq ($(wildcard $(LIB_FULLNAME)),)
$(MKDIR) $(INSTALL_LIBDIR)
$(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
ifdef inUnix
ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
endif
endif
endif
ifdef INSTALL_FILES
$(MKDIR) $(INSTALL_DATADIR)
$(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
endif
fpc_sourceinstall: distclean
$(MKDIR) $(INSTALL_SOURCEDIR)
$(COPYTREE) $(BASEDIR) $(INSTALL_SOURCEDIR)
fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
ifdef HASEXAMPLES
$(MKDIR) $(INSTALL_EXAMPLEDIR)
endif
ifdef EXAMPLESOURCEFILES
$(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
endif
ifdef TARGET_EXAMPLEDIRS
$(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
endif
.PHONY: fpc_distinstall
fpc_distinstall: install exampleinstall
.PHONY: fpc_zipinstall fpc_zipsourceinstall fpc_zipexampleinstall
ifndef PACKDIR
ifndef inUnix
PACKDIR=$(BASEDIR)/../fpc-pack
else
PACKDIR=/tmp/fpc-pack
endif
endif
ifndef ZIPNAME
ifdef DIST_ZIPNAME
ZIPNAME=$(DIST_ZIPNAME)
else
ZIPNAME=$(ZIPPREFIX)$(PACKAGE_NAME)$(ZIPSUFFIX)
endif
endif
ifndef ZIPTARGET
ifdef DIST_ZIPTARGET
ZIPTARGET=DIST_ZIPTARGET
else
ZIPTARGET=install
endif
endif
ifndef USEZIP
ifdef inUnix
USETAR=1
endif
endif
ifndef inUnix
USEZIPWRAPPER=1
endif
ifdef USEZIPWRAPPER
ZIPPATHSEP=$(PATHSEP)
ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
else
ZIPPATHSEP=/
endif
ZIPCMD_CDPACK:=cd $(subst /,$(ZIPPATHSEP),$(PACKDIR))
ZIPCMD_CDBASE:=cd $(subst /,$(ZIPPATHSEP),$(BASEDIR))
ifdef USETAR
ZIPDESTFILE:=$(DIST_DESTDIR)/$(ZIPNAME)$(TAREXT)
ZIPCMD_ZIP:=$(TARPROG) cf$(TAROPT) $(ZIPDESTFILE) *
else
ZIPDESTFILE:=$(DIST_DESTDIR)/$(ZIPNAME)$(ZIPEXT)
ZIPCMD_ZIP:=$(subst /,$(ZIPPATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) *
endif
fpc_zipinstall:
$(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1
$(MKDIR) $(DIST_DESTDIR)
$(DEL) $(ZIPDESTFILE)
ifdef USEZIPWRAPPER
ifneq ($(ECHOREDIR),echo)
$(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDPACK))" > $(ZIPWRAPPER)
$(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_ZIP))" >> $(ZIPWRAPPER)
$(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDBASE))" >> $(ZIPWRAPPER)
else
echo $(ZIPCMD_CDPACK) > $(ZIPWRAPPER)
echo $(ZIPCMD_ZIP) >> $(ZIPWRAPPER)
echo $(ZIPCMD_CDBASE) >> $(ZIPWRAPPER)
endif
ifdef inUnix
/bin/sh $(ZIPWRAPPER)
else
$(ZIPWRAPPER)
endif
$(DEL) $(ZIPWRAPPER)
else
$(ZIPCMD_CDPACK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBASE)
endif
$(DELTREE) $(PACKDIR)
fpc_zipsourceinstall:
$(MAKE) fpc_zipinstall ZIPTARGET=sourceinstall ZIPSUFFIX=src
fpc_zipexampleinstall:
ifdef HASEXAMPLES
$(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall ZIPSUFFIX=exm
endif
fpc_zipdistinstall:
$(MAKE) fpc_zipinstall ZIPTARGET=distinstall
.PHONY: fpc_clean fpc_cleanall fpc_distclean
ifdef EXEFILES
override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
@ -894,22 +1151,22 @@ fpc_info:
@$(ECHO) Dist destination dir. $(DIST_DESTDIR)
@$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
@$(ECHO)
all:
debug:
smart:
examples:
all: fpc_all
debug: fpc_debug
smart: fpc_smart
examples: fpc_examples
shared:
install:
sourceinstall:
exampleinstall:
distinstall:
zipinstall:
zipsourceinstall:
zipexampleinstall:
zipdistinstall:
clean:
distclean:
cleanall:
install: fpc_install
sourceinstall: fpc_sourceinstall
exampleinstall: fpc_exampleinstall
distinstall: fpc_distinstall
zipinstall: fpc_zipinstall
zipsourceinstall: fpc_zipsourceinstall
zipexampleinstall: fpc_zipexampleinstall
zipdistinstall: fpc_zipdistinstall
clean: fpc_clean
distclean: fpc_distclean
cleanall: fpc_cleanall
info: fpc_info
.PHONY: all debug smart examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info
ifneq ($(wildcard fpcmake.loc),)

View File

@ -1,20 +1,25 @@
#
# Makefile.fpc for InterBase bindings
# Makefile.fpc for gdbm bindings
#
[targets]
[package]
name=gdbm
version=1.0.5
[target]
units=gdbm
examples=testgdbm testgdbm2
[require]
package=rtl
[install]
examplesubdir=gdbm
[dirs]
fpcdir=../..
[install]
fpcpackage=y
[default]
fpcdir=../..
[rules]
testgdbm$(EXEEXT): testgdbm.pp gdbm$(PPUEXT)