diff --git a/components/Makefile b/components/Makefile index ef09e9e4de..933e3c5006 100644 --- a/components/Makefile +++ b/components/Makefile @@ -1,7 +1,8 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2001/12/31] +# Don't edit, this file is generated by FPCMake Version 1.1 [2002/04/22] # default: all +MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware override PATH:=$(subst \,/,$(PATH)) ifeq ($(findstring ;,$(PATH)),) inUnix=1 @@ -13,10 +14,7 @@ PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH)))) ifeq ($(PWD),) PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH)))) ifeq ($(PWD),) -nopwd: - @echo You need the GNU utils package to use this Makefile! - @echo Get ftp://ftp.freepascal.org/pub/fpc/dist/go32v2/utilgo32.zip - @exit +$(error You need the GNU utils package to use this Makefile) else PWD:=$(firstword $(PWD)) SRCEXEEXT= @@ -70,6 +68,22 @@ endif else BASEDIR=. endif +ifdef inOS2 +ifndef ECHO +ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(ECHO),) +ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(ECHO),) +ECHO=echo +else +ECHO:=$(firstword $(ECHO)) +endif +else +ECHO:=$(firstword $(ECHO)) +endif +endif +export ECHO +endif ifndef FPC ifdef PP FPC=$(PP) @@ -93,23 +107,45 @@ ifndef FPC_VERSION FPC_VERSION:=$(shell $(FPC) -iV) endif export FPC FPC_VERSION +unexport CHECKDEPEND ALLDEPENDENCIES +ifeq ($(findstring 1.0.,$(FPC_VERSION)),) +COMPILERINFO:=$(shell $(FPC) -iSP -iTP -iSO -iTO) +ifndef CPU_SOURCE +CPU_SOURCE:=$(word 1,$(COMPILERINFO)) +endif +ifndef CPU_TARGET +CPU_TARGET:=$(word 2,$(COMPILERINFO)) +endif +ifndef OS_SOURCE +OS_SOURCE:=$(word 3,$(COMPILERINFO)) +endif +ifndef OS_TARGET +OS_TARGET:=$(word 4,$(COMPILERINFO)) +endif +else +ifndef CPU_SOURCE +CPU_SOURCE:=$(shell $(FPC) -iSP) +endif ifndef CPU_TARGET CPU_TARGET:=$(shell $(FPC) -iTP) endif -ifndef CPU_SOURCE -CPU_SOURCE:=$(shell $(FPC) -iSP) +ifndef OS_SOURCE +OS_SOURCE:=$(shell $(FPC) -iSO) endif ifndef OS_TARGET OS_TARGET:=$(shell $(FPC) -iTO) endif -ifndef OS_SOURCE -OS_SOURCE:=$(shell $(FPC) -iSO) endif FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET) FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE) ifneq ($(FULL_TARGET),$(FULL_SOURCE)) CROSSCOMPILE=1 endif +ifeq ($(findstring makefile,$(MAKECMDGOALS)),) +ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),) +$(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first) +endif +endif export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE ifdef FPCDIR override FPCDIR:=$(subst \,/,$(FPCDIR)) @@ -119,6 +155,14 @@ endif else override FPCDIR=wrong endif +ifdef DEFAULT_FPCDIR +ifeq ($(FPCDIR),wrong) +override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR)) +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) +override FPCDIR=wrong +endif +endif +endif ifeq ($(FPCDIR),wrong) ifdef inUnix override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION) @@ -150,9 +194,9 @@ endif else UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) endif -PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages) +PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra) override TARGET_DIRS+=synedit codetools -override CLEAN_FILES+=$(wildcard ./units/*$(OEXT)) $(wildcard ./units/*$(PPUEXT)) +override CLEAN_FILES+=$(wildcard ./units/*$(OEXT)) $(wildcard ./units/*$(PPUEXT)) $(wildcard ./units/*$(RSTEXT)) ifdef REQUIRE_UNITSDIR override UNITSDIR+=$(REQUIRE_UNITSDIR) endif @@ -187,6 +231,11 @@ UNIXINSTALLDIR=1 endif endif ifndef INSTALL_PREFIX +ifdef PREFIX +INSTALL_PREFIX=$(PREFIX) +endif +endif +ifndef INSTALL_PREFIX ifdef UNIXINSTALLDIR INSTALL_PREFIX=/usr/local else @@ -198,6 +247,9 @@ endif endif endif export INSTALL_PREFIX +ifdef INSTALL_FPCSUBDIR +export INSTALL_FPCSUBDIR +endif ifndef DIST_DESTDIR DIST_DESTDIR:=$(BASEDIR) endif @@ -244,41 +296,43 @@ endif endif ifndef INSTALL_SOURCEDIR ifdef UNIXINSTALLDIR +ifdef BSDhier +SRCPREFIXDIR=share/src +else +SRCPREFIXDIR=src +endif ifdef INSTALL_FPCPACKAGE -ifdef BSDhier -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/share/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +ifdef INSTALL_FPCSUBDIR +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) else -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) endif else -ifdef BSDhier -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/share/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -else -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif else ifdef INSTALL_FPCPACKAGE +ifdef INSTALL_FPCSUBDIR +INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) +else INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME) +endif else -INSTALL_SOURCEDIRL:=$(INSTALL_BASEDIR)/source +INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source endif endif endif ifndef INSTALL_DOCDIR ifdef UNIXINSTALLDIR +ifdef BSDhier +DOCPREFIXDIR=share/doc +else +DOCPREFIXDIR=doc +endif ifdef INSTALL_FPCPACKAGE -ifdef BSDhier -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/share/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) else -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) -endif -else -ifdef BSDhier -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/share/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -else -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif +INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif else ifdef INSTALL_FPCPACKAGE @@ -385,11 +439,13 @@ PPUEXT=.ppo ASMEXT=.so2 OEXT=.oo2 AOUTEXT=.out -SMARTEXT=.so +SMARTEXT=.sl2 +STATICLIBPREFIX= STATICLIBEXT=.ao2 SHAREDLIBEXT=.dll FPCMADE=fpcmade.os2 ZIPSUFFIX=emx +ECHO=echo endif ifeq ($(OS_TARGET),amiga) EXEEXT= @@ -440,6 +496,18 @@ EXEEXT= FPCMADE=fpcmade.qnx ZIPSUFFIX=qnx endif +ifeq ($(OS_TARGET),netware) +STATICLIBPREFIX= +PPUEXT=.ppn +OEXT=.on +ASMEXT=.s +SMARTEXT=.sl +STATICLIBEXT=.a +SHAREDLIBEXT=.nlm +FPCMADE=fpcmade.nw +ZIPSUFFIX=nw +EXEEXT=.nlm +endif ifndef ECHO ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) @@ -816,12 +884,13 @@ ifdef CLEANEXEFILES endif -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) -$(DELTREE) *$(SMARTEXT) - -$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE) + -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) ifdef AOUTEXT -$(DEL) *$(AOUTEXT) endif -.PHONY: fpc_info -fpc_info: +.PHONY: fpc_baseinfo +override INFORULES+=fpc_baseinfo +fpc_baseinfo: @$(ECHO) @$(ECHO) == Package info == @$(ECHO) Package Name..... $(PACKAGE_NAME) @@ -835,11 +904,13 @@ fpc_info: @$(ECHO) Target CPU... $(CPU_TARGET) @$(ECHO) Source OS.... $(OS_SOURCE) @$(ECHO) Target OS.... $(OS_TARGET) - @$(ECHO) Full Target.. $(FULL_SOURCE) - @$(ECHO) Full Source.. $(FULL_TARGET) + @$(ECHO) Full Source.. $(FULL_SOURCE) + @$(ECHO) Full Target.. $(FULL_TARGET) @$(ECHO) @$(ECHO) == Directory info == @$(ECHO) + @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES) + @$(ECHO) @$(ECHO) Basedir......... $(BASEDIR) @$(ECHO) FPCDir.......... $(FPCDIR) @$(ECHO) CrossBinDir..... $(CROSSBINDIR) @@ -869,12 +940,13 @@ fpc_info: @$(ECHO) @$(ECHO) == Object info == @$(ECHO) - @$(ECHO) Target Loaders...... $(TARGET_LOADERS) - @$(ECHO) Target Units........ $(TARGET_UNITS) - @$(ECHO) Target Programs..... $(TARGET_PROGRAMS) - @$(ECHO) Target Dirs......... $(TARGET_DIRS) - @$(ECHO) Target Examples..... $(TARGET_EXAMPLES) - @$(ECHO) Target ExampleDirs.. $(TARGET_EXAMPLEDIRS) + @$(ECHO) Target Loaders........ $(TARGET_LOADERS) + @$(ECHO) Target Units.......... $(TARGET_UNITS) + @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS) + @$(ECHO) Target Programs....... $(TARGET_PROGRAMS) + @$(ECHO) Target Dirs........... $(TARGET_DIRS) + @$(ECHO) Target Examples....... $(TARGET_EXAMPLES) + @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS) @$(ECHO) @$(ECHO) Clean Units......... $(CLEAN_UNITS) @$(ECHO) Clean Files......... $(CLEAN_FILES) @@ -901,6 +973,22 @@ fpc_info: @$(ECHO) Dist destination dir. $(DIST_DESTDIR) @$(ECHO) Dist zip name........ $(DIST_ZIPNAME) @$(ECHO) +.PHONY: fpc_info +fpc_info: $(INFORULES) +.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \ + fpc_makefile_dirs +fpc_makefile: + $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc +fpc_makefile_sub1: +ifdef TARGET_DIRS + $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS)) +endif +ifdef TARGET_EXAMPLEDIRS + $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS)) +endif +fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS)) +fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2 +fpc_makefiles: fpc_makefile fpc_makefile_dirs TARGET_DIRS_SYNEDIT=1 TARGET_DIRS_CODETOOLS=1 ifdef TARGET_DIRS_SYNEDIT @@ -910,6 +998,8 @@ synedit_debug: $(MAKE) -C synedit debug synedit_smart: $(MAKE) -C synedit smart +synedit_release: + $(MAKE) -C synedit release synedit_examples: $(MAKE) -C synedit examples synedit_shared: @@ -938,9 +1028,11 @@ synedit_cleanall: $(MAKE) -C synedit cleanall synedit_info: $(MAKE) -C synedit info +synedit_makefiles: + $(MAKE) -C synedit makefiles synedit: $(MAKE) -C synedit all -.PHONY: synedit_all synedit_debug synedit_smart synedit_examples synedit_shared synedit_install synedit_sourceinstall synedit_exampleinstall synedit_distinstall synedit_zipinstall synedit_zipsourceinstall synedit_zipexampleinstall synedit_zipdistinstall synedit_clean synedit_distclean synedit_cleanall synedit_info synedit +.PHONY: synedit_all synedit_debug synedit_smart synedit_release synedit_examples synedit_shared synedit_install synedit_sourceinstall synedit_exampleinstall synedit_distinstall synedit_zipinstall synedit_zipsourceinstall synedit_zipexampleinstall synedit_zipdistinstall synedit_clean synedit_distclean synedit_cleanall synedit_info synedit_makefiles synedit endif ifdef TARGET_DIRS_CODETOOLS codetools_all: @@ -949,6 +1041,8 @@ codetools_debug: $(MAKE) -C codetools debug codetools_smart: $(MAKE) -C codetools smart +codetools_release: + $(MAKE) -C codetools release codetools_examples: $(MAKE) -C codetools examples codetools_shared: @@ -977,13 +1071,16 @@ codetools_cleanall: $(MAKE) -C codetools cleanall codetools_info: $(MAKE) -C codetools info +codetools_makefiles: + $(MAKE) -C codetools makefiles codetools: $(MAKE) -C codetools all -.PHONY: codetools_all codetools_debug codetools_smart codetools_examples codetools_shared codetools_install codetools_sourceinstall codetools_exampleinstall codetools_distinstall codetools_zipinstall codetools_zipsourceinstall codetools_zipexampleinstall codetools_zipdistinstall codetools_clean codetools_distclean codetools_cleanall codetools_info codetools +.PHONY: codetools_all codetools_debug codetools_smart codetools_release codetools_examples codetools_shared codetools_install codetools_sourceinstall codetools_exampleinstall codetools_distinstall codetools_zipinstall codetools_zipsourceinstall codetools_zipexampleinstall codetools_zipdistinstall codetools_clean codetools_distclean codetools_cleanall codetools_info codetools_makefiles codetools endif all: $(addsuffix _all,$(TARGET_DIRS)) debug: $(addsuffix _debug,$(TARGET_DIRS)) smart: $(addsuffix _smart,$(TARGET_DIRS)) +release: $(addsuffix _release,$(TARGET_DIRS)) examples: $(addsuffix _examples,$(TARGET_DIRS)) shared: $(addsuffix _shared,$(TARGET_DIRS)) install: $(addsuffix _install,$(TARGET_DIRS)) @@ -997,7 +1094,8 @@ zipdistinstall: $(addsuffix _zipdistinstall,$(TARGET_DIRS)) clean: fpc_clean $(addsuffix _clean,$(TARGET_DIRS)) distclean: fpc_distclean $(addsuffix _distclean,$(TARGET_DIRS)) info: fpc_info -.PHONY: all debug smart examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean info +makefiles: fpc_makefiles $(addsuffix _makefiles,$(TARGET_DIRS)) +.PHONY: all debug smart release examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean info makefiles ifneq ($(wildcard fpcmake.loc),) include fpcmake.loc endif diff --git a/components/Makefile.fpc b/components/Makefile.fpc index d90fe05d77..969a2bab2f 100644 --- a/components/Makefile.fpc +++ b/components/Makefile.fpc @@ -7,8 +7,8 @@ dirs=synedit codetools [clean] -files=$(wildcard ./units/*$(OEXT)) $(wildcard ./units/*$(PPUEXT)) +files=$(wildcard ./units/*$(OEXT)) $(wildcard ./units/*$(PPUEXT)) $(wildcard ./units/*$(RSTEXT)) [rules] -cleanall: clean \ No newline at end of file +cleanall: clean diff --git a/components/synedit/Makefile b/components/synedit/Makefile index bf3bdd8ddc..c5f74dfc8c 100644 --- a/components/synedit/Makefile +++ b/components/synedit/Makefile @@ -1,7 +1,8 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2001/12/31] +# Don't edit, this file is generated by FPCMake Version 1.1 [2002/04/22] # default: all +MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware override PATH:=$(subst \,/,$(PATH)) ifeq ($(findstring ;,$(PATH)),) inUnix=1 @@ -13,10 +14,7 @@ PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH)))) ifeq ($(PWD),) PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH)))) ifeq ($(PWD),) -nopwd: - @echo You need the GNU utils package to use this Makefile! - @echo Get ftp://ftp.freepascal.org/pub/fpc/dist/go32v2/utilgo32.zip - @exit +$(error You need the GNU utils package to use this Makefile) else PWD:=$(firstword $(PWD)) SRCEXEEXT= @@ -70,6 +68,22 @@ endif else BASEDIR=. endif +ifdef inOS2 +ifndef ECHO +ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(ECHO),) +ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(ECHO),) +ECHO=echo +else +ECHO:=$(firstword $(ECHO)) +endif +else +ECHO:=$(firstword $(ECHO)) +endif +endif +export ECHO +endif ifndef FPC ifdef PP FPC=$(PP) @@ -93,23 +107,45 @@ ifndef FPC_VERSION FPC_VERSION:=$(shell $(FPC) -iV) endif export FPC FPC_VERSION +unexport CHECKDEPEND ALLDEPENDENCIES +ifeq ($(findstring 1.0.,$(FPC_VERSION)),) +COMPILERINFO:=$(shell $(FPC) -iSP -iTP -iSO -iTO) +ifndef CPU_SOURCE +CPU_SOURCE:=$(word 1,$(COMPILERINFO)) +endif +ifndef CPU_TARGET +CPU_TARGET:=$(word 2,$(COMPILERINFO)) +endif +ifndef OS_SOURCE +OS_SOURCE:=$(word 3,$(COMPILERINFO)) +endif +ifndef OS_TARGET +OS_TARGET:=$(word 4,$(COMPILERINFO)) +endif +else +ifndef CPU_SOURCE +CPU_SOURCE:=$(shell $(FPC) -iSP) +endif ifndef CPU_TARGET CPU_TARGET:=$(shell $(FPC) -iTP) endif -ifndef CPU_SOURCE -CPU_SOURCE:=$(shell $(FPC) -iSP) +ifndef OS_SOURCE +OS_SOURCE:=$(shell $(FPC) -iSO) endif ifndef OS_TARGET OS_TARGET:=$(shell $(FPC) -iTO) endif -ifndef OS_SOURCE -OS_SOURCE:=$(shell $(FPC) -iSO) endif FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET) FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE) ifneq ($(FULL_TARGET),$(FULL_SOURCE)) CROSSCOMPILE=1 endif +ifeq ($(findstring makefile,$(MAKECMDGOALS)),) +ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),) +$(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first) +endif +endif export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE ifdef FPCDIR override FPCDIR:=$(subst \,/,$(FPCDIR)) @@ -119,6 +155,14 @@ endif else override FPCDIR=wrong endif +ifdef DEFAULT_FPCDIR +ifeq ($(FPCDIR),wrong) +override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR)) +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) +override FPCDIR=wrong +endif +endif +endif ifeq ($(FPCDIR),wrong) ifdef inUnix override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION) @@ -150,7 +194,7 @@ endif else UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) endif -PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages) +PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra) override PACKAGE_NAME=synedit override PACKAGE_VERSION=0.8 ifndef LCL_PLATFORM @@ -162,6 +206,8 @@ endif endif export LCL_PLATFORM override TARGET_UNITS+=allunits +override TARGET_IMPLICITUNITS+=syntextdrawer syneditkeycmds synedittypes syneditstrconst syneditsearch syneditmiscprocs syneditmiscclasses synedittextbuffer synedit synedithighlighter +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) $(wildcard *$(RSTEXT)) override COMPILER_OPTIONS+=-gl override COMPILER_UNITDIR+=../../lcl/units/$(LCL_PLATFORM) ../../lcl/units . override COMPILER_UNITTARGETDIR+=../units @@ -199,6 +245,11 @@ UNIXINSTALLDIR=1 endif endif ifndef INSTALL_PREFIX +ifdef PREFIX +INSTALL_PREFIX=$(PREFIX) +endif +endif +ifndef INSTALL_PREFIX ifdef UNIXINSTALLDIR INSTALL_PREFIX=/usr/local else @@ -210,6 +261,9 @@ endif endif endif export INSTALL_PREFIX +ifdef INSTALL_FPCSUBDIR +export INSTALL_FPCSUBDIR +endif ifndef DIST_DESTDIR DIST_DESTDIR:=$(BASEDIR) endif @@ -256,41 +310,43 @@ endif endif ifndef INSTALL_SOURCEDIR ifdef UNIXINSTALLDIR +ifdef BSDhier +SRCPREFIXDIR=share/src +else +SRCPREFIXDIR=src +endif ifdef INSTALL_FPCPACKAGE -ifdef BSDhier -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/share/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +ifdef INSTALL_FPCSUBDIR +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) else -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) endif else -ifdef BSDhier -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/share/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -else -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif else ifdef INSTALL_FPCPACKAGE +ifdef INSTALL_FPCSUBDIR +INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) +else INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME) +endif else -INSTALL_SOURCEDIRL:=$(INSTALL_BASEDIR)/source +INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source endif endif endif ifndef INSTALL_DOCDIR ifdef UNIXINSTALLDIR +ifdef BSDhier +DOCPREFIXDIR=share/doc +else +DOCPREFIXDIR=doc +endif ifdef INSTALL_FPCPACKAGE -ifdef BSDhier -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/share/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) else -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) -endif -else -ifdef BSDhier -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/share/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -else -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif +INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif else ifdef INSTALL_FPCPACKAGE @@ -411,11 +467,13 @@ PPUEXT=.ppo ASMEXT=.so2 OEXT=.oo2 AOUTEXT=.out -SMARTEXT=.so +SMARTEXT=.sl2 +STATICLIBPREFIX= STATICLIBEXT=.ao2 SHAREDLIBEXT=.dll FPCMADE=fpcmade.os2 ZIPSUFFIX=emx +ECHO=echo endif ifeq ($(OS_TARGET),amiga) EXEEXT= @@ -466,6 +524,18 @@ EXEEXT= FPCMADE=fpcmade.qnx ZIPSUFFIX=qnx endif +ifeq ($(OS_TARGET),netware) +STATICLIBPREFIX= +PPUEXT=.ppn +OEXT=.on +ASMEXT=.s +SMARTEXT=.sl +STATICLIBEXT=.a +SHAREDLIBEXT=.nlm +FPCMADE=fpcmade.nw +ZIPSUFFIX=nw +EXEEXT=.nlm +endif ifndef ECHO ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) @@ -687,6 +757,7 @@ else TAROPT=vz TAREXT=.tar.gz endif +override REQUIRE_PACKAGES=rtl fcl regexpr ifeq ($(OS_TARGET),linux) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -762,20 +833,25 @@ REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_REGEXPR=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 +ifeq ($(OS_TARGET),netware) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 endif +ifdef REQUIRE_PACKAGES_RTL +PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/$(OS_TARGET)/Makefile.fpc,$(PACKAGESDIR)))))) +ifneq ($(PACKAGEDIR_RTL),) ifneq ($(wildcard $(PACKAGEDIR_RTL)/$(OS_TARGET)),) UNITDIR_RTL=$(PACKAGEDIR_RTL)/$(OS_TARGET) else UNITDIR_RTL=$(PACKAGEDIR_RTL) endif +ifdef CHECKDEPEND +$(PACKAGEDIR_RTL)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE) +endif else PACKAGEDIR_RTL= UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR))))) @@ -790,19 +866,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_RTL) endif endif ifdef REQUIRE_PACKAGES_PASZLIB -PACKAGEDIR_PASZLIB:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_PASZLIB:=$(firstword $(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 +ifdef CHECKDEPEND +$(PACKAGEDIR_PASZLIB)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_PASZLIB) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_PASZLIB)/$(FPCMADE) +endif else PACKAGEDIR_PASZLIB= UNITDIR_PASZLIB:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Package.fpc,$(UNITSDIR))))) @@ -817,19 +892,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_PASZLIB) endif endif ifdef REQUIRE_PACKAGES_INET -PACKAGEDIR_INET:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /inet/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_INET:=$(firstword $(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 +ifdef CHECKDEPEND +$(PACKAGEDIR_INET)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_INET) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_INET)/$(FPCMADE) +endif else PACKAGEDIR_INET= UNITDIR_INET:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /inet/Package.fpc,$(UNITSDIR))))) @@ -844,19 +918,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_INET) endif endif ifdef REQUIRE_PACKAGES_FCL -PACKAGEDIR_FCL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_FCL:=$(firstword $(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 +ifdef CHECKDEPEND +$(PACKAGEDIR_FCL)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_FCL) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL)/$(FPCMADE) +endif else PACKAGEDIR_FCL= UNITDIR_FCL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl/Package.fpc,$(UNITSDIR))))) @@ -871,19 +944,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_FCL) endif endif ifdef REQUIRE_PACKAGES_REGEXPR -PACKAGEDIR_REGEXPR:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /regexpr/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_REGEXPR:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /regexpr/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_REGEXPR),) -PACKAGEDIR_REGEXPR:=$(firstword $(PACKAGEDIR_REGEXPR)) -ifeq ($(wildcard $(PACKAGEDIR_REGEXPR)/$(FPCMADE)),) -override COMPILEPACKAGES+=package_regexpr -package_regexpr: - $(MAKE) -C $(PACKAGEDIR_REGEXPR) all -endif ifneq ($(wildcard $(PACKAGEDIR_REGEXPR)/$(OS_TARGET)),) UNITDIR_REGEXPR=$(PACKAGEDIR_REGEXPR)/$(OS_TARGET) else UNITDIR_REGEXPR=$(PACKAGEDIR_REGEXPR) endif +ifdef CHECKDEPEND +$(PACKAGEDIR_REGEXPR)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_REGEXPR) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_REGEXPR)/$(FPCMADE) +endif else PACKAGEDIR_REGEXPR= UNITDIR_REGEXPR:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /regexpr/Package.fpc,$(UNITSDIR))))) @@ -898,19 +970,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_REGEXPR) endif endif ifdef REQUIRE_PACKAGES_MYSQL -PACKAGEDIR_MYSQL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /mysql/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_MYSQL:=$(firstword $(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 +ifdef CHECKDEPEND +$(PACKAGEDIR_MYSQL)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_MYSQL) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_MYSQL)/$(FPCMADE) +endif else PACKAGEDIR_MYSQL= UNITDIR_MYSQL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /mysql/Package.fpc,$(UNITSDIR))))) @@ -925,19 +996,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_MYSQL) endif endif ifdef REQUIRE_PACKAGES_IBASE -PACKAGEDIR_IBASE:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /ibase/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_IBASE:=$(firstword $(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 +ifdef CHECKDEPEND +$(PACKAGEDIR_IBASE)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_IBASE) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_IBASE)/$(FPCMADE) +endif else PACKAGEDIR_IBASE= UNITDIR_IBASE:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /ibase/Package.fpc,$(UNITSDIR))))) @@ -951,7 +1021,6 @@ ifdef UNITDIR_IBASE override COMPILER_UNITDIR+=$(UNITDIR_IBASE) endif endif -.PHONY: package_rtl package_paszlib package_inet package_fcl package_regexpr package_mysql package_ibase ifndef NOCPUDEF override FPCOPTDEF=$(CPU_TARGET) endif @@ -1071,24 +1140,26 @@ endif ifdef TARGET_UNITS override ALLTARGET+=fpc_units override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS)) -override INSTALLPPUFILES+=$(UNITPPUFILES) -override CLEANPPUFILES+=$(UNITPPUFILES) +override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS)) +override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES) +override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES) endif fpc_units: $(UNITPPUFILES) ifdef TARGET_RSTS override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS)) override CLEANRSTFILES+=$(RSTFILES) endif -.PHONY: fpc_packages fpc_all fpc_smart fpc_debug -$(FPCMADE): $(ALLTARGET) +.PHONY: fpc_all fpc_smart fpc_debug fpc_release +$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET) @$(ECHOREDIR) Compiled > $(FPCMADE) -fpc_packages: $(COMPILEPACKAGES) -fpc_all: fpc_packages $(FPCMADE) +fpc_all: $(FPCMADE) fpc_smart: $(MAKE) all LINKSMART=1 CREATESMART=1 fpc_debug: $(MAKE) all DEBUG=1 -.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp +fpc_release: + $(MAKE) all RELEASE=1 +.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp .rc .res %$(PPUEXT): %.pp $(COMPILER) $< $(EXECPPAS) @@ -1101,6 +1172,8 @@ fpc_debug: %$(EXEEXT): %.pas $(COMPILER) $< $(EXECPPAS) +%.res: %.rc + windres -i $< -o $@ vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR) @@ -1108,6 +1181,9 @@ vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR) ifdef INSTALL_UNITS override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS)) endif +ifdef INSTALL_BUILDUNIT +override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES)) +endif ifdef INSTALLPPUFILES override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES)) @@ -1156,7 +1232,7 @@ ifdef INSTALL_FILES endif fpc_sourceinstall: distclean $(MKDIR) $(INSTALL_SOURCEDIR) - $(COPYTREE) $(BASEDIR) $(INSTALL_SOURCEDIR) + $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR) fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS)) ifdef HASEXAMPLES $(MKDIR) $(INSTALL_EXAMPLEDIR) @@ -1288,12 +1364,13 @@ ifdef CLEANEXEFILES endif -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) -$(DELTREE) *$(SMARTEXT) - -$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE) + -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) ifdef AOUTEXT -$(DEL) *$(AOUTEXT) endif -.PHONY: fpc_info -fpc_info: +.PHONY: fpc_baseinfo +override INFORULES+=fpc_baseinfo +fpc_baseinfo: @$(ECHO) @$(ECHO) == Package info == @$(ECHO) Package Name..... $(PACKAGE_NAME) @@ -1307,11 +1384,13 @@ fpc_info: @$(ECHO) Target CPU... $(CPU_TARGET) @$(ECHO) Source OS.... $(OS_SOURCE) @$(ECHO) Target OS.... $(OS_TARGET) - @$(ECHO) Full Target.. $(FULL_SOURCE) - @$(ECHO) Full Source.. $(FULL_TARGET) + @$(ECHO) Full Source.. $(FULL_SOURCE) + @$(ECHO) Full Target.. $(FULL_TARGET) @$(ECHO) @$(ECHO) == Directory info == @$(ECHO) + @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES) + @$(ECHO) @$(ECHO) Basedir......... $(BASEDIR) @$(ECHO) FPCDir.......... $(FPCDIR) @$(ECHO) CrossBinDir..... $(CROSSBINDIR) @@ -1341,12 +1420,13 @@ fpc_info: @$(ECHO) @$(ECHO) == Object info == @$(ECHO) - @$(ECHO) Target Loaders...... $(TARGET_LOADERS) - @$(ECHO) Target Units........ $(TARGET_UNITS) - @$(ECHO) Target Programs..... $(TARGET_PROGRAMS) - @$(ECHO) Target Dirs......... $(TARGET_DIRS) - @$(ECHO) Target Examples..... $(TARGET_EXAMPLES) - @$(ECHO) Target ExampleDirs.. $(TARGET_EXAMPLEDIRS) + @$(ECHO) Target Loaders........ $(TARGET_LOADERS) + @$(ECHO) Target Units.......... $(TARGET_UNITS) + @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS) + @$(ECHO) Target Programs....... $(TARGET_PROGRAMS) + @$(ECHO) Target Dirs........... $(TARGET_DIRS) + @$(ECHO) Target Examples....... $(TARGET_EXAMPLES) + @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS) @$(ECHO) @$(ECHO) Clean Units......... $(CLEAN_UNITS) @$(ECHO) Clean Files......... $(CLEAN_FILES) @@ -1373,8 +1453,25 @@ fpc_info: @$(ECHO) Dist destination dir. $(DIST_DESTDIR) @$(ECHO) Dist zip name........ $(DIST_ZIPNAME) @$(ECHO) +.PHONY: fpc_info +fpc_info: $(INFORULES) +.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \ + fpc_makefile_dirs +fpc_makefile: + $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc +fpc_makefile_sub1: +ifdef TARGET_DIRS + $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS)) +endif +ifdef TARGET_EXAMPLEDIRS + $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS)) +endif +fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS)) +fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2 +fpc_makefiles: fpc_makefile fpc_makefile_dirs debug: fpc_debug smart: fpc_smart +release: fpc_release examples: shared: install: fpc_install @@ -1389,7 +1486,8 @@ clean: fpc_clean distclean: fpc_distclean cleanall: fpc_cleanall info: fpc_info -.PHONY: debug smart examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info +makefiles: fpc_makefiles +.PHONY: debug smart release examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles ifneq ($(wildcard fpcmake.loc),) include fpcmake.loc endif diff --git a/components/synedit/Makefile.fpc b/components/synedit/Makefile.fpc index 7002ae3676..10a3b77ba8 100644 --- a/components/synedit/Makefile.fpc +++ b/components/synedit/Makefile.fpc @@ -24,6 +24,9 @@ packages=fcl regexpr [default] lcldir=../../lcl +[clean] +files=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) $(wildcard *$(RSTEXT)) + [prerules] # LCL Platform ifndef LCL_PLATFORM diff --git a/lcl/Makefile b/lcl/Makefile index c1c67adcb0..84a1d9f8bb 100644 --- a/lcl/Makefile +++ b/lcl/Makefile @@ -1,7 +1,8 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2001/12/31] +# Don't edit, this file is generated by FPCMake Version 1.1 [2002/04/22] # default: all +MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware override PATH:=$(subst \,/,$(PATH)) ifeq ($(findstring ;,$(PATH)),) inUnix=1 @@ -13,10 +14,7 @@ PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH)))) ifeq ($(PWD),) PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH)))) ifeq ($(PWD),) -nopwd: - @echo You need the GNU utils package to use this Makefile! - @echo Get ftp://ftp.freepascal.org/pub/fpc/dist/go32v2/utilgo32.zip - @exit +$(error You need the GNU utils package to use this Makefile) else PWD:=$(firstword $(PWD)) SRCEXEEXT= @@ -70,6 +68,22 @@ endif else BASEDIR=. endif +ifdef inOS2 +ifndef ECHO +ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(ECHO),) +ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(ECHO),) +ECHO=echo +else +ECHO:=$(firstword $(ECHO)) +endif +else +ECHO:=$(firstword $(ECHO)) +endif +endif +export ECHO +endif ifndef FPC ifdef PP FPC=$(PP) @@ -93,23 +107,45 @@ ifndef FPC_VERSION FPC_VERSION:=$(shell $(FPC) -iV) endif export FPC FPC_VERSION +unexport CHECKDEPEND ALLDEPENDENCIES +ifeq ($(findstring 1.0.,$(FPC_VERSION)),) +COMPILERINFO:=$(shell $(FPC) -iSP -iTP -iSO -iTO) +ifndef CPU_SOURCE +CPU_SOURCE:=$(word 1,$(COMPILERINFO)) +endif +ifndef CPU_TARGET +CPU_TARGET:=$(word 2,$(COMPILERINFO)) +endif +ifndef OS_SOURCE +OS_SOURCE:=$(word 3,$(COMPILERINFO)) +endif +ifndef OS_TARGET +OS_TARGET:=$(word 4,$(COMPILERINFO)) +endif +else +ifndef CPU_SOURCE +CPU_SOURCE:=$(shell $(FPC) -iSP) +endif ifndef CPU_TARGET CPU_TARGET:=$(shell $(FPC) -iTP) endif -ifndef CPU_SOURCE -CPU_SOURCE:=$(shell $(FPC) -iSP) +ifndef OS_SOURCE +OS_SOURCE:=$(shell $(FPC) -iSO) endif ifndef OS_TARGET OS_TARGET:=$(shell $(FPC) -iTO) endif -ifndef OS_SOURCE -OS_SOURCE:=$(shell $(FPC) -iSO) endif FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET) FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE) ifneq ($(FULL_TARGET),$(FULL_SOURCE)) CROSSCOMPILE=1 endif +ifeq ($(findstring makefile,$(MAKECMDGOALS)),) +ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),) +$(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first) +endif +endif export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE ifdef FPCDIR override FPCDIR:=$(subst \,/,$(FPCDIR)) @@ -119,6 +155,14 @@ endif else override FPCDIR=wrong endif +ifdef DEFAULT_FPCDIR +ifeq ($(FPCDIR),wrong) +override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR)) +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) +override FPCDIR=wrong +endif +endif +endif ifeq ($(FPCDIR),wrong) ifdef inUnix override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION) @@ -150,13 +194,55 @@ endif else UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) endif -PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages) +PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra) override PACKAGE_NAME=lcl override PACKAGE_VERSION=0.8a +override DEFAULT_LCLDIR=. +ifndef LCL_PLATFORM +ifeq ($(OS_TARGET),win32) +LCL_PLATFORM=win32 +else +LCL_PLATFORM=gtk +endif +endif +export LCL_PLATFORM +ifdef LCLDIR +override LCLDIR:=$(subst \,/,$(LCLDIR)) +ifeq ($(wildcard $(LCLDIR)/units/$(LCL_PLATFORM)),) +override LCLDIR=wrong +endif +else +override LCLDIR=wrong +endif +ifdef DEFAULT_LCLDIR +override LCLDIR:=$(subst \,/,$(DEFAULT_LCLDIR)) +ifeq ($(wildcard $(LCLDIR)/units/$(LCL_PLATFORM)),) +override LCLDIR=wrong +endif +endif +ifeq ($(LCLDIR),wrong) +override LCLDIR=$(subst /units/$(LCL_PLATFORM),,$(firstword $(wildcard $(addsuffix /units/$(LCL_PLATFORM),$(BASEDIR)/lcl $(BASEDIR))))) +ifeq ($(LCLDIR),) +override LCLDIR=wrong +endif +endif +ifeq ($(LCLDIR),wrong) +override LCLDIR=$(subst /units/$(LCL_PLATFORM),,$(firstword $(wildcard $(addsuffix /lib/lazarus/units/$(LCL_PLATFORM),/usr/local /usr)))) +ifeq ($(LCLDIR),) +override LCLDIR=wrong +endif +endif +override LCLUNITDIR:=$(wildcard $(LCLDIR)/units/$(LCL_PLATFORM) $(LCLDIR)/units) +override LCLCOMPONENTDIR:=$(wildcard $(LCLDIR)/.. $(LCLDIR)/../components $(LCLDIR)/components) +export LCLDIR LCLUNITDIR LCLCOMPONENTDIR +override REQUIRE_PACKAGESDIR+=$(LCLCOMPONENTDIR) +override COMPILER_UNITDIR+=$(LCLUNITDIR) override TARGET_DIRS+=interfaces override TARGET_UNITS+=allunits +override TARGET_IMPLICITUNITS+=arrow buttons calendar clipbrd clistbox comctrls controls dialogs dynhasharray extctrls filectrl forms graphics imglist interfacebase lazqueue lcllinux lmessages lresources menus messages registry spin stdctrls toolwin utrace vclglobals interfaces override TARGET_RSTS+=dialogs -override CLEAN_FILES+=$(wildcard units/*$(OEXT)) $(wildcard units/*$(PPUEXT)) +override CLEAN_FILES+=$(wildcard units/*$(OEXT)) $(wildcard units/*$(PPUEXT)) $(wildcard units/*$(RSTEXT))$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) $(wildcard *$(RSTEXT)) +override INSTALL_BUILDUNIT=allunits override COMPILER_OPTIONS+=-gl override COMPILER_INCLUDEDIR+=include override COMPILER_UNITDIR+=interfaces/abstract . @@ -195,6 +281,11 @@ UNIXINSTALLDIR=1 endif endif ifndef INSTALL_PREFIX +ifdef PREFIX +INSTALL_PREFIX=$(PREFIX) +endif +endif +ifndef INSTALL_PREFIX ifdef UNIXINSTALLDIR INSTALL_PREFIX=/usr/local else @@ -206,6 +297,9 @@ endif endif endif export INSTALL_PREFIX +ifdef INSTALL_FPCSUBDIR +export INSTALL_FPCSUBDIR +endif ifndef DIST_DESTDIR DIST_DESTDIR:=$(BASEDIR) endif @@ -252,41 +346,43 @@ endif endif ifndef INSTALL_SOURCEDIR ifdef UNIXINSTALLDIR +ifdef BSDhier +SRCPREFIXDIR=share/src +else +SRCPREFIXDIR=src +endif ifdef INSTALL_FPCPACKAGE -ifdef BSDhier -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/share/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +ifdef INSTALL_FPCSUBDIR +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) else -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) endif else -ifdef BSDhier -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/share/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -else -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif else ifdef INSTALL_FPCPACKAGE +ifdef INSTALL_FPCSUBDIR +INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) +else INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME) +endif else -INSTALL_SOURCEDIRL:=$(INSTALL_BASEDIR)/source +INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source endif endif endif ifndef INSTALL_DOCDIR ifdef UNIXINSTALLDIR +ifdef BSDhier +DOCPREFIXDIR=share/doc +else +DOCPREFIXDIR=doc +endif ifdef INSTALL_FPCPACKAGE -ifdef BSDhier -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/share/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) else -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) -endif -else -ifdef BSDhier -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/share/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -else -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif +INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif else ifdef INSTALL_FPCPACKAGE @@ -407,11 +503,13 @@ PPUEXT=.ppo ASMEXT=.so2 OEXT=.oo2 AOUTEXT=.out -SMARTEXT=.so +SMARTEXT=.sl2 +STATICLIBPREFIX= STATICLIBEXT=.ao2 SHAREDLIBEXT=.dll FPCMADE=fpcmade.os2 ZIPSUFFIX=emx +ECHO=echo endif ifeq ($(OS_TARGET),amiga) EXEEXT= @@ -462,6 +560,18 @@ EXEEXT= FPCMADE=fpcmade.qnx ZIPSUFFIX=qnx endif +ifeq ($(OS_TARGET),netware) +STATICLIBPREFIX= +PPUEXT=.ppn +OEXT=.on +ASMEXT=.s +SMARTEXT=.sl +STATICLIBEXT=.a +SHAREDLIBEXT=.nlm +FPCMADE=fpcmade.nw +ZIPSUFFIX=nw +EXEEXT=.nlm +endif ifndef ECHO ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) @@ -683,6 +793,7 @@ else TAROPT=vz TAREXT=.tar.gz endif +override REQUIRE_PACKAGES=rtl fcl ifeq ($(OS_TARGET),linux) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -772,20 +883,26 @@ REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_OPENGL=1 REQUIRE_PACKAGES_GTK=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 +ifeq ($(OS_TARGET),netware) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_OPENGL=1 +REQUIRE_PACKAGES_GTK=1 endif +ifdef REQUIRE_PACKAGES_RTL +PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/$(OS_TARGET)/Makefile.fpc,$(PACKAGESDIR)))))) +ifneq ($(PACKAGEDIR_RTL),) ifneq ($(wildcard $(PACKAGEDIR_RTL)/$(OS_TARGET)),) UNITDIR_RTL=$(PACKAGEDIR_RTL)/$(OS_TARGET) else UNITDIR_RTL=$(PACKAGEDIR_RTL) endif +ifdef CHECKDEPEND +$(PACKAGEDIR_RTL)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE) +endif else PACKAGEDIR_RTL= UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR))))) @@ -800,19 +917,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_RTL) endif endif ifdef REQUIRE_PACKAGES_PASZLIB -PACKAGEDIR_PASZLIB:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_PASZLIB:=$(firstword $(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 +ifdef CHECKDEPEND +$(PACKAGEDIR_PASZLIB)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_PASZLIB) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_PASZLIB)/$(FPCMADE) +endif else PACKAGEDIR_PASZLIB= UNITDIR_PASZLIB:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Package.fpc,$(UNITSDIR))))) @@ -827,19 +943,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_PASZLIB) endif endif ifdef REQUIRE_PACKAGES_INET -PACKAGEDIR_INET:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /inet/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_INET:=$(firstword $(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 +ifdef CHECKDEPEND +$(PACKAGEDIR_INET)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_INET) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_INET)/$(FPCMADE) +endif else PACKAGEDIR_INET= UNITDIR_INET:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /inet/Package.fpc,$(UNITSDIR))))) @@ -854,19 +969,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_INET) endif endif ifdef REQUIRE_PACKAGES_FCL -PACKAGEDIR_FCL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_FCL:=$(firstword $(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 +ifdef CHECKDEPEND +$(PACKAGEDIR_FCL)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_FCL) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL)/$(FPCMADE) +endif else PACKAGEDIR_FCL= UNITDIR_FCL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl/Package.fpc,$(UNITSDIR))))) @@ -881,19 +995,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_FCL) endif endif ifdef REQUIRE_PACKAGES_MYSQL -PACKAGEDIR_MYSQL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /mysql/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_MYSQL:=$(firstword $(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 +ifdef CHECKDEPEND +$(PACKAGEDIR_MYSQL)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_MYSQL) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_MYSQL)/$(FPCMADE) +endif else PACKAGEDIR_MYSQL= UNITDIR_MYSQL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /mysql/Package.fpc,$(UNITSDIR))))) @@ -908,19 +1021,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_MYSQL) endif endif ifdef REQUIRE_PACKAGES_IBASE -PACKAGEDIR_IBASE:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /ibase/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_IBASE:=$(firstword $(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 +ifdef CHECKDEPEND +$(PACKAGEDIR_IBASE)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_IBASE) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_IBASE)/$(FPCMADE) +endif else PACKAGEDIR_IBASE= UNITDIR_IBASE:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /ibase/Package.fpc,$(UNITSDIR))))) @@ -935,19 +1047,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_IBASE) endif endif ifdef REQUIRE_PACKAGES_X11 -PACKAGEDIR_X11:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /x11/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_X11:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /x11/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_X11),) -PACKAGEDIR_X11:=$(firstword $(PACKAGEDIR_X11)) -ifeq ($(wildcard $(PACKAGEDIR_X11)/$(FPCMADE)),) -override COMPILEPACKAGES+=package_x11 -package_x11: - $(MAKE) -C $(PACKAGEDIR_X11) all -endif ifneq ($(wildcard $(PACKAGEDIR_X11)/$(OS_TARGET)),) UNITDIR_X11=$(PACKAGEDIR_X11)/$(OS_TARGET) else UNITDIR_X11=$(PACKAGEDIR_X11) endif +ifdef CHECKDEPEND +$(PACKAGEDIR_X11)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_X11) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_X11)/$(FPCMADE) +endif else PACKAGEDIR_X11= UNITDIR_X11:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /x11/Package.fpc,$(UNITSDIR))))) @@ -962,19 +1073,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_X11) endif endif ifdef REQUIRE_PACKAGES_OPENGL -PACKAGEDIR_OPENGL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /opengl/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_OPENGL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /opengl/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_OPENGL),) -PACKAGEDIR_OPENGL:=$(firstword $(PACKAGEDIR_OPENGL)) -ifeq ($(wildcard $(PACKAGEDIR_OPENGL)/$(FPCMADE)),) -override COMPILEPACKAGES+=package_opengl -package_opengl: - $(MAKE) -C $(PACKAGEDIR_OPENGL) all -endif ifneq ($(wildcard $(PACKAGEDIR_OPENGL)/$(OS_TARGET)),) UNITDIR_OPENGL=$(PACKAGEDIR_OPENGL)/$(OS_TARGET) else UNITDIR_OPENGL=$(PACKAGEDIR_OPENGL) endif +ifdef CHECKDEPEND +$(PACKAGEDIR_OPENGL)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_OPENGL) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_OPENGL)/$(FPCMADE) +endif else PACKAGEDIR_OPENGL= UNITDIR_OPENGL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /opengl/Package.fpc,$(UNITSDIR))))) @@ -989,19 +1099,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_OPENGL) endif endif ifdef REQUIRE_PACKAGES_GTK -PACKAGEDIR_GTK:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /gtk/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_GTK:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /gtk/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_GTK),) -PACKAGEDIR_GTK:=$(firstword $(PACKAGEDIR_GTK)) -ifeq ($(wildcard $(PACKAGEDIR_GTK)/$(FPCMADE)),) -override COMPILEPACKAGES+=package_gtk -package_gtk: - $(MAKE) -C $(PACKAGEDIR_GTK) all -endif ifneq ($(wildcard $(PACKAGEDIR_GTK)/$(OS_TARGET)),) UNITDIR_GTK=$(PACKAGEDIR_GTK)/$(OS_TARGET) else UNITDIR_GTK=$(PACKAGEDIR_GTK) endif +ifdef CHECKDEPEND +$(PACKAGEDIR_GTK)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_GTK) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_GTK)/$(FPCMADE) +endif else PACKAGEDIR_GTK= UNITDIR_GTK:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /gtk/Package.fpc,$(UNITSDIR))))) @@ -1015,7 +1124,6 @@ ifdef UNITDIR_GTK override COMPILER_UNITDIR+=$(UNITDIR_GTK) endif endif -.PHONY: package_rtl package_paszlib package_inet package_fcl package_mysql package_ibase package_x11 package_opengl package_gtk ifndef NOCPUDEF override FPCOPTDEF=$(CPU_TARGET) endif @@ -1135,24 +1243,26 @@ endif ifdef TARGET_UNITS override ALLTARGET+=fpc_units override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS)) -override INSTALLPPUFILES+=$(UNITPPUFILES) -override CLEANPPUFILES+=$(UNITPPUFILES) +override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS)) +override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES) +override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES) endif fpc_units: $(UNITPPUFILES) ifdef TARGET_RSTS override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS)) override CLEANRSTFILES+=$(RSTFILES) endif -.PHONY: fpc_packages fpc_all fpc_smart fpc_debug -$(FPCMADE): $(ALLTARGET) +.PHONY: fpc_all fpc_smart fpc_debug fpc_release +$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET) @$(ECHOREDIR) Compiled > $(FPCMADE) -fpc_packages: $(COMPILEPACKAGES) -fpc_all: fpc_packages $(FPCMADE) +fpc_all: $(FPCMADE) fpc_smart: $(MAKE) all LINKSMART=1 CREATESMART=1 fpc_debug: $(MAKE) all DEBUG=1 -.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp +fpc_release: + $(MAKE) all RELEASE=1 +.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp .rc .res %$(PPUEXT): %.pp $(COMPILER) $< $(EXECPPAS) @@ -1165,6 +1275,8 @@ fpc_debug: %$(EXEEXT): %.pas $(COMPILER) $< $(EXECPPAS) +%.res: %.rc + windres -i $< -o $@ vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR) @@ -1172,6 +1284,9 @@ vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR) ifdef INSTALL_UNITS override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS)) endif +ifdef INSTALL_BUILDUNIT +override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES)) +endif ifdef INSTALLPPUFILES override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES)) @@ -1220,7 +1335,7 @@ ifdef INSTALL_FILES endif fpc_sourceinstall: distclean $(MKDIR) $(INSTALL_SOURCEDIR) - $(COPYTREE) $(BASEDIR) $(INSTALL_SOURCEDIR) + $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR) fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS)) ifdef HASEXAMPLES $(MKDIR) $(INSTALL_EXAMPLEDIR) @@ -1352,12 +1467,13 @@ ifdef CLEANEXEFILES endif -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) -$(DELTREE) *$(SMARTEXT) - -$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE) + -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) ifdef AOUTEXT -$(DEL) *$(AOUTEXT) endif -.PHONY: fpc_info -fpc_info: +.PHONY: fpc_baseinfo +override INFORULES+=fpc_baseinfo +fpc_baseinfo: @$(ECHO) @$(ECHO) == Package info == @$(ECHO) Package Name..... $(PACKAGE_NAME) @@ -1371,11 +1487,13 @@ fpc_info: @$(ECHO) Target CPU... $(CPU_TARGET) @$(ECHO) Source OS.... $(OS_SOURCE) @$(ECHO) Target OS.... $(OS_TARGET) - @$(ECHO) Full Target.. $(FULL_SOURCE) - @$(ECHO) Full Source.. $(FULL_TARGET) + @$(ECHO) Full Source.. $(FULL_SOURCE) + @$(ECHO) Full Target.. $(FULL_TARGET) @$(ECHO) @$(ECHO) == Directory info == @$(ECHO) + @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES) + @$(ECHO) @$(ECHO) Basedir......... $(BASEDIR) @$(ECHO) FPCDir.......... $(FPCDIR) @$(ECHO) CrossBinDir..... $(CROSSBINDIR) @@ -1405,12 +1523,13 @@ fpc_info: @$(ECHO) @$(ECHO) == Object info == @$(ECHO) - @$(ECHO) Target Loaders...... $(TARGET_LOADERS) - @$(ECHO) Target Units........ $(TARGET_UNITS) - @$(ECHO) Target Programs..... $(TARGET_PROGRAMS) - @$(ECHO) Target Dirs......... $(TARGET_DIRS) - @$(ECHO) Target Examples..... $(TARGET_EXAMPLES) - @$(ECHO) Target ExampleDirs.. $(TARGET_EXAMPLEDIRS) + @$(ECHO) Target Loaders........ $(TARGET_LOADERS) + @$(ECHO) Target Units.......... $(TARGET_UNITS) + @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS) + @$(ECHO) Target Programs....... $(TARGET_PROGRAMS) + @$(ECHO) Target Dirs........... $(TARGET_DIRS) + @$(ECHO) Target Examples....... $(TARGET_EXAMPLES) + @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS) @$(ECHO) @$(ECHO) Clean Units......... $(CLEAN_UNITS) @$(ECHO) Clean Files......... $(CLEAN_FILES) @@ -1437,6 +1556,32 @@ fpc_info: @$(ECHO) Dist destination dir. $(DIST_DESTDIR) @$(ECHO) Dist zip name........ $(DIST_ZIPNAME) @$(ECHO) +override INFORULES+=lclinfo +.PHONY: lclinfo +lclinfo: + @$(ECHO) == LCL info == + @$(ECHO) + @$(ECHO) Platform............. $(LCL_PLATFORM) + @$(ECHO) LCLDIR............... $(LCLDIR) + @$(ECHO) LCL Unit dir......... $(LCLUNITDIR) + @$(ECHO) LCL Component dir.... $(LCLCOMPONENTDIR) + @$(ECHO) +.PHONY: fpc_info +fpc_info: $(INFORULES) +.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \ + fpc_makefile_dirs +fpc_makefile: + $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc +fpc_makefile_sub1: +ifdef TARGET_DIRS + $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS)) +endif +ifdef TARGET_EXAMPLEDIRS + $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS)) +endif +fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS)) +fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2 +fpc_makefiles: fpc_makefile fpc_makefile_dirs TARGET_DIRS_INTERFACES=1 ifdef TARGET_DIRS_INTERFACES interfaces_all: @@ -1445,6 +1590,8 @@ interfaces_debug: $(MAKE) -C interfaces debug interfaces_smart: $(MAKE) -C interfaces smart +interfaces_release: + $(MAKE) -C interfaces release interfaces_examples: $(MAKE) -C interfaces examples interfaces_shared: @@ -1473,12 +1620,15 @@ interfaces_cleanall: $(MAKE) -C interfaces cleanall interfaces_info: $(MAKE) -C interfaces info +interfaces_makefiles: + $(MAKE) -C interfaces makefiles interfaces: $(MAKE) -C interfaces all -.PHONY: interfaces_all interfaces_debug interfaces_smart interfaces_examples interfaces_shared interfaces_install interfaces_sourceinstall interfaces_exampleinstall interfaces_distinstall interfaces_zipinstall interfaces_zipsourceinstall interfaces_zipexampleinstall interfaces_zipdistinstall interfaces_clean interfaces_distclean interfaces_cleanall interfaces_info interfaces +.PHONY: interfaces_all interfaces_debug interfaces_smart interfaces_release interfaces_examples interfaces_shared interfaces_install interfaces_sourceinstall interfaces_exampleinstall interfaces_distinstall interfaces_zipinstall interfaces_zipsourceinstall interfaces_zipexampleinstall interfaces_zipdistinstall interfaces_clean interfaces_distclean interfaces_cleanall interfaces_info interfaces_makefiles interfaces endif debug: fpc_debug smart: fpc_smart +release: fpc_release examples: $(addsuffix _examples,$(TARGET_DIRS)) shared: $(addsuffix _shared,$(TARGET_DIRS)) install: fpc_install $(addsuffix _install,$(TARGET_DIRS)) @@ -1493,7 +1643,8 @@ clean: fpc_clean $(addsuffix _clean,$(TARGET_DIRS)) distclean: fpc_distclean $(addsuffix _distclean,$(TARGET_DIRS)) cleanall: fpc_cleanall $(addsuffix _cleanall,$(TARGET_DIRS)) info: fpc_info -.PHONY: debug smart examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info +makefiles: fpc_makefiles +.PHONY: debug smart release examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles ifneq ($(wildcard fpcmake.loc),) include fpcmake.loc endif diff --git a/lcl/Makefile.fpc b/lcl/Makefile.fpc index 182617388a..1154aef120 100644 --- a/lcl/Makefile.fpc +++ b/lcl/Makefile.fpc @@ -30,7 +30,9 @@ includedir=include buildunit=allunits [clean] -files=$(wildcard units/*$(OEXT)) $(wildcard units/*$(PPUEXT)) +files=$(wildcard units/*$(OEXT)) $(wildcard units/*$(PPUEXT)) $(wildcard units/*$(RSTEXT))\ + $(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) $(wildcard *$(RSTEXT)) + [default] lcldir=. diff --git a/lcl/interfaces/gtk/Makefile b/lcl/interfaces/gtk/Makefile index bd01a8e4eb..5cb5979d2e 100644 --- a/lcl/interfaces/gtk/Makefile +++ b/lcl/interfaces/gtk/Makefile @@ -1,7 +1,8 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2001/12/31] +# Don't edit, this file is generated by FPCMake Version 1.1 [2002/04/22] # default: all +MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware override PATH:=$(subst \,/,$(PATH)) ifeq ($(findstring ;,$(PATH)),) inUnix=1 @@ -13,10 +14,7 @@ PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH)))) ifeq ($(PWD),) PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH)))) ifeq ($(PWD),) -nopwd: - @echo You need the GNU utils package to use this Makefile! - @echo Get ftp://ftp.freepascal.org/pub/fpc/dist/go32v2/utilgo32.zip - @exit +$(error You need the GNU utils package to use this Makefile) else PWD:=$(firstword $(PWD)) SRCEXEEXT= @@ -70,6 +68,22 @@ endif else BASEDIR=. endif +ifdef inOS2 +ifndef ECHO +ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(ECHO),) +ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(ECHO),) +ECHO=echo +else +ECHO:=$(firstword $(ECHO)) +endif +else +ECHO:=$(firstword $(ECHO)) +endif +endif +export ECHO +endif ifndef FPC ifdef PP FPC=$(PP) @@ -93,23 +107,45 @@ ifndef FPC_VERSION FPC_VERSION:=$(shell $(FPC) -iV) endif export FPC FPC_VERSION +unexport CHECKDEPEND ALLDEPENDENCIES +ifeq ($(findstring 1.0.,$(FPC_VERSION)),) +COMPILERINFO:=$(shell $(FPC) -iSP -iTP -iSO -iTO) +ifndef CPU_SOURCE +CPU_SOURCE:=$(word 1,$(COMPILERINFO)) +endif +ifndef CPU_TARGET +CPU_TARGET:=$(word 2,$(COMPILERINFO)) +endif +ifndef OS_SOURCE +OS_SOURCE:=$(word 3,$(COMPILERINFO)) +endif +ifndef OS_TARGET +OS_TARGET:=$(word 4,$(COMPILERINFO)) +endif +else +ifndef CPU_SOURCE +CPU_SOURCE:=$(shell $(FPC) -iSP) +endif ifndef CPU_TARGET CPU_TARGET:=$(shell $(FPC) -iTP) endif -ifndef CPU_SOURCE -CPU_SOURCE:=$(shell $(FPC) -iSP) +ifndef OS_SOURCE +OS_SOURCE:=$(shell $(FPC) -iSO) endif ifndef OS_TARGET OS_TARGET:=$(shell $(FPC) -iTO) endif -ifndef OS_SOURCE -OS_SOURCE:=$(shell $(FPC) -iSO) endif FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET) FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE) ifneq ($(FULL_TARGET),$(FULL_SOURCE)) CROSSCOMPILE=1 endif +ifeq ($(findstring makefile,$(MAKECMDGOALS)),) +ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),) +$(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first) +endif +endif export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE ifdef FPCDIR override FPCDIR:=$(subst \,/,$(FPCDIR)) @@ -119,6 +155,14 @@ endif else override FPCDIR=wrong endif +ifdef DEFAULT_FPCDIR +ifeq ($(FPCDIR),wrong) +override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR)) +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) +override FPCDIR=wrong +endif +endif +endif ifeq ($(FPCDIR),wrong) ifdef inUnix override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION) @@ -150,10 +194,50 @@ endif else UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) endif -PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages) +PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra) override PACKAGE_NAME=lcl +ifndef LCL_PLATFORM +ifeq ($(OS_TARGET),win32) +LCL_PLATFORM=win32 +else +LCL_PLATFORM=gtk +endif +endif +export LCL_PLATFORM +ifdef LCLDIR +override LCLDIR:=$(subst \,/,$(LCLDIR)) +ifeq ($(wildcard $(LCLDIR)/units/$(LCL_PLATFORM)),) +override LCLDIR=wrong +endif +else +override LCLDIR=wrong +endif +ifdef DEFAULT_LCLDIR +override LCLDIR:=$(subst \,/,$(DEFAULT_LCLDIR)) +ifeq ($(wildcard $(LCLDIR)/units/$(LCL_PLATFORM)),) +override LCLDIR=wrong +endif +endif +ifeq ($(LCLDIR),wrong) +override LCLDIR=$(subst /units/$(LCL_PLATFORM),,$(firstword $(wildcard $(addsuffix /units/$(LCL_PLATFORM),$(BASEDIR)/lcl $(BASEDIR))))) +ifeq ($(LCLDIR),) +override LCLDIR=wrong +endif +endif +ifeq ($(LCLDIR),wrong) +override LCLDIR=$(subst /units/$(LCL_PLATFORM),,$(firstword $(wildcard $(addsuffix /lib/lazarus/units/$(LCL_PLATFORM),/usr/local /usr)))) +ifeq ($(LCLDIR),) +override LCLDIR=wrong +endif +endif +override LCLUNITDIR:=$(wildcard $(LCLDIR)/units/$(LCL_PLATFORM) $(LCLDIR)/units) +override LCLCOMPONENTDIR:=$(wildcard $(LCLDIR)/.. $(LCLDIR)/../components $(LCLDIR)/components) +export LCLDIR LCLUNITDIR LCLCOMPONENTDIR +override REQUIRE_PACKAGESDIR+=$(LCLCOMPONENTDIR) +override COMPILER_UNITDIR+=$(LCLUNITDIR) override TARGET_UNITS+=interfaces -override CLEAN_FILES+=$(wildcard ../../units/gtk/*$(OEXT)) $(wildcard ../../units/gtk/*$(PPUEXT)) +override TARGET_IMPLICITUNITS+=gtkdef gtkint gtkwinapiwindow +override CLEAN_FILES+=$(wildcard ../../units/gtk/*$(OEXT)) $(wildcard ../../units/gtk/*$(PPUEXT)) $(wildcard ../../units/gtk/*$(RSTEXT)) $(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) $(wildcard *$(RSTEXT)) override COMPILER_OPTIONS+=-gl override COMPILER_UNITDIR+=../../units . override COMPILER_UNITTARGETDIR+=../../units/gtk @@ -191,6 +275,11 @@ UNIXINSTALLDIR=1 endif endif ifndef INSTALL_PREFIX +ifdef PREFIX +INSTALL_PREFIX=$(PREFIX) +endif +endif +ifndef INSTALL_PREFIX ifdef UNIXINSTALLDIR INSTALL_PREFIX=/usr/local else @@ -202,6 +291,9 @@ endif endif endif export INSTALL_PREFIX +ifdef INSTALL_FPCSUBDIR +export INSTALL_FPCSUBDIR +endif ifndef DIST_DESTDIR DIST_DESTDIR:=$(BASEDIR) endif @@ -248,41 +340,43 @@ endif endif ifndef INSTALL_SOURCEDIR ifdef UNIXINSTALLDIR +ifdef BSDhier +SRCPREFIXDIR=share/src +else +SRCPREFIXDIR=src +endif ifdef INSTALL_FPCPACKAGE -ifdef BSDhier -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/share/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +ifdef INSTALL_FPCSUBDIR +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) else -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) endif else -ifdef BSDhier -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/share/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -else -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif +INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif else ifdef INSTALL_FPCPACKAGE +ifdef INSTALL_FPCSUBDIR +INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) +else INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME) +endif else -INSTALL_SOURCEDIRL:=$(INSTALL_BASEDIR)/source +INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source endif endif endif ifndef INSTALL_DOCDIR ifdef UNIXINSTALLDIR +ifdef BSDhier +DOCPREFIXDIR=share/doc +else +DOCPREFIXDIR=doc +endif ifdef INSTALL_FPCPACKAGE -ifdef BSDhier -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/share/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) +INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) else -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) -endif -else -ifdef BSDhier -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/share/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -else -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif +INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif else ifdef INSTALL_FPCPACKAGE @@ -403,11 +497,13 @@ PPUEXT=.ppo ASMEXT=.so2 OEXT=.oo2 AOUTEXT=.out -SMARTEXT=.so +SMARTEXT=.sl2 +STATICLIBPREFIX= STATICLIBEXT=.ao2 SHAREDLIBEXT=.dll FPCMADE=fpcmade.os2 ZIPSUFFIX=emx +ECHO=echo endif ifeq ($(OS_TARGET),amiga) EXEEXT= @@ -458,6 +554,18 @@ EXEEXT= FPCMADE=fpcmade.qnx ZIPSUFFIX=qnx endif +ifeq ($(OS_TARGET),netware) +STATICLIBPREFIX= +PPUEXT=.ppn +OEXT=.on +ASMEXT=.s +SMARTEXT=.sl +STATICLIBEXT=.a +SHAREDLIBEXT=.nlm +FPCMADE=fpcmade.nw +ZIPSUFFIX=nw +EXEEXT=.nlm +endif ifndef ECHO ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) @@ -679,6 +787,7 @@ else TAROPT=vz TAREXT=.tar.gz endif +override REQUIRE_PACKAGES=rtl rtl fcl gtk ifeq ($(OS_TARGET),linux) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 @@ -768,20 +877,26 @@ REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_GTK=1 REQUIRE_PACKAGES_OPENGL=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 +ifeq ($(OS_TARGET),netware) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_GTK=1 +REQUIRE_PACKAGES_OPENGL=1 endif +ifdef REQUIRE_PACKAGES_RTL +PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/$(OS_TARGET)/Makefile.fpc,$(PACKAGESDIR)))))) +ifneq ($(PACKAGEDIR_RTL),) ifneq ($(wildcard $(PACKAGEDIR_RTL)/$(OS_TARGET)),) UNITDIR_RTL=$(PACKAGEDIR_RTL)/$(OS_TARGET) else UNITDIR_RTL=$(PACKAGEDIR_RTL) endif +ifdef CHECKDEPEND +$(PACKAGEDIR_RTL)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE) +endif else PACKAGEDIR_RTL= UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR))))) @@ -796,19 +911,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_RTL) endif endif ifdef REQUIRE_PACKAGES_PASZLIB -PACKAGEDIR_PASZLIB:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_PASZLIB:=$(firstword $(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 +ifdef CHECKDEPEND +$(PACKAGEDIR_PASZLIB)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_PASZLIB) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_PASZLIB)/$(FPCMADE) +endif else PACKAGEDIR_PASZLIB= UNITDIR_PASZLIB:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Package.fpc,$(UNITSDIR))))) @@ -823,19 +937,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_PASZLIB) endif endif ifdef REQUIRE_PACKAGES_INET -PACKAGEDIR_INET:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /inet/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_INET:=$(firstword $(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 +ifdef CHECKDEPEND +$(PACKAGEDIR_INET)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_INET) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_INET)/$(FPCMADE) +endif else PACKAGEDIR_INET= UNITDIR_INET:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /inet/Package.fpc,$(UNITSDIR))))) @@ -850,19 +963,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_INET) endif endif ifdef REQUIRE_PACKAGES_FCL -PACKAGEDIR_FCL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_FCL:=$(firstword $(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 +ifdef CHECKDEPEND +$(PACKAGEDIR_FCL)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_FCL) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL)/$(FPCMADE) +endif else PACKAGEDIR_FCL= UNITDIR_FCL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl/Package.fpc,$(UNITSDIR))))) @@ -877,19 +989,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_FCL) endif endif ifdef REQUIRE_PACKAGES_GTK -PACKAGEDIR_GTK:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /gtk/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_GTK:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /gtk/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_GTK),) -PACKAGEDIR_GTK:=$(firstword $(PACKAGEDIR_GTK)) -ifeq ($(wildcard $(PACKAGEDIR_GTK)/$(FPCMADE)),) -override COMPILEPACKAGES+=package_gtk -package_gtk: - $(MAKE) -C $(PACKAGEDIR_GTK) all -endif ifneq ($(wildcard $(PACKAGEDIR_GTK)/$(OS_TARGET)),) UNITDIR_GTK=$(PACKAGEDIR_GTK)/$(OS_TARGET) else UNITDIR_GTK=$(PACKAGEDIR_GTK) endif +ifdef CHECKDEPEND +$(PACKAGEDIR_GTK)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_GTK) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_GTK)/$(FPCMADE) +endif else PACKAGEDIR_GTK= UNITDIR_GTK:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /gtk/Package.fpc,$(UNITSDIR))))) @@ -904,19 +1015,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_GTK) endif endif ifdef REQUIRE_PACKAGES_MYSQL -PACKAGEDIR_MYSQL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /mysql/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_MYSQL:=$(firstword $(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 +ifdef CHECKDEPEND +$(PACKAGEDIR_MYSQL)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_MYSQL) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_MYSQL)/$(FPCMADE) +endif else PACKAGEDIR_MYSQL= UNITDIR_MYSQL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /mysql/Package.fpc,$(UNITSDIR))))) @@ -931,19 +1041,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_MYSQL) endif endif ifdef REQUIRE_PACKAGES_IBASE -PACKAGEDIR_IBASE:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /ibase/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_IBASE:=$(firstword $(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 +ifdef CHECKDEPEND +$(PACKAGEDIR_IBASE)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_IBASE) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_IBASE)/$(FPCMADE) +endif else PACKAGEDIR_IBASE= UNITDIR_IBASE:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /ibase/Package.fpc,$(UNITSDIR))))) @@ -958,19 +1067,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_IBASE) endif endif ifdef REQUIRE_PACKAGES_X11 -PACKAGEDIR_X11:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /x11/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_X11:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /x11/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_X11),) -PACKAGEDIR_X11:=$(firstword $(PACKAGEDIR_X11)) -ifeq ($(wildcard $(PACKAGEDIR_X11)/$(FPCMADE)),) -override COMPILEPACKAGES+=package_x11 -package_x11: - $(MAKE) -C $(PACKAGEDIR_X11) all -endif ifneq ($(wildcard $(PACKAGEDIR_X11)/$(OS_TARGET)),) UNITDIR_X11=$(PACKAGEDIR_X11)/$(OS_TARGET) else UNITDIR_X11=$(PACKAGEDIR_X11) endif +ifdef CHECKDEPEND +$(PACKAGEDIR_X11)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_X11) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_X11)/$(FPCMADE) +endif else PACKAGEDIR_X11= UNITDIR_X11:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /x11/Package.fpc,$(UNITSDIR))))) @@ -985,19 +1093,18 @@ override COMPILER_UNITDIR+=$(UNITDIR_X11) endif endif ifdef REQUIRE_PACKAGES_OPENGL -PACKAGEDIR_OPENGL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /opengl/Makefile.fpc,$(PACKAGESDIR))))) +PACKAGEDIR_OPENGL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /opengl/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_OPENGL),) -PACKAGEDIR_OPENGL:=$(firstword $(PACKAGEDIR_OPENGL)) -ifeq ($(wildcard $(PACKAGEDIR_OPENGL)/$(FPCMADE)),) -override COMPILEPACKAGES+=package_opengl -package_opengl: - $(MAKE) -C $(PACKAGEDIR_OPENGL) all -endif ifneq ($(wildcard $(PACKAGEDIR_OPENGL)/$(OS_TARGET)),) UNITDIR_OPENGL=$(PACKAGEDIR_OPENGL)/$(OS_TARGET) else UNITDIR_OPENGL=$(PACKAGEDIR_OPENGL) endif +ifdef CHECKDEPEND +$(PACKAGEDIR_OPENGL)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_OPENGL) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_OPENGL)/$(FPCMADE) +endif else PACKAGEDIR_OPENGL= UNITDIR_OPENGL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /opengl/Package.fpc,$(UNITSDIR))))) @@ -1011,7 +1118,6 @@ ifdef UNITDIR_OPENGL override COMPILER_UNITDIR+=$(UNITDIR_OPENGL) endif endif -.PHONY: package_rtl package_paszlib package_inet package_fcl package_gtk package_mysql package_ibase package_x11 package_opengl ifndef NOCPUDEF override FPCOPTDEF=$(CPU_TARGET) endif @@ -1131,24 +1237,26 @@ endif ifdef TARGET_UNITS override ALLTARGET+=fpc_units override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS)) -override INSTALLPPUFILES+=$(UNITPPUFILES) -override CLEANPPUFILES+=$(UNITPPUFILES) +override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS)) +override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES) +override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES) endif fpc_units: $(UNITPPUFILES) ifdef TARGET_RSTS override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS)) override CLEANRSTFILES+=$(RSTFILES) endif -.PHONY: fpc_packages fpc_all fpc_smart fpc_debug -$(FPCMADE): $(ALLTARGET) +.PHONY: fpc_all fpc_smart fpc_debug fpc_release +$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET) @$(ECHOREDIR) Compiled > $(FPCMADE) -fpc_packages: $(COMPILEPACKAGES) -fpc_all: fpc_packages $(FPCMADE) +fpc_all: $(FPCMADE) fpc_smart: $(MAKE) all LINKSMART=1 CREATESMART=1 fpc_debug: $(MAKE) all DEBUG=1 -.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp +fpc_release: + $(MAKE) all RELEASE=1 +.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp .rc .res %$(PPUEXT): %.pp $(COMPILER) $< $(EXECPPAS) @@ -1161,6 +1269,8 @@ fpc_debug: %$(EXEEXT): %.pas $(COMPILER) $< $(EXECPPAS) +%.res: %.rc + windres -i $< -o $@ vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR) @@ -1168,6 +1278,9 @@ vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR) ifdef INSTALL_UNITS override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS)) endif +ifdef INSTALL_BUILDUNIT +override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES)) +endif ifdef INSTALLPPUFILES override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES)) @@ -1216,7 +1329,7 @@ ifdef INSTALL_FILES endif fpc_sourceinstall: distclean $(MKDIR) $(INSTALL_SOURCEDIR) - $(COPYTREE) $(BASEDIR) $(INSTALL_SOURCEDIR) + $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR) fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS)) ifdef HASEXAMPLES $(MKDIR) $(INSTALL_EXAMPLEDIR) @@ -1269,12 +1382,13 @@ ifdef CLEANEXEFILES endif -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) -$(DELTREE) *$(SMARTEXT) - -$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE) + -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) ifdef AOUTEXT -$(DEL) *$(AOUTEXT) endif -.PHONY: fpc_info -fpc_info: +.PHONY: fpc_baseinfo +override INFORULES+=fpc_baseinfo +fpc_baseinfo: @$(ECHO) @$(ECHO) == Package info == @$(ECHO) Package Name..... $(PACKAGE_NAME) @@ -1288,11 +1402,13 @@ fpc_info: @$(ECHO) Target CPU... $(CPU_TARGET) @$(ECHO) Source OS.... $(OS_SOURCE) @$(ECHO) Target OS.... $(OS_TARGET) - @$(ECHO) Full Target.. $(FULL_SOURCE) - @$(ECHO) Full Source.. $(FULL_TARGET) + @$(ECHO) Full Source.. $(FULL_SOURCE) + @$(ECHO) Full Target.. $(FULL_TARGET) @$(ECHO) @$(ECHO) == Directory info == @$(ECHO) + @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES) + @$(ECHO) @$(ECHO) Basedir......... $(BASEDIR) @$(ECHO) FPCDir.......... $(FPCDIR) @$(ECHO) CrossBinDir..... $(CROSSBINDIR) @@ -1322,12 +1438,13 @@ fpc_info: @$(ECHO) @$(ECHO) == Object info == @$(ECHO) - @$(ECHO) Target Loaders...... $(TARGET_LOADERS) - @$(ECHO) Target Units........ $(TARGET_UNITS) - @$(ECHO) Target Programs..... $(TARGET_PROGRAMS) - @$(ECHO) Target Dirs......... $(TARGET_DIRS) - @$(ECHO) Target Examples..... $(TARGET_EXAMPLES) - @$(ECHO) Target ExampleDirs.. $(TARGET_EXAMPLEDIRS) + @$(ECHO) Target Loaders........ $(TARGET_LOADERS) + @$(ECHO) Target Units.......... $(TARGET_UNITS) + @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS) + @$(ECHO) Target Programs....... $(TARGET_PROGRAMS) + @$(ECHO) Target Dirs........... $(TARGET_DIRS) + @$(ECHO) Target Examples....... $(TARGET_EXAMPLES) + @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS) @$(ECHO) @$(ECHO) Clean Units......... $(CLEAN_UNITS) @$(ECHO) Clean Files......... $(CLEAN_FILES) @@ -1354,8 +1471,35 @@ fpc_info: @$(ECHO) Dist destination dir. $(DIST_DESTDIR) @$(ECHO) Dist zip name........ $(DIST_ZIPNAME) @$(ECHO) +override INFORULES+=lclinfo +.PHONY: lclinfo +lclinfo: + @$(ECHO) == LCL info == + @$(ECHO) + @$(ECHO) Platform............. $(LCL_PLATFORM) + @$(ECHO) LCLDIR............... $(LCLDIR) + @$(ECHO) LCL Unit dir......... $(LCLUNITDIR) + @$(ECHO) LCL Component dir.... $(LCLCOMPONENTDIR) + @$(ECHO) +.PHONY: fpc_info +fpc_info: $(INFORULES) +.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \ + fpc_makefile_dirs +fpc_makefile: + $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc +fpc_makefile_sub1: +ifdef TARGET_DIRS + $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS)) +endif +ifdef TARGET_EXAMPLEDIRS + $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS)) +endif +fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS)) +fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2 +fpc_makefiles: fpc_makefile fpc_makefile_dirs debug: fpc_debug smart: fpc_smart +release: fpc_release examples: shared: install: fpc_install @@ -1370,7 +1514,8 @@ clean: fpc_clean distclean: fpc_distclean cleanall: fpc_cleanall info: fpc_info -.PHONY: debug smart examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info +makefiles: fpc_makefiles +.PHONY: debug smart release examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles ifneq ($(wildcard fpcmake.loc),) include fpcmake.loc endif diff --git a/lcl/interfaces/gtk/Makefile.fpc b/lcl/interfaces/gtk/Makefile.fpc index aeb522886a..4335e1a28e 100644 --- a/lcl/interfaces/gtk/Makefile.fpc +++ b/lcl/interfaces/gtk/Makefile.fpc @@ -19,7 +19,11 @@ unitdir=../../units . unittargetdir=../../units/gtk [clean] -files=$(wildcard ../../units/gtk/*$(OEXT)) $(wildcard ../../units/gtk/*$(PPUEXT)) +files=$(wildcard ../../units/gtk/*$(OEXT)) \ + $(wildcard ../../units/gtk/*$(PPUEXT)) \ + $(wildcard ../../units/gtk/*$(RSTEXT)) \ + $(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) $(wildcard *$(RSTEXT)) + [rules] .PHONY: cleartarget all diff --git a/lcl/interfaces/gtk/gtkobject.inc b/lcl/interfaces/gtk/gtkobject.inc index 8b5c659c5d..441446d8f6 100644 --- a/lcl/interfaces/gtk/gtkobject.inc +++ b/lcl/interfaces/gtk/gtkobject.inc @@ -1243,10 +1243,10 @@ writeln('[TgtkObject.IntSendMessage3] LM_SETFOCUS ',TObject(Sender).ClassName); LM_SETSHORTCUT : begin - with TLMShortcut(data^) do begin + with TLMShortcut(data^) do begin Widget:= PGtkWidget(Handle); - end; - Accelerate(Widget, TLMShortcut(data^)); + end; + Accelerate(Widget, TLMShortcut(data^)); end; LM_SETGEOMETRY : @@ -3841,6 +3841,9 @@ end; { ============================================================================= $Log$ + Revision 1.114 2002/04/26 12:26:50 lazarus + MG: improved clean up + Revision 1.113 2002/03/29 19:11:38 lazarus Added Triple Click Shane