|
@@ -1,7 +1,8 @@
|
|
|
#
|
|
|
-# Don't edit, this file is generated by FPCMake Version 1.1 [2002/01/06]
|
|
|
+# Don't edit, this file is generated by FPCMake Version 1.1 [2002/01/27]
|
|
|
#
|
|
|
default: all
|
|
|
+MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx
|
|
|
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=
|
|
@@ -94,23 +92,44 @@ ifndef FPC_VERSION
|
|
|
FPC_VERSION:=$(shell $(FPC) -iV)
|
|
|
endif
|
|
|
export FPC FPC_VERSION
|
|
|
+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:=$(shell $(FPC) -iTP)
|
|
|
+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 OS_TARGET
|
|
|
-OS_TARGET:=$(shell $(FPC) -iTO)
|
|
|
+ifndef CPU_TARGET
|
|
|
+CPU_TARGET:=$(shell $(FPC) -iTP)
|
|
|
endif
|
|
|
ifndef OS_SOURCE
|
|
|
OS_SOURCE:=$(shell $(FPC) -iSO)
|
|
|
endif
|
|
|
+ifndef OS_TARGET
|
|
|
+OS_TARGET:=$(shell $(FPC) -iTO)
|
|
|
+endif
|
|
|
+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))
|
|
@@ -691,6 +710,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
|
|
@@ -758,9 +778,6 @@ endif
|
|
|
ifdef REQUIRE_PACKAGES_RTL
|
|
|
PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/$(OS_TARGET)/Makefile.fpc,$(PACKAGESDIR))))))
|
|
|
ifneq ($(PACKAGEDIR_RTL),)
|
|
|
-override COMPILEPACKAGES+=$(PACKAGEDIR_RTL)/$(FPCMADE)
|
|
|
-$(PACKAGEDIR_RTL)/$(FPCMADE):
|
|
|
- $(MAKE) -C $(PACKAGEDIR_RTL) all
|
|
|
ifneq ($(wildcard $(PACKAGEDIR_RTL)/$(OS_TARGET)),)
|
|
|
UNITDIR_RTL=$(PACKAGEDIR_RTL)/$(OS_TARGET)
|
|
|
else
|
|
@@ -782,9 +799,6 @@ endif
|
|
|
ifdef REQUIRE_PACKAGES_PASZLIB
|
|
|
PACKAGEDIR_PASZLIB:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Makefile.fpc,$(PACKAGESDIR))))))
|
|
|
ifneq ($(PACKAGEDIR_PASZLIB),)
|
|
|
-override COMPILEPACKAGES+=$(PACKAGEDIR_PASZLIB)/$(FPCMADE)
|
|
|
-$(PACKAGEDIR_PASZLIB)/$(FPCMADE):
|
|
|
- $(MAKE) -C $(PACKAGEDIR_PASZLIB) all
|
|
|
ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/$(OS_TARGET)),)
|
|
|
UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)/$(OS_TARGET)
|
|
|
else
|
|
@@ -806,9 +820,6 @@ endif
|
|
|
ifdef REQUIRE_PACKAGES_INET
|
|
|
PACKAGEDIR_INET:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /inet/Makefile.fpc,$(PACKAGESDIR))))))
|
|
|
ifneq ($(PACKAGEDIR_INET),)
|
|
|
-override COMPILEPACKAGES+=$(PACKAGEDIR_INET)/$(FPCMADE)
|
|
|
-$(PACKAGEDIR_INET)/$(FPCMADE):
|
|
|
- $(MAKE) -C $(PACKAGEDIR_INET) all
|
|
|
ifneq ($(wildcard $(PACKAGEDIR_INET)/$(OS_TARGET)),)
|
|
|
UNITDIR_INET=$(PACKAGEDIR_INET)/$(OS_TARGET)
|
|
|
else
|
|
@@ -830,9 +841,6 @@ endif
|
|
|
ifdef REQUIRE_PACKAGES_FCL
|
|
|
PACKAGEDIR_FCL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl/Makefile.fpc,$(PACKAGESDIR))))))
|
|
|
ifneq ($(PACKAGEDIR_FCL),)
|
|
|
-override COMPILEPACKAGES+=$(PACKAGEDIR_FCL)/$(FPCMADE)
|
|
|
-$(PACKAGEDIR_FCL)/$(FPCMADE):
|
|
|
- $(MAKE) -C $(PACKAGEDIR_FCL) all
|
|
|
ifneq ($(wildcard $(PACKAGEDIR_FCL)/$(OS_TARGET)),)
|
|
|
UNITDIR_FCL=$(PACKAGEDIR_FCL)/$(OS_TARGET)
|
|
|
else
|
|
@@ -854,9 +862,6 @@ endif
|
|
|
ifdef REQUIRE_PACKAGES_MYSQL
|
|
|
PACKAGEDIR_MYSQL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /mysql/Makefile.fpc,$(PACKAGESDIR))))))
|
|
|
ifneq ($(PACKAGEDIR_MYSQL),)
|
|
|
-override COMPILEPACKAGES+=$(PACKAGEDIR_MYSQL)/$(FPCMADE)
|
|
|
-$(PACKAGEDIR_MYSQL)/$(FPCMADE):
|
|
|
- $(MAKE) -C $(PACKAGEDIR_MYSQL) all
|
|
|
ifneq ($(wildcard $(PACKAGEDIR_MYSQL)/$(OS_TARGET)),)
|
|
|
UNITDIR_MYSQL=$(PACKAGEDIR_MYSQL)/$(OS_TARGET)
|
|
|
else
|
|
@@ -878,9 +883,6 @@ endif
|
|
|
ifdef REQUIRE_PACKAGES_IBASE
|
|
|
PACKAGEDIR_IBASE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /ibase/Makefile.fpc,$(PACKAGESDIR))))))
|
|
|
ifneq ($(PACKAGEDIR_IBASE),)
|
|
|
-override COMPILEPACKAGES+=$(PACKAGEDIR_IBASE)/$(FPCMADE)
|
|
|
-$(PACKAGEDIR_IBASE)/$(FPCMADE):
|
|
|
- $(MAKE) -C $(PACKAGEDIR_IBASE) all
|
|
|
ifneq ($(wildcard $(PACKAGEDIR_IBASE)/$(OS_TARGET)),)
|
|
|
UNITDIR_IBASE=$(PACKAGEDIR_IBASE)/$(OS_TARGET)
|
|
|
else
|
|
@@ -1030,15 +1032,16 @@ ifdef TARGET_RSTS
|
|
|
override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
|
|
|
override CLEANRSTFILES+=$(RSTFILES)
|
|
|
endif
|
|
|
-.PHONY: fpc_packages fpc_all fpc_smart fpc_debug
|
|
|
+.PHONY: fpc_all fpc_smart fpc_debug fpc_release
|
|
|
$(FPCMADE): $(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
|
|
|
+fpc_release:
|
|
|
+ $(MAKE) all RELEASE=1
|
|
|
.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp .rc .res
|
|
|
%$(PPUEXT): %.pp
|
|
|
$(COMPILER) $<
|
|
@@ -1190,6 +1193,8 @@ fpc_baseinfo:
|
|
|
@$(ECHO)
|
|
|
@$(ECHO) == Directory info ==
|
|
|
@$(ECHO)
|
|
|
+ @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)
|
|
|
+ @$(ECHO)
|
|
|
@$(ECHO) Basedir......... $(BASEDIR)
|
|
|
@$(ECHO) FPCDir.......... $(FPCDIR)
|
|
|
@$(ECHO) CrossBinDir..... $(CROSSBINDIR)
|
|
@@ -1257,13 +1262,13 @@ fpc_info: $(INFORULES)
|
|
|
.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
|
|
|
fpc_makefile_dirs
|
|
|
fpc_makefile:
|
|
|
- $(FPCMAKE) -w Makefile.fpc
|
|
|
+ $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
|
|
|
fpc_makefile_sub1:
|
|
|
ifdef TARGET_DIRS
|
|
|
- $(FPCMAKE) -w $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
|
|
|
+ $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
|
|
|
endif
|
|
|
ifdef TARGET_EXAMPLEDIRS
|
|
|
- $(FPCMAKE) -w $(addsuffix /Makefile.fpc,$(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
|
|
@@ -1280,6 +1285,7 @@ export DATA2INC
|
|
|
all: fpc_all
|
|
|
debug: fpc_debug
|
|
|
smart: fpc_smart
|
|
|
+release: fpc_release
|
|
|
examples:
|
|
|
shared:
|
|
|
install: fpc_install
|
|
@@ -1294,10 +1300,8 @@ clean: fpc_clean
|
|
|
distclean: fpc_distclean
|
|
|
cleanall: fpc_cleanall
|
|
|
info: fpc_info
|
|
|
-makefile: fpc_makefile
|
|
|
makefiles: fpc_makefiles
|
|
|
-makefile_dirs: fpc_makefile_dirs
|
|
|
-.PHONY: all debug smart examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefile makefiles makefile_dirs
|
|
|
+.PHONY: all 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
|