Browse Source

* fpcmaked -> fpcmade.<TARGET>

peter 26 years ago
parent
commit
005e98fb55
51 changed files with 2157 additions and 1532 deletions
  1. 15 8
      base/Makefile
  2. 15 14
      compiler/Makefile
  3. 15 14
      compiler/new/Makefile
  4. 7 2
      fcl/Makefile
  5. 41 26
      fcl/db/Makefile
  6. 16 15
      fcl/go32v2/Makefile
  7. 16 15
      fcl/linux/Makefile
  8. 37 22
      fcl/os2/Makefile
  9. 17 16
      fcl/shedit/Makefile
  10. 38 23
      fcl/tests/Makefile
  11. 16 15
      fcl/win32/Makefile
  12. 2 2
      ide/Makefile
  13. 2 2
      ide/fake/Makefile
  14. 15 14
      ide/fake/compiler/Makefile
  15. 15 14
      ide/fake/gdb/Makefile
  16. 18 17
      ide/text/Makefile
  17. 246 219
      install/Makefile
  18. 284 229
      install/demo/Makefile
  19. 299 230
      install/fpinst/Makefile
  20. 2 2
      packages/Makefile
  21. 37 22
      packages/forms/Makefile
  22. 125 41
      packages/forms/demo/Makefile
  23. 15 14
      packages/gdbint/Makefile
  24. 41 30
      packages/gdbint/libgdb/Makefile
  25. 39 24
      packages/ggi/Makefile
  26. 15 14
      packages/gtk/Makefile
  27. 15 14
      packages/gtk/examples/Makefile
  28. 15 14
      packages/gtk/tutorial/Makefile
  29. 39 24
      packages/ibase/Makefile
  30. 39 24
      packages/inet/Makefile
  31. 39 24
      packages/mysql/Makefile
  32. 39 24
      packages/ncurses/Makefile
  33. 37 22
      packages/opengl/demos/Makefile
  34. 37 22
      packages/opengl/linuxd/Makefile
  35. 39 24
      packages/opengl/old/Makefile
  36. 39 24
      packages/paszlib/Makefile
  37. 39 24
      packages/postgres/Makefile
  38. 39 24
      packages/svgalib/Makefile
  39. 39 24
      packages/uncgi/Makefile
  40. 39 24
      packages/utmp/Makefile
  41. 2 2
      rtl/Makefile
  42. 37 22
      rtl/go32v1/Makefile
  43. 37 22
      rtl/go32v2/Makefile
  44. 14 13
      rtl/linux/Makefile
  45. 14 13
      rtl/os2/Makefile
  46. 14 13
      rtl/win32/Makefile
  47. 8 2
      tests/Makefile
  48. 38 23
      utils/Makefile
  49. 37 22
      utils/h2pas/Makefile
  50. 37 22
      utils/simulator/Makefile
  51. 37 22
      utils/tply/Makefile

+ 15 - 8
base/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-26 12:50
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: info
 defaultrule: info
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -189,6 +194,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -315,11 +321,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -345,7 +346,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -465,6 +466,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -475,16 +477,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -496,6 +501,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -507,6 +513,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -571,7 +578,7 @@ depend: $(addsuffix _depend,$(DIROBJECTS))
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all

+ 15 - 14
compiler/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-06 18:33
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -479,11 +479,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -649,6 +644,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -659,16 +655,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -680,6 +679,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -691,6 +691,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -745,7 +746,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -760,12 +761,12 @@ endif
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -834,7 +835,7 @@ else
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -965,7 +966,7 @@ ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -982,7 +983,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -990,7 +991,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 15 - 14
compiler/new/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-06 18:34
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -505,11 +505,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -675,6 +670,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -685,16 +681,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -706,6 +705,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -717,6 +717,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -771,7 +772,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -786,12 +787,12 @@ endif
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -860,7 +861,7 @@ else
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -991,7 +992,7 @@ ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -1008,7 +1009,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -1016,7 +1017,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 7 - 2
fcl/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:49
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -199,7 +204,7 @@ info: $(OS_TARGET)_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all

+ 41 - 26
fcl/db/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-01 21:32
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -71,12 +71,17 @@ override CPU_TARGET:=i386
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -207,6 +212,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -361,7 +367,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -423,11 +437,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -453,7 +462,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -573,6 +582,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -583,16 +593,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -604,6 +617,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -615,6 +629,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -679,14 +694,14 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
 endif
 endif
 endif
 endif
 ifneq ($(wildcard $(FCLDIR)),)
 ifneq ($(wildcard $(FCLDIR)),)
-ifeq ($(wildcard $(FCLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(FCLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=fcl
 override COMPILEPACKAGES+=fcl
 fcl_package:
 fcl_package:
 	$(MAKE) -C $(FCLDIR) all
 	$(MAKE) -C $(FCLDIR) all
@@ -696,7 +711,7 @@ endif
 PACKAGEMYSQL=1
 PACKAGEMYSQL=1
 ifdef PACKAGEMYSQL
 ifdef PACKAGEMYSQL
 ifneq ($(wildcard $(PACKAGEDIR)/mysql),)
 ifneq ($(wildcard $(PACKAGEDIR)/mysql),)
-ifeq ($(wildcard $(PACKAGEDIR)/mysql/$(FPCMAKED)),)
+ifeq ($(wildcard $(PACKAGEDIR)/mysql/$(FPCMADE)),)
 override COMPILEPACKAGES+=mysql
 override COMPILEPACKAGES+=mysql
 mysql_package:
 mysql_package:
 	$(MAKE) -C $(PACKAGEDIR)/mysql all
 	$(MAKE) -C $(PACKAGEDIR)/mysql all
@@ -726,8 +741,8 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_examples fpc_test
 .PHONY: fpc_examples fpc_test
 
 
-override EXAMPLEFILES=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
-override EXAMPLEOFILES=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
 
 
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 
 
@@ -741,12 +756,12 @@ fpc_test: examples
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -779,7 +794,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -809,13 +824,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -889,7 +904,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -944,9 +959,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -963,7 +978,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -971,7 +986,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 16 - 15
fcl/go32v2/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-10 00:03
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -441,11 +441,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -591,6 +586,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -601,16 +597,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -622,6 +621,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -633,6 +633,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -693,7 +694,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -703,7 +704,7 @@ endif
 PACKAGEPASZLIB=1
 PACKAGEPASZLIB=1
 ifdef PACKAGEPASZLIB
 ifdef PACKAGEPASZLIB
 ifneq ($(wildcard $(PACKAGEDIR)/paszlib),)
 ifneq ($(wildcard $(PACKAGEDIR)/paszlib),)
-ifeq ($(wildcard $(PACKAGEDIR)/paszlib/$(FPCMAKED)),)
+ifeq ($(wildcard $(PACKAGEDIR)/paszlib/$(FPCMADE)),)
 override COMPILEPACKAGES+=paszlib
 override COMPILEPACKAGES+=paszlib
 paszlib_package:
 paszlib_package:
 	$(MAKE) -C $(PACKAGEDIR)/paszlib all
 	$(MAKE) -C $(PACKAGEDIR)/paszlib all
@@ -733,12 +734,12 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -807,7 +808,7 @@ else
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -938,7 +939,7 @@ ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -955,7 +956,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -963,7 +964,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 16 - 15
fcl/linux/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-10 00:01
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -441,11 +441,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -591,6 +586,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -601,16 +597,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -622,6 +621,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -633,6 +633,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -693,7 +694,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -703,7 +704,7 @@ endif
 PACKAGEZLIB=1
 PACKAGEZLIB=1
 ifdef PACKAGEZLIB
 ifdef PACKAGEZLIB
 ifneq ($(wildcard $(PACKAGEDIR)/zlib),)
 ifneq ($(wildcard $(PACKAGEDIR)/zlib),)
-ifeq ($(wildcard $(PACKAGEDIR)/zlib/$(FPCMAKED)),)
+ifeq ($(wildcard $(PACKAGEDIR)/zlib/$(FPCMADE)),)
 override COMPILEPACKAGES+=zlib
 override COMPILEPACKAGES+=zlib
 zlib_package:
 zlib_package:
 	$(MAKE) -C $(PACKAGEDIR)/zlib all
 	$(MAKE) -C $(PACKAGEDIR)/zlib all
@@ -733,12 +734,12 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -807,7 +808,7 @@ else
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -938,7 +939,7 @@ ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -955,7 +956,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -963,7 +964,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 37 - 22
fcl/os2/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:49
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -72,12 +72,17 @@ override CPU_TARGET:=i386
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -216,6 +221,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -359,7 +365,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -421,11 +435,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -451,7 +460,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -571,6 +580,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -581,16 +591,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -602,6 +615,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -613,6 +627,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -673,7 +688,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -702,12 +717,12 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -740,7 +755,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -770,13 +785,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -850,7 +865,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -905,9 +920,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -924,7 +939,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -932,7 +947,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 17 - 16
fcl/shedit/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-12 18:45
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -426,11 +426,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -576,6 +571,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -586,16 +582,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -607,6 +606,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -618,6 +618,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -678,14 +679,14 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
 endif
 endif
 endif
 endif
 ifneq ($(wildcard $(FCLDIR)),)
 ifneq ($(wildcard $(FCLDIR)),)
-ifeq ($(wildcard $(FCLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(FCLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=fcl
 override COMPILEPACKAGES+=fcl
 fcl_package:
 fcl_package:
 	$(MAKE) -C $(FCLDIR) all
 	$(MAKE) -C $(FCLDIR) all
@@ -700,7 +701,7 @@ PACKAGEGTK=1
 endif
 endif
 ifdef PACKAGEGTK
 ifdef PACKAGEGTK
 ifneq ($(wildcard $(PACKAGEDIR)/gtk),)
 ifneq ($(wildcard $(PACKAGEDIR)/gtk),)
-ifeq ($(wildcard $(PACKAGEDIR)/gtk/$(FPCMAKED)),)
+ifeq ($(wildcard $(PACKAGEDIR)/gtk/$(FPCMADE)),)
 override COMPILEPACKAGES+=gtk
 override COMPILEPACKAGES+=gtk
 gtk_package:
 gtk_package:
 	$(MAKE) -C $(PACKAGEDIR)/gtk all
 	$(MAKE) -C $(PACKAGEDIR)/gtk all
@@ -745,12 +746,12 @@ fpc_exes: $(EXEFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -819,7 +820,7 @@ else
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -950,7 +951,7 @@ ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -967,7 +968,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -975,7 +976,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 38 - 23
fcl/tests/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:49
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -201,6 +206,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -343,7 +349,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -405,11 +419,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -435,7 +444,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -555,6 +564,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -565,16 +575,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -586,6 +599,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -597,6 +611,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -657,14 +672,14 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
 endif
 endif
 endif
 endif
 ifneq ($(wildcard $(FCLDIR)),)
 ifneq ($(wildcard $(FCLDIR)),)
-ifeq ($(wildcard $(FCLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(FCLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=fcl
 override COMPILEPACKAGES+=fcl
 fcl_package:
 fcl_package:
 	$(MAKE) -C $(FCLDIR) all
 	$(MAKE) -C $(FCLDIR) all
@@ -694,12 +709,12 @@ fpc_exes: $(EXEFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -732,7 +747,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -762,13 +777,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -842,7 +857,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -897,9 +912,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -916,7 +931,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -924,7 +939,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 16 - 15
fcl/win32/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-13 12:11
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -441,11 +441,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -591,6 +586,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -601,16 +597,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -622,6 +621,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -633,6 +633,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -693,7 +694,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -703,7 +704,7 @@ endif
 PACKAGEPASZLIB=1
 PACKAGEPASZLIB=1
 ifdef PACKAGEPASZLIB
 ifdef PACKAGEPASZLIB
 ifneq ($(wildcard $(PACKAGEDIR)/paszlib),)
 ifneq ($(wildcard $(PACKAGEDIR)/paszlib),)
-ifeq ($(wildcard $(PACKAGEDIR)/paszlib/$(FPCMAKED)),)
+ifeq ($(wildcard $(PACKAGEDIR)/paszlib/$(FPCMADE)),)
 override COMPILEPACKAGES+=paszlib
 override COMPILEPACKAGES+=paszlib
 paszlib_package:
 paszlib_package:
 	$(MAKE) -C $(PACKAGEDIR)/paszlib all
 	$(MAKE) -C $(PACKAGEDIR)/paszlib all
@@ -733,12 +734,12 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -807,7 +808,7 @@ else
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -938,7 +939,7 @@ ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -955,7 +956,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -963,7 +964,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 2 - 2
ide/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-06 18:34
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -202,7 +202,7 @@ info: $(addsuffix _info,$(DIROBJECTS))
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all

+ 2 - 2
ide/fake/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-06 18:34
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -204,7 +204,7 @@ info: $(addsuffix _info,$(DIROBJECTS))
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all

+ 15 - 14
ide/fake/compiler/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-06 18:34
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -386,11 +386,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -536,6 +531,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -546,16 +542,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -567,6 +566,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -578,6 +578,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -638,7 +639,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -667,12 +668,12 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -741,7 +742,7 @@ else
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -872,7 +873,7 @@ ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -889,7 +890,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -897,7 +898,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 15 - 14
ide/fake/gdb/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-06 18:34
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -386,11 +386,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -536,6 +531,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -546,16 +542,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -567,6 +566,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -578,6 +578,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -638,7 +639,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -667,12 +668,12 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -741,7 +742,7 @@ else
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -872,7 +873,7 @@ ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -889,7 +890,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -897,7 +898,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 18 - 17
ide/text/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-06 18:34
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -465,11 +465,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -615,6 +610,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -625,16 +621,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -646,6 +645,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -657,6 +657,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -713,7 +714,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -725,7 +726,7 @@ PACKAGEFV=1
 PACKAGEGDBINT=1
 PACKAGEGDBINT=1
 ifdef PACKAGEAPI
 ifdef PACKAGEAPI
 ifneq ($(wildcard $(PACKAGEDIR)/api),)
 ifneq ($(wildcard $(PACKAGEDIR)/api),)
-ifeq ($(wildcard $(PACKAGEDIR)/api/$(FPCMAKED)),)
+ifeq ($(wildcard $(PACKAGEDIR)/api/$(FPCMADE)),)
 override COMPILEPACKAGES+=api
 override COMPILEPACKAGES+=api
 api_package:
 api_package:
 	$(MAKE) -C $(PACKAGEDIR)/api all
 	$(MAKE) -C $(PACKAGEDIR)/api all
@@ -734,7 +735,7 @@ endif
 endif
 endif
 ifdef PACKAGEFV
 ifdef PACKAGEFV
 ifneq ($(wildcard $(PACKAGEDIR)/fv),)
 ifneq ($(wildcard $(PACKAGEDIR)/fv),)
-ifeq ($(wildcard $(PACKAGEDIR)/fv/$(FPCMAKED)),)
+ifeq ($(wildcard $(PACKAGEDIR)/fv/$(FPCMADE)),)
 override COMPILEPACKAGES+=fv
 override COMPILEPACKAGES+=fv
 fv_package:
 fv_package:
 	$(MAKE) -C $(PACKAGEDIR)/fv all
 	$(MAKE) -C $(PACKAGEDIR)/fv all
@@ -743,7 +744,7 @@ endif
 endif
 endif
 ifdef PACKAGEGDBINT
 ifdef PACKAGEGDBINT
 ifneq ($(wildcard $(PACKAGEDIR)/gdbint),)
 ifneq ($(wildcard $(PACKAGEDIR)/gdbint),)
-ifeq ($(wildcard $(PACKAGEDIR)/gdbint/$(FPCMAKED)),)
+ifeq ($(wildcard $(PACKAGEDIR)/gdbint/$(FPCMADE)),)
 override COMPILEPACKAGES+=gdbint
 override COMPILEPACKAGES+=gdbint
 gdbint_package:
 gdbint_package:
 	$(MAKE) -C $(PACKAGEDIR)/gdbint all
 	$(MAKE) -C $(PACKAGEDIR)/gdbint all
@@ -774,12 +775,12 @@ fpc_exes: $(EXEFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -848,7 +849,7 @@ else
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -979,7 +980,7 @@ ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -996,7 +997,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -1004,7 +1005,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 246 - 219
install/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-10 23:52
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: help
 defaultrule: help
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -102,6 +107,10 @@ endif
 #####################################################################
 #####################################################################
 
 
 # Release ? Then force OPT and don't use extra opts via commandline
 # Release ? Then force OPT and don't use extra opts via commandline
+ifndef REDIRFILE
+REDIRFILE=log
+endif
+
 ifdef RELEASE
 ifdef RELEASE
 override OPT:=-Xs -OG2p3 -n
 override OPT:=-Xs -OG2p3 -n
 endif
 endif
@@ -111,6 +120,15 @@ ifdef VERBOSE
 override OPT+=-vwni
 override OPT+=-vwni
 endif
 endif
 
 
+ifdef REDIR
+ifndef inlinux
+override FPC=redir -eo $(FPC)
+endif
+# set the verbosity to max
+override OPT+=-va
+override REDIR:= >> $(REDIRFILE)
+endif
+
 #####################################################################
 #####################################################################
 # User Settings
 # User Settings
 #####################################################################
 #####################################################################
@@ -146,6 +164,7 @@ endif
 
 
 # Install
 # Install
 
 
+ZIPTARGET=install
 
 
 # Defaults
 # Defaults
 
 
@@ -155,6 +174,15 @@ endif
 ifndef FPCDIR
 ifndef FPCDIR
 FPCDIR=..
 FPCDIR=..
 endif
 endif
+ifndef PACKAGEDIR
+PACKAGEDIR=$(FPCDIR)/packages
+endif
+ifndef COMPONENTDIR
+COMPONENTDIR=$(FPCDIR)/components
+endif
+
+# Packages
+
 
 
 # Libraries
 # Libraries
 
 
@@ -170,6 +198,11 @@ else
 BASEDIR=.
 BASEDIR=.
 endif
 endif
 
 
+# this can be set to 'rtl' when the RTL units are installed
+ifndef UNITPREFIX
+UNITPREFIX=units
+endif
+
 # set the prefix directory where to install everything
 # set the prefix directory where to install everything
 ifndef PREFIXINSTALLDIR
 ifndef PREFIXINSTALLDIR
 ifdef inlinux
 ifdef inlinux
@@ -179,43 +212,18 @@ export PREFIXINSTALLDIR=/pp
 endif
 endif
 endif
 endif
 
 
-# set the directory to the rtl base
-ifndef RTLDIR
-ifdef RTL
-RTLDIR:=$(RTL)/$(OS_TARGET)
-else
-RTLDIR:=$(FPCDIR)/rtl/$(OS_TARGET)
-endif
-endif
-
-# specify where units are.
-ifndef UNITDIR
-ifdef UNITS
-UNITDIR=$(UNITS)/$(OS_TARGET)
-else
-UNITDIR=$(FPCDIR)/units/$(OS_TARGET)
-endif
-endif
-ifeq ($(strip $(wildcard $(UNITDIR)/*)),)
-UNITDIR=
-endif
-
-# On linux, try to find where libgcc.a is.
-ifdef inlinux
-ifndef GCCLIBDIR
-export GCCLIBDIR:=$(shell dirname `(gcc -v 2>&1)| head -n 1| awk '{ print $$4 } '`)
-endif
-endif
-
-# Where to find other libraries
-ifdef inlinux
-ifndef OTHERLIBDIR
-export OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
+# create fcldir,rtldir,unitdir
+ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
+ifneq ($(FPCDIR),.)
+override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
+override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
+override UNITSDIR=$(FPCDIR)/units/$(OS_TARGET)
 endif
 endif
 endif
 endif
 
 
 #####################################################################
 #####################################################################
-# Install Directories based on BASEINSTALLDIR
+# Install Directories
 #####################################################################
 #####################################################################
 
 
 # set the base directory where to install everything
 # set the base directory where to install everything
@@ -227,16 +235,6 @@ BASEINSTALLDIR=$(PREFIXINSTALLDIR)
 endif
 endif
 endif
 endif
 
 
-
-# Linux binary really goes to baseinstalldir
-ifndef LIBINSTALLDIR
-ifdef inlinux
-LIBINSTALLDIR=$(BASEINSTALLDIR)
-else
-LIBINSTALLDIR=$(BASEINSTALLDIR)/lib
-endif
-endif
-
 # set the directory where to install the binaries
 # set the directory where to install the binaries
 ifndef BININSTALLDIR
 ifndef BININSTALLDIR
 ifdef inlinux
 ifdef inlinux
@@ -246,15 +244,28 @@ BININSTALLDIR=$(BASEINSTALLDIR)/bin/$(OS_TARGET)
 endif
 endif
 endif
 endif
 
 
-# Where the .msg files will be stored
-ifndef MSGINSTALLDIR
-MSGINSTALLDIR=$(BASEINSTALLDIR)/msg
+# set the directory where to install the units.
+ifndef UNITINSTALLDIR
+UNITINSTALLDIR=$(BASEINSTALLDIR)/$(UNITPREFIX)/$(OS_TARGET)
 endif
 endif
 
 
-# Where the .msg files will be stored
+# Where to install shared libraries
+ifndef LIBINSTALLDIR
+ifdef inlinux
+LIBINSTALLDIR=$(PREFIXINSTALLDIR)/lib
+else
+LIBINSTALLDIR=$(UNITINSTALLDIR)
+endif
+endif
+
+# Where the source files will be stored
 ifndef SOURCEINSTALLDIR
 ifndef SOURCEINSTALLDIR
+ifdef inlinux
+SOURCEINSTALLDIR=$(PREFIXINSTALLDIR)/src/fpc-$(FPC_VERSION)
+else
 SOURCEINSTALLDIR=$(BASEINSTALLDIR)/source
 SOURCEINSTALLDIR=$(BASEINSTALLDIR)/source
 endif
 endif
+endif
 
 
 # Where the doc files will be stored
 # Where the doc files will be stored
 ifndef DOCINSTALLDIR
 ifndef DOCINSTALLDIR
@@ -265,42 +276,9 @@ DOCINSTALLDIR=$(BASEINSTALLDIR)/doc
 endif
 endif
 endif
 endif
 
 
-########################
-# Unit Directories
-########################
-
-# this can be set to 'rtl' when the RTL units are installed
-ifndef UNITPREFIX
-UNITPREFIX=units
-endif
-
-# set the directory where to install the units.
-ifndef UNITINSTALLDIR
-UNITINSTALLDIR=$(BASEINSTALLDIR)/$(UNITPREFIX)/$(OS_TARGET)
-endif
-
-# set the directory where to install the units.
-ifndef STATIC_UNITINSTALLDIR
-STATIC_UNITINSTALLDIR=$(UNITINSTALLDIR)/static
-endif
-
-# set the directory where to install the units.
-ifndef SHARED_UNITINSTALLDIR
-SHARED_UNITINSTALLDIR=$(UNITINSTALLDIR)/shared
-endif
-
-# set the directory where to install the libs (must exist)
-ifndef STATIC_LIBINSTALLDIR
-STATIC_LIBINSTALLDIR=$(STATIC_UNITINSTALLDIR)
-endif
-
-# set the directory where to install the libs (must exist)
-ifndef SHARED_LIBINSTALLDIR
-ifdef inlinux
-SHARED_LIBINSTALLDIR=$(PREFIXINSTALLDIR)/lib
-else
-SHARED_LIBINSTALLDIR=$(SHARED_UNITINSTALLDIR)
-endif
+# Where the some extra (data)files will be stored
+ifndef EXTRAINSTALLDIR
+EXTRAINSTALLDIR=$(BASEINSTALLDIR)
 endif
 endif
 
 
 
 
@@ -316,22 +294,22 @@ ifneq ($(OS_TARGET),$(OS_SOURCE))
 override FPCOPT+=-T$(OS_TARGET)
 override FPCOPT+=-T$(OS_TARGET)
 endif
 endif
 
 
-
-ifdef NEEDOPT
-override FPCOPT+=$(NEEDOPT)
+ifdef RTLDIR
+override FPCOPT+=-Fu$(RTLDIR)
 endif
 endif
 
 
-# RTL first and then Unit dir (a unit can override RTLunit). Don't add the
-# dirs if fpcdir=. which can be used for the rtl makefiles
-ifdef FPCDIR
-ifneq ($(FPCDIR),.)
-override FPCOPT+=-Fu$(FPCDIR)/rtl/$(OS_TARGET) -Fu$(FPCDIR)/units/$(OS_TARGET)
-endif
+ifdef UNITSDIR
+override FPCOPT+=-Fu$(UNITSDIR)
 endif
 endif
 
 
 # Smartlinking
 # Smartlinking
-ifeq ($(SMARTLINK),YES)
-override FPCOPT+=-Cx
+ifdef SMARTLINK
+override FPCOPT+=-CX
+endif
+
+# Debug
+ifdef DEBUG
+override FPCOPT+=-g
 endif
 endif
 
 
 # Add commandline options
 # Add commandline options
@@ -356,12 +334,25 @@ ifdef FPCOPTDEF
 override FPCOPT+=$(FPCOPTDEF)
 override FPCOPT+=$(FPCOPTDEF)
 endif
 endif
 
 
+# Error file ?
+ifdef ERRORFILE
+override FPCOPT+=-Fr$(ERRORFILE)
+endif
+
 # Was a config file specified ?
 # Was a config file specified ?
 ifdef CFGFILE
 ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -372,6 +363,11 @@ ifndef COPY
 export COPY:=cp -fp
 export COPY:=cp -fp
 endif
 endif
 
 
+# Copy a whole tree
+ifndef COPYTREE
+export COPYTREE:=cp -rfp
+endif
+
 # To move pograms
 # To move pograms
 ifndef MOVE
 ifndef MOVE
 export MOVE:=mv -f
 export MOVE:=mv -f
@@ -428,16 +424,6 @@ ifndef LD
 LD=ld
 LD=ld
 endif
 endif
 
 
-# Where is the ppumove program ?
-ifndef PPUMOVE
-PPUMOVE=ppumove
-endif
-
-# Where is the ppdep program ?
-ifndef PPDEP
-PPDEP=ppdep
-endif
-
 # ppas.bat / ppas.sh
 # ppas.bat / ppas.sh
 ifdef inlinux
 ifdef inlinux
 PPAS=ppas.sh
 PPAS=ppas.sh
@@ -453,7 +439,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -473,6 +459,36 @@ export ECHO:=$(firstword $(ECHO))
 endif
 endif
 endif
 endif
 
 
+# ppdep
+ifndef PPDEP
+PPDEP:=$(strip $(wildcard $(addsuffix /ppdep$(EXEEXT),$(SEARCHPATH))))
+ifeq ($(PPDEP),)
+PPDEP=
+else
+export PPDEP:=$(firstword $(PPDEP))
+endif
+endif
+
+# ppumove
+ifndef PPUMOVE
+PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(EXEEXT),$(SEARCHPATH))))
+ifeq ($(PPUMOVE),)
+PPUMOVE=
+else
+export PPUMOVE:=$(firstword $(PPUMOVE))
+endif
+endif
+
+# ppufiles
+ifndef PPUFILES
+PPUFILES:=$(strip $(wildcard $(addsuffix /ppufiles$(EXEEXT),$(SEARCHPATH))))
+ifeq ($(PPUFILES),)
+PPUFILES=
+else
+export PPUFILES:=$(firstword $(PPUFILES))
+endif
+endif
+
 # Look if UPX is found for go32v2 and win32. We can't use $UPX becuase
 # Look if UPX is found for go32v2 and win32. We can't use $UPX becuase
 # upx uses that one itself (PFV)
 # upx uses that one itself (PFV)
 ifndef UPXPROG
 ifndef UPXPROG
@@ -543,6 +559,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -553,16 +570,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -574,6 +594,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -585,6 +606,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -611,26 +633,22 @@ endif
 endif
 endif
 
 
 #####################################################################
 #####################################################################
-# Default rules
+# Standard rules
 #####################################################################
 #####################################################################
 
 
-.PHONY: defaultrule all staticlib sharedlib showinstall install \
-	staticinstall sharedinstall libinstall zipinstall zipinstalladd \
-	clean cleanall depend info
-
 all: fpc_all
 all: fpc_all
 
 
-staticlib: fpc_staticlib
+debug: fpc_debug
 
 
-sharedlib: fpc_sharedlib
+smart: fpc_smart
 
 
-showinstall: fpc_showinstall
+shared: fpc_shared
 
 
-staticinstall: fpc_staticinstall
+showinstall: fpc_showinstall
 
 
-sharedinstall: fpc_sharedinstall
+install: fpc_install
 
 
-libinstall: fpc_libinstall
+sourceinstall: fpc_sourceinstall
 
 
 zipinstall: fpc_zipinstall
 zipinstall: fpc_zipinstall
 
 
@@ -638,41 +656,44 @@ zipinstalladd: fpc_zipinstalladd
 
 
 clean: fpc_clean
 clean: fpc_clean
 
 
-clean_all: fpc_clean_all
+cleanall: fpc_cleanall
 
 
-depend: fpc_depend
-
-info: fpc_info
+.PHONY:  all debug smart shared showinstall install sourceinstall zipinstall zipinstalladd clean cleanall
 
 
 #####################################################################
 #####################################################################
-# General compile rules
+# Package depends
 #####################################################################
 #####################################################################
 
 
-.PHONY: fpc_all fpc_units fpc_exes fpc_loaders
+ifneq ($(wildcard $(RTLDIR)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
+override COMPILEPACKAGES+=rtl
+rtl_package:
+	$(MAKE) -C $(RTLDIR) all
+endif
+endif
 
 
-# Create Filenames
-LOADEROFILES=$(addsuffix $(OEXT),$(LOADEROBJECTS))
-EXEFILES=$(addsuffix $(EXEEXT),$(EXEOBJECTS))
-EXEOFILES=$(addsuffix $(OEXT),$(EXEOBJECTS))
-UNITPPUFILES=$(addsuffix $(PPUEXT),$(UNITOBJECTS))
-UNITOFILES=$(addsuffix $(OEXT),$(UNITOBJECTS))
-UNITAFILES=$(addsuffix $(STATICLIBEXT),$(UNITOBJECTS))
+.PHONY:  rtl_package
 
 
-.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp
+#####################################################################
+# General compile rules
+#####################################################################
 
 
-ifdef DEFAULTUNITS
-fpc_all: fpc_loaders fpc_units
-else
-fpc_all: fpc_loaders fpc_units fpc_exes
-endif
+.PHONY: fpc_all fpc_debug
 
 
-fpc_loaders: $(LOADEROFILES)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
-fpc_units: $(UNITPPUFILES)
+fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
+	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
+	 $(ALLTARGET) $(FPCMADE)
 
 
-fpc_exes: $(EXEFILES)
+fpc_debug:
+	$(MAKE) all DEBUG=1
 
 
 # General compile rules, available for both possible PASEXT
 # General compile rules, available for both possible PASEXT
+
+.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp
+
 %$(PPUEXT): %.pp
 %$(PPUEXT): %.pp
 	$(COMPILER) $< $(REDIR)
 	$(COMPILER) $< $(REDIR)
 	$(EXECPASS)
 	$(EXECPASS)
@@ -689,25 +710,21 @@ fpc_exes: $(EXEFILES)
 	$(COMPILER) $< $(REDIR)
 	$(COMPILER) $< $(REDIR)
 	$(EXECPASS)
 	$(EXECPASS)
 
 
-%$(OEXT): %$(LOADEREXT)
-	$(AS) -o $*$(OEXT) $<
-
 #####################################################################
 #####################################################################
 # Library
 # Library
 #####################################################################
 #####################################################################
 
 
-.PHONY: fpc_staticlib fpc_sharedlib
+.PHONY: fpc_smart fpc_shared
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
-fpc_staticlib:
-	$(MAKE) libsclean
-	$(MAKE) all SMARTLINK=YES
+fpc_smart:
+	$(MAKE) all SMARTLINK=1
 
 
-fpc_sharedlib: all
+fpc_shared: all
 ifdef inlinux
 ifdef inlinux
 ifndef LIBNAME
 ifndef LIBNAME
 	@$(ECHO) LIBNAME not set
 	@$(ECHO) LIBNAME not set
@@ -722,56 +739,78 @@ endif
 # Install rules
 # Install rules
 #####################################################################
 #####################################################################
 
 
-.PHONY: fpc_showinstallfiles fpc_install
+.PHONY: fpc_showinstall fpc_install
 
 
-ifdef UNITOBJECTS
-override UNITINSTALLFILES=$(wildcard $(UNITPPUFILES) $(UNITOFILES) $(UNITAFILES))
-endif
 ifdef EXTRAINSTALLUNITS
 ifdef EXTRAINSTALLUNITS
-override EXTRAINSTALLFILES+=$(wildcard $(addsuffix $(OEXT),$(EXTRAINSTALLUNITS)) $(addsuffix $(STATICLIBEXT),$(EXTRAINSTALLUNITS)) $(addsuffix $(PPUEXT),$(EXTRAINSTALLUNITS)))
+override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRAINSTALLUNITS))
 endif
 endif
 
 
-fpc_showinstallfiles : all
-ifndef DEFAULTUNITS
-ifdef EXEOBJECTS
-	@$(ECHO) $(addprefix "\n"$(BININSTALLDIR)/,$(EXEFILES))
+ifdef INSTALLPPUFILES
+ifdef PPUFILES
+ifdef inlinux
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+else
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+endif
+else
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
+endif
+endif
+
+fpc_showinstall: $(SHOWINSTALLTARGET)
+ifdef INSTALLEXEFILES
+	@$(ECHO) $(addprefix "\n"$(BININSTALLDIR)/,$(INSTALLEXEFILES))
 endif
 endif
+ifdef INSTALLPPUFILES
+	@$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPUFILES))
+ifneq ($(INSTALLPPULINKFILES),)
+	@$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPULINKFILES))
 endif
 endif
-ifdef LOADEROBJECTS
-	@$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(LOADEROFILES))
+ifneq ($(INSTALLPPULIBFILES),)
+	@$(ECHO) $(addprefix "\n"$(LIBINSTALLDIR)/,$(INSTALLPPULIBFILES))
 endif
 endif
-ifdef UNITINSTALLFILES
-	@$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(UNITINSTALLFILES))
 endif
 endif
 ifdef EXTRAINSTALLFILES
 ifdef EXTRAINSTALLFILES
-	@$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(EXTRAINSTALLFILES))
+	@$(ECHO) $(addprefix "\n"$(EXTRAINSTALLDIR)/,$(EXTRAINSTALLFILES))
 endif
 endif
 
 
-fpc_install:
+fpc_install: $(INSTALLTARGET)
 # Create UnitInstallFiles
 # Create UnitInstallFiles
-ifndef DEFAULTUNITS
-ifdef EXEOBJECTS
+ifdef INSTALLEXEFILES
 	$(MKDIR) $(BININSTALLDIR)
 	$(MKDIR) $(BININSTALLDIR)
 # Compress the exes if upx is defined
 # Compress the exes if upx is defined
 ifdef UPXPROG
 ifdef UPXPROG
-	-$(UPXPROG) $(EXEFILES)
-endif
-	$(INSTALLEXE) $(EXEFILES) $(BININSTALLDIR)
+	-$(UPXPROG) $(INSTALLEXEFILES)
 endif
 endif
+	$(INSTALLEXE) $(INSTALLEXEFILES) $(BININSTALLDIR)
 endif
 endif
-ifdef LOADEROBJECTS
+ifdef INSTALLPPUFILES
 	$(MKDIR) $(UNITINSTALLDIR)
 	$(MKDIR) $(UNITINSTALLDIR)
-	$(INSTALL) $(LOADEROFILES) $(UNITINSTALLDIR)
+	$(INSTALL) $(INSTALLPPUFILES) $(UNITINSTALLDIR)
+ifneq ($(INSTALLPPULINKFILES),)
+	$(INSTALL) $(INSTALLPPULINKFILES) $(UNITINSTALLDIR)
+endif
+ifneq ($(INSTALLPPULIBFILES),)
+	$(MKDIR) $(LIBINSTALLDIR)
+	$(INSTALL) $(INSTALLPPULIBFILES) $(LIBINSTALLDIR)
 endif
 endif
-ifdef UNITINSTALLFILES
-	$(MKDIR) $(UNITINSTALLDIR)
-	$(INSTALL) $(UNITINSTALLFILES) $(UNITINSTALLDIR)
 endif
 endif
 ifdef EXTRAINSTALLFILES
 ifdef EXTRAINSTALLFILES
-	$(MKDIR) $(UNITINSTALLDIR)
-	$(INSTALL) $(EXTRAINSTALLFILES) $(UNITINSTALLDIR)
+	$(MKDIR) $(EXTRAINSTALLDIR)
+	$(INSTALL) $(EXTRAINSTALLFILES) $(EXTRAINSTALLDIR)
 endif
 endif
 
 
+#####################################################################
+# Source install rules
+#####################################################################
+
+.PHONY: fpc_sourceinstall
+
+fpc_sourceinstall: clean
+	$(MKDIR) $(SOURCEINSTALLDIR)
+	$(COPYTREE) $(BASEDIR) $(SOURCEINSTALLDIR)
+
 #####################################################################
 #####################################################################
 # Zip
 # Zip
 #####################################################################
 #####################################################################
@@ -788,8 +827,8 @@ endif
 endif
 endif
 
 
 # Test dir if none specified
 # Test dir if none specified
-ifndef PACKAGEDIR
-PACKAGEDIR=$(BASEDIR)
+ifndef DESTZIPDIR
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -799,11 +838,6 @@ override ZIPNAME:=$(ZIPNAME)$(ZIPEXT)
 endif
 endif
 endif
 endif
 
 
-# Default target which is call before zipping
-ifndef ZIPTARGET
-ZIPTARGET=install
-endif
-
 # Note: This will not remove the zipfile first
 # Note: This will not remove the zipfile first
 fpc_zipinstalladd:
 fpc_zipinstalladd:
 ifndef ZIPNAME
 ifndef ZIPNAME
@@ -812,11 +846,11 @@ ifndef ZIPNAME
 else
 else
 	$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
 	$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
 ifdef inlinux
 ifdef inlinux
-	gzip -d $(PACKAGEDIR)/$(ZIPNAME).tar.gz
-	cd $(PACKDIR) ; tar rv --file $(PACKAGEDIR)/$(ZIPNAME).tar * ; cd $(BASEDIR)
-	gzip $(PACKAGEDIR)/$(ZIPNAME).tar
+	gzip -d $(DESTZIPDIR)/$(ZIPNAME).tar.gz
+	cd $(PACKDIR) ; tar rv --file $(DESTZIPDIR)/$(ZIPNAME).tar * ; cd $(BASEDIR)
+	gzip $(DESTZIPDIR)/$(ZIPNAME).tar
 else
 else
-	cd $(PACKDIR) ; $(ZIPPROG) $(PACKAGEDIR)/$(ZIPNAME) * ; cd $(BASEDIR)
+	cd $(PACKDIR) ; $(ZIPPROG) $(DESTZIPDIR)/$(ZIPNAME) * ; cd $(BASEDIR)
 endif
 endif
 	$(DELTREE) $(PACKDIR)
 	$(DELTREE) $(PACKDIR)
 endif
 endif
@@ -827,12 +861,12 @@ ifndef ZIPNAME
 	@$(ECHO) Please specify ZIPNAME!
 	@$(ECHO) Please specify ZIPNAME!
 	@exit
 	@exit
 else
 else
-	$(DEL) $(PACKAGEDIR)/$(ZIPNAME)
+	$(DEL) $(DESTZIPDIR)/$(ZIPNAME)
 	$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
 	$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
 ifdef inlinux
 ifdef inlinux
-	cd $(PACKDIR) ; tar cvz --file $(PACKAGEDIR)/$(ZIPNAME).tar.gz * ; cd $(BASEDIR)
+	cd $(PACKDIR) ; tar cvz --file $(DESTZIPDIR)/$(ZIPNAME).tar.gz * ; cd $(BASEDIR)
 else
 else
-	cd $(PACKDIR) ; $(ZIPPROG) $(PACKAGEDIR)/$(ZIPNAME) * ; cd $(BASEDIR)
+	cd $(PACKDIR) ; $(ZIPPROG) $(DESTZIPDIR)/$(ZIPNAME) * ; cd $(BASEDIR)
 endif
 endif
 	$(DELTREE) $(PACKDIR)
 	$(DELTREE) $(PACKDIR)
 endif
 endif
@@ -841,54 +875,47 @@ endif
 # Clean rules
 # Clean rules
 #####################################################################
 #####################################################################
 
 
-.PHONY: fpc_clean fpc_libsclean fpc_cleanall
+.PHONY: fpc_clean fpc_cleanall
 
 
-ifdef UNITOBJECTS
-override UNITCLEANFILES=$(wildcard $(UNITPPUFILES) $(UNITOFILES) $(UNITAFILES))
-endif
 ifdef EXTRACLEANUNITS
 ifdef EXTRACLEANUNITS
-override EXTRACLEANFILES+=$(wildcard $(addsuffix $(OEXT),$(EXTRACLEANUNITS)) $(addsuffix $(STATICLIBEXT),$(EXTRACLEANUNITS)) $(addsuffix $(PPUEXT),$(EXTRACLEANUNITS)))
+override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRACLEANUNITS))
 endif
 endif
 
 
-fpc_clean:
-ifdef EXEOBJECTS
-	-$(DEL) $(EXEFILES) $(EXEOFILES)
+ifdef CLEANPPUFILES
+ifdef PPUFILES
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
+else
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
+endif
 endif
 endif
-ifdef LOADEROBJECTS
-	-$(DEL) $(LOADEROFILES)
+
+fpc_clean: $(CLEANTARGET)
+ifdef CLEANEXEFILES
+	-$(DEL) $(CLEANEXEFILES)
+endif
+ifdef CLEANPPUFILES
+	-$(DEL) $(CLEANPPUFILES)
 endif
 endif
-ifdef UNITCLEANFILES
-	-$(DEL) $(UNITCLEANFILES)
+ifneq ($(CLEANPPULINKFILES),)
+	-$(DEL) $(CLEANPPULINKFILES)
 endif
 endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(PPAS) link.res log
-
-fpc_libsclean: clean
-	-$(DEL) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
-fpc_cleanall:
-ifdef EXEOBJECTS
-	-$(DEL) $(EXEFILES)
+fpc_cleanall: $(CLEANTARGET)
+ifdef CLEANEXEFILES
+	-$(DEL) $(CLEANEXEFILES)
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-
-#####################################################################
-# Depend rules
-#####################################################################
-
-.PHONY: fpc_depend
-
-fpc_depend:
-	$(PPDEP) $(UNITOBJECTS)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Users rules
 # Users rules
 #####################################################################
 #####################################################################
 
 
-
 help:
 help:
 	@echo
 	@echo
 	@echo Possible targets are:
 	@echo Possible targets are:

+ 284 - 229
install/demo/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-10 23:52
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -102,6 +107,10 @@ endif
 #####################################################################
 #####################################################################
 
 
 # Release ? Then force OPT and don't use extra opts via commandline
 # Release ? Then force OPT and don't use extra opts via commandline
+ifndef REDIRFILE
+REDIRFILE=log
+endif
+
 ifdef RELEASE
 ifdef RELEASE
 override OPT:=-Xs -OG2p3 -n
 override OPT:=-Xs -OG2p3 -n
 endif
 endif
@@ -111,6 +120,15 @@ ifdef VERBOSE
 override OPT+=-vwni
 override OPT+=-vwni
 endif
 endif
 
 
+ifdef REDIR
+ifndef inlinux
+override FPC=redir -eo $(FPC)
+endif
+# set the verbosity to max
+override OPT+=-va
+override REDIR:= >> $(REDIRFILE)
+endif
+
 #####################################################################
 #####################################################################
 # User Settings
 # User Settings
 #####################################################################
 #####################################################################
@@ -118,15 +136,15 @@ endif
 
 
 # Targets
 # Targets
 
 
-EXEOBJECTS=eratos qsort hello blackbox magic lines fpctris
+override EXEOBJECTS+=eratos qsort hello blackbox magic lines fpctris
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
-EXEOBJECTS+=mandel samegame
+override EXEOBJECTS+=mandel samegame
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
-EXEOBJECTS+=mandel samegame
+override EXEOBJECTS+=mandel samegame
 endif
 endif
 ifeq ($(OS_TARGET),win32)
 ifeq ($(OS_TARGET),win32)
-EXEOBJECTS+=winhello menu mandel dlltest testdll
+override EXEOBJECTS+=winhello menu mandel dlltest testdll
 endif
 endif
 
 
 # Clean
 # Clean
@@ -134,6 +152,7 @@ endif
 
 
 # Install
 # Install
 
 
+ZIPTARGET=install
 
 
 # Defaults
 # Defaults
 
 
@@ -143,17 +162,26 @@ endif
 ifndef FPCDIR
 ifndef FPCDIR
 FPCDIR=../..
 FPCDIR=../..
 endif
 endif
+ifndef PACKAGEDIR
+PACKAGEDIR=$(FPCDIR)/packages
+endif
+ifndef COMPONENTDIR
+COMPONENTDIR=$(FPCDIR)/components
+endif
 override NEEDUNITDIR=$(FPCDIR)/api
 override NEEDUNITDIR=$(FPCDIR)/api
 ifndef TARGETDIR
 ifndef TARGETDIR
 TARGETDIR=.
 TARGETDIR=.
 endif
 endif
 
 
+# Packages
+
+
 # Libraries
 # Libraries
 
 
 
 
 # Info
 # Info
 
 
-FPCINFO=fpc_infocfg fpc_infoobjects fpc_infoinstall 
+INFOTARGET=fpc_infocfg fpc_infoobjects fpc_infoinstall 
 
 
 #####################################################################
 #####################################################################
 # Default Directories
 # Default Directories
@@ -166,6 +194,11 @@ else
 BASEDIR=.
 BASEDIR=.
 endif
 endif
 
 
+# this can be set to 'rtl' when the RTL units are installed
+ifndef UNITPREFIX
+UNITPREFIX=units
+endif
+
 # set the prefix directory where to install everything
 # set the prefix directory where to install everything
 ifndef PREFIXINSTALLDIR
 ifndef PREFIXINSTALLDIR
 ifdef inlinux
 ifdef inlinux
@@ -175,43 +208,18 @@ export PREFIXINSTALLDIR=/pp
 endif
 endif
 endif
 endif
 
 
-# set the directory to the rtl base
-ifndef RTLDIR
-ifdef RTL
-RTLDIR:=$(RTL)/$(OS_TARGET)
-else
-RTLDIR:=$(FPCDIR)/rtl/$(OS_TARGET)
-endif
-endif
-
-# specify where units are.
-ifndef UNITDIR
-ifdef UNITS
-UNITDIR=$(UNITS)/$(OS_TARGET)
-else
-UNITDIR=$(FPCDIR)/units/$(OS_TARGET)
-endif
-endif
-ifeq ($(strip $(wildcard $(UNITDIR)/*)),)
-UNITDIR=
-endif
-
-# On linux, try to find where libgcc.a is.
-ifdef inlinux
-ifndef GCCLIBDIR
-export GCCLIBDIR:=$(shell dirname `(gcc -v 2>&1)| head -n 1| awk '{ print $$4 } '`)
-endif
-endif
-
-# Where to find other libraries
-ifdef inlinux
-ifndef OTHERLIBDIR
-export OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
+# create fcldir,rtldir,unitdir
+ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
+ifneq ($(FPCDIR),.)
+override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
+override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
+override UNITSDIR=$(FPCDIR)/units/$(OS_TARGET)
 endif
 endif
 endif
 endif
 
 
 #####################################################################
 #####################################################################
-# Install Directories based on BASEINSTALLDIR
+# Install Directories
 #####################################################################
 #####################################################################
 
 
 # set the base directory where to install everything
 # set the base directory where to install everything
@@ -223,16 +231,6 @@ BASEINSTALLDIR=$(PREFIXINSTALLDIR)
 endif
 endif
 endif
 endif
 
 
-
-# Linux binary really goes to baseinstalldir
-ifndef LIBINSTALLDIR
-ifdef inlinux
-LIBINSTALLDIR=$(BASEINSTALLDIR)
-else
-LIBINSTALLDIR=$(BASEINSTALLDIR)/lib
-endif
-endif
-
 # set the directory where to install the binaries
 # set the directory where to install the binaries
 ifndef BININSTALLDIR
 ifndef BININSTALLDIR
 ifdef inlinux
 ifdef inlinux
@@ -242,15 +240,28 @@ BININSTALLDIR=$(BASEINSTALLDIR)/bin/$(OS_TARGET)
 endif
 endif
 endif
 endif
 
 
-# Where the .msg files will be stored
-ifndef MSGINSTALLDIR
-MSGINSTALLDIR=$(BASEINSTALLDIR)/msg
+# set the directory where to install the units.
+ifndef UNITINSTALLDIR
+UNITINSTALLDIR=$(BASEINSTALLDIR)/$(UNITPREFIX)/$(OS_TARGET)
 endif
 endif
 
 
-# Where the .msg files will be stored
+# Where to install shared libraries
+ifndef LIBINSTALLDIR
+ifdef inlinux
+LIBINSTALLDIR=$(PREFIXINSTALLDIR)/lib
+else
+LIBINSTALLDIR=$(UNITINSTALLDIR)
+endif
+endif
+
+# Where the source files will be stored
 ifndef SOURCEINSTALLDIR
 ifndef SOURCEINSTALLDIR
+ifdef inlinux
+SOURCEINSTALLDIR=$(PREFIXINSTALLDIR)/src/fpc-$(FPC_VERSION)
+else
 SOURCEINSTALLDIR=$(BASEINSTALLDIR)/source
 SOURCEINSTALLDIR=$(BASEINSTALLDIR)/source
 endif
 endif
+endif
 
 
 # Where the doc files will be stored
 # Where the doc files will be stored
 ifndef DOCINSTALLDIR
 ifndef DOCINSTALLDIR
@@ -261,42 +272,9 @@ DOCINSTALLDIR=$(BASEINSTALLDIR)/doc
 endif
 endif
 endif
 endif
 
 
-########################
-# Unit Directories
-########################
-
-# this can be set to 'rtl' when the RTL units are installed
-ifndef UNITPREFIX
-UNITPREFIX=units
-endif
-
-# set the directory where to install the units.
-ifndef UNITINSTALLDIR
-UNITINSTALLDIR=$(BASEINSTALLDIR)/$(UNITPREFIX)/$(OS_TARGET)
-endif
-
-# set the directory where to install the units.
-ifndef STATIC_UNITINSTALLDIR
-STATIC_UNITINSTALLDIR=$(UNITINSTALLDIR)/static
-endif
-
-# set the directory where to install the units.
-ifndef SHARED_UNITINSTALLDIR
-SHARED_UNITINSTALLDIR=$(UNITINSTALLDIR)/shared
-endif
-
-# set the directory where to install the libs (must exist)
-ifndef STATIC_LIBINSTALLDIR
-STATIC_LIBINSTALLDIR=$(STATIC_UNITINSTALLDIR)
-endif
-
-# set the directory where to install the libs (must exist)
-ifndef SHARED_LIBINSTALLDIR
-ifdef inlinux
-SHARED_LIBINSTALLDIR=$(PREFIXINSTALLDIR)/lib
-else
-SHARED_LIBINSTALLDIR=$(SHARED_UNITINSTALLDIR)
-endif
+# Where the some extra (data)files will be stored
+ifndef EXTRAINSTALLDIR
+EXTRAINSTALLDIR=$(BASEINSTALLDIR)
 endif
 endif
 
 
 
 
@@ -312,17 +290,12 @@ ifneq ($(OS_TARGET),$(OS_SOURCE))
 override FPCOPT+=-T$(OS_TARGET)
 override FPCOPT+=-T$(OS_TARGET)
 endif
 endif
 
 
-
-ifdef NEEDOPT
-override FPCOPT+=$(NEEDOPT)
+ifdef RTLDIR
+override FPCOPT+=-Fu$(RTLDIR)
 endif
 endif
 
 
-# RTL first and then Unit dir (a unit can override RTLunit). Don't add the
-# dirs if fpcdir=. which can be used for the rtl makefiles
-ifdef FPCDIR
-ifneq ($(FPCDIR),.)
-override FPCOPT+=-Fu$(FPCDIR)/rtl/$(OS_TARGET) -Fu$(FPCDIR)/units/$(OS_TARGET)
-endif
+ifdef UNITSDIR
+override FPCOPT+=-Fu$(UNITSDIR)
 endif
 endif
 
 
 ifdef NEEDUNITDIR
 ifdef NEEDUNITDIR
@@ -335,8 +308,13 @@ override FPCOPT+=-FE$(TARGETDIR)
 endif
 endif
 
 
 # Smartlinking
 # Smartlinking
-ifeq ($(SMARTLINK),YES)
-override FPCOPT+=-Cx
+ifdef SMARTLINK
+override FPCOPT+=-CX
+endif
+
+# Debug
+ifdef DEBUG
+override FPCOPT+=-g
 endif
 endif
 
 
 # Add commandline options
 # Add commandline options
@@ -361,12 +339,25 @@ ifdef FPCOPTDEF
 override FPCOPT+=$(FPCOPTDEF)
 override FPCOPT+=$(FPCOPTDEF)
 endif
 endif
 
 
+# Error file ?
+ifdef ERRORFILE
+override FPCOPT+=-Fr$(ERRORFILE)
+endif
+
 # Was a config file specified ?
 # Was a config file specified ?
 ifdef CFGFILE
 ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -377,6 +368,11 @@ ifndef COPY
 export COPY:=cp -fp
 export COPY:=cp -fp
 endif
 endif
 
 
+# Copy a whole tree
+ifndef COPYTREE
+export COPYTREE:=cp -rfp
+endif
+
 # To move pograms
 # To move pograms
 ifndef MOVE
 ifndef MOVE
 export MOVE:=mv -f
 export MOVE:=mv -f
@@ -433,16 +429,6 @@ ifndef LD
 LD=ld
 LD=ld
 endif
 endif
 
 
-# Where is the ppumove program ?
-ifndef PPUMOVE
-PPUMOVE=ppumove
-endif
-
-# Where is the ppdep program ?
-ifndef PPDEP
-PPDEP=ppdep
-endif
-
 # ppas.bat / ppas.sh
 # ppas.bat / ppas.sh
 ifdef inlinux
 ifdef inlinux
 PPAS=ppas.sh
 PPAS=ppas.sh
@@ -458,7 +444,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -478,6 +464,36 @@ export ECHO:=$(firstword $(ECHO))
 endif
 endif
 endif
 endif
 
 
+# ppdep
+ifndef PPDEP
+PPDEP:=$(strip $(wildcard $(addsuffix /ppdep$(EXEEXT),$(SEARCHPATH))))
+ifeq ($(PPDEP),)
+PPDEP=
+else
+export PPDEP:=$(firstword $(PPDEP))
+endif
+endif
+
+# ppumove
+ifndef PPUMOVE
+PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(EXEEXT),$(SEARCHPATH))))
+ifeq ($(PPUMOVE),)
+PPUMOVE=
+else
+export PPUMOVE:=$(firstword $(PPUMOVE))
+endif
+endif
+
+# ppufiles
+ifndef PPUFILES
+PPUFILES:=$(strip $(wildcard $(addsuffix /ppufiles$(EXEEXT),$(SEARCHPATH))))
+ifeq ($(PPUFILES),)
+PPUFILES=
+else
+export PPUFILES:=$(firstword $(PPUFILES))
+endif
+endif
+
 # Look if UPX is found for go32v2 and win32. We can't use $UPX becuase
 # Look if UPX is found for go32v2 and win32. We can't use $UPX becuase
 # upx uses that one itself (PFV)
 # upx uses that one itself (PFV)
 ifndef UPXPROG
 ifndef UPXPROG
@@ -548,6 +564,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -558,16 +575,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -579,6 +599,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -590,6 +611,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -616,26 +638,22 @@ endif
 endif
 endif
 
 
 #####################################################################
 #####################################################################
-# Default rules
+# Standard rules
 #####################################################################
 #####################################################################
 
 
-.PHONY: defaultrule all staticlib sharedlib showinstall install \
-	staticinstall sharedinstall libinstall zipinstall zipinstalladd \
-	clean cleanall depend info
-
 all: fpc_all
 all: fpc_all
 
 
-staticlib: fpc_staticlib
+debug: fpc_debug
 
 
-sharedlib: fpc_sharedlib
+smart: fpc_smart
 
 
-showinstall: fpc_showinstall
+shared: fpc_shared
 
 
-staticinstall: fpc_staticinstall
+showinstall: fpc_showinstall
 
 
-sharedinstall: fpc_sharedinstall
+install: fpc_install
 
 
-libinstall: fpc_libinstall
+sourceinstall: fpc_sourceinstall
 
 
 zipinstall: fpc_zipinstall
 zipinstall: fpc_zipinstall
 
 
@@ -643,41 +661,61 @@ zipinstalladd: fpc_zipinstalladd
 
 
 clean: fpc_clean
 clean: fpc_clean
 
 
-clean_all: fpc_clean_all
-
-depend: fpc_depend
+cleanall: fpc_cleanall
 
 
 info: fpc_info
 info: fpc_info
 
 
+.PHONY:  all debug smart shared showinstall install sourceinstall zipinstall zipinstalladd clean cleanall info
+
 #####################################################################
 #####################################################################
-# General compile rules
+# Package depends
 #####################################################################
 #####################################################################
 
 
-.PHONY: fpc_all fpc_units fpc_exes fpc_loaders
+ifneq ($(wildcard $(RTLDIR)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
+override COMPILEPACKAGES+=rtl
+rtl_package:
+	$(MAKE) -C $(RTLDIR) all
+endif
+endif
 
 
-# Create Filenames
-LOADEROFILES=$(addsuffix $(OEXT),$(LOADEROBJECTS))
-EXEFILES=$(addsuffix $(EXEEXT),$(EXEOBJECTS))
-EXEOFILES=$(addsuffix $(OEXT),$(EXEOBJECTS))
-UNITPPUFILES=$(addsuffix $(PPUEXT),$(UNITOBJECTS))
-UNITOFILES=$(addsuffix $(OEXT),$(UNITOBJECTS))
-UNITAFILES=$(addsuffix $(STATICLIBEXT),$(UNITOBJECTS))
+.PHONY:  rtl_package
 
 
-.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp
+#####################################################################
+# Exes
+#####################################################################
 
 
-ifdef DEFAULTUNITS
-fpc_all: fpc_loaders fpc_units
-else
-fpc_all: fpc_loaders fpc_units fpc_exes
-endif
+.PHONY: fpc_exes
 
 
-fpc_loaders: $(LOADEROFILES)
+override EXEFILES=$(addsuffix $(EXEEXT),$(EXEOBJECTS))
+override EXEOFILES=$(addsuffix $(OEXT),$(EXEOBJECTS))
 
 
-fpc_units: $(UNITPPUFILES)
+override ALLTARGET+=fpc_exes
+override INSTALLEXEFILES+=$(EXEFILES)
+override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
 
 
 fpc_exes: $(EXEFILES)
 fpc_exes: $(EXEFILES)
 
 
+#####################################################################
+# General compile rules
+#####################################################################
+
+.PHONY: fpc_all fpc_debug
+
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
+
+fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
+	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
+	 $(ALLTARGET) $(FPCMADE)
+
+fpc_debug:
+	$(MAKE) all DEBUG=1
+
 # General compile rules, available for both possible PASEXT
 # General compile rules, available for both possible PASEXT
+
+.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp
+
 %$(PPUEXT): %.pp
 %$(PPUEXT): %.pp
 	$(COMPILER) $< $(REDIR)
 	$(COMPILER) $< $(REDIR)
 	$(EXECPASS)
 	$(EXECPASS)
@@ -694,25 +732,21 @@ fpc_exes: $(EXEFILES)
 	$(COMPILER) $< $(REDIR)
 	$(COMPILER) $< $(REDIR)
 	$(EXECPASS)
 	$(EXECPASS)
 
 
-%$(OEXT): %$(LOADEREXT)
-	$(AS) -o $*$(OEXT) $<
-
 #####################################################################
 #####################################################################
 # Library
 # Library
 #####################################################################
 #####################################################################
 
 
-.PHONY: fpc_staticlib fpc_sharedlib
+.PHONY: fpc_smart fpc_shared
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
-fpc_staticlib:
-	$(MAKE) libsclean
-	$(MAKE) all SMARTLINK=YES
+fpc_smart:
+	$(MAKE) all SMARTLINK=1
 
 
-fpc_sharedlib: all
+fpc_shared: all
 ifdef inlinux
 ifdef inlinux
 ifndef LIBNAME
 ifndef LIBNAME
 	@$(ECHO) LIBNAME not set
 	@$(ECHO) LIBNAME not set
@@ -727,56 +761,78 @@ endif
 # Install rules
 # Install rules
 #####################################################################
 #####################################################################
 
 
-.PHONY: fpc_showinstallfiles fpc_install
+.PHONY: fpc_showinstall fpc_install
 
 
-ifdef UNITOBJECTS
-override UNITINSTALLFILES=$(wildcard $(UNITPPUFILES) $(UNITOFILES) $(UNITAFILES))
-endif
 ifdef EXTRAINSTALLUNITS
 ifdef EXTRAINSTALLUNITS
-override EXTRAINSTALLFILES+=$(wildcard $(addsuffix $(OEXT),$(EXTRAINSTALLUNITS)) $(addsuffix $(STATICLIBEXT),$(EXTRAINSTALLUNITS)) $(addsuffix $(PPUEXT),$(EXTRAINSTALLUNITS)))
+override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRAINSTALLUNITS))
 endif
 endif
 
 
-fpc_showinstallfiles : all
-ifndef DEFAULTUNITS
-ifdef EXEOBJECTS
-	@$(ECHO) $(addprefix "\n"$(BININSTALLDIR)/,$(EXEFILES))
+ifdef INSTALLPPUFILES
+ifdef PPUFILES
+ifdef inlinux
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+else
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
+else
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
-ifdef LOADEROBJECTS
-	@$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(LOADEROFILES))
 endif
 endif
-ifdef UNITINSTALLFILES
-	@$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(UNITINSTALLFILES))
+
+fpc_showinstall: $(SHOWINSTALLTARGET)
+ifdef INSTALLEXEFILES
+	@$(ECHO) $(addprefix "\n"$(BININSTALLDIR)/,$(INSTALLEXEFILES))
+endif
+ifdef INSTALLPPUFILES
+	@$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPUFILES))
+ifneq ($(INSTALLPPULINKFILES),)
+	@$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPULINKFILES))
+endif
+ifneq ($(INSTALLPPULIBFILES),)
+	@$(ECHO) $(addprefix "\n"$(LIBINSTALLDIR)/,$(INSTALLPPULIBFILES))
+endif
 endif
 endif
 ifdef EXTRAINSTALLFILES
 ifdef EXTRAINSTALLFILES
-	@$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(EXTRAINSTALLFILES))
+	@$(ECHO) $(addprefix "\n"$(EXTRAINSTALLDIR)/,$(EXTRAINSTALLFILES))
 endif
 endif
 
 
-fpc_install:
+fpc_install: $(INSTALLTARGET)
 # Create UnitInstallFiles
 # Create UnitInstallFiles
-ifndef DEFAULTUNITS
-ifdef EXEOBJECTS
+ifdef INSTALLEXEFILES
 	$(MKDIR) $(BININSTALLDIR)
 	$(MKDIR) $(BININSTALLDIR)
 # Compress the exes if upx is defined
 # Compress the exes if upx is defined
 ifdef UPXPROG
 ifdef UPXPROG
-	-$(UPXPROG) $(EXEFILES)
-endif
-	$(INSTALLEXE) $(EXEFILES) $(BININSTALLDIR)
+	-$(UPXPROG) $(INSTALLEXEFILES)
 endif
 endif
+	$(INSTALLEXE) $(INSTALLEXEFILES) $(BININSTALLDIR)
 endif
 endif
-ifdef LOADEROBJECTS
+ifdef INSTALLPPUFILES
 	$(MKDIR) $(UNITINSTALLDIR)
 	$(MKDIR) $(UNITINSTALLDIR)
-	$(INSTALL) $(LOADEROFILES) $(UNITINSTALLDIR)
+	$(INSTALL) $(INSTALLPPUFILES) $(UNITINSTALLDIR)
+ifneq ($(INSTALLPPULINKFILES),)
+	$(INSTALL) $(INSTALLPPULINKFILES) $(UNITINSTALLDIR)
+endif
+ifneq ($(INSTALLPPULIBFILES),)
+	$(MKDIR) $(LIBINSTALLDIR)
+	$(INSTALL) $(INSTALLPPULIBFILES) $(LIBINSTALLDIR)
 endif
 endif
-ifdef UNITINSTALLFILES
-	$(MKDIR) $(UNITINSTALLDIR)
-	$(INSTALL) $(UNITINSTALLFILES) $(UNITINSTALLDIR)
 endif
 endif
 ifdef EXTRAINSTALLFILES
 ifdef EXTRAINSTALLFILES
-	$(MKDIR) $(UNITINSTALLDIR)
-	$(INSTALL) $(EXTRAINSTALLFILES) $(UNITINSTALLDIR)
+	$(MKDIR) $(EXTRAINSTALLDIR)
+	$(INSTALL) $(EXTRAINSTALLFILES) $(EXTRAINSTALLDIR)
 endif
 endif
 
 
+#####################################################################
+# Source install rules
+#####################################################################
+
+.PHONY: fpc_sourceinstall
+
+fpc_sourceinstall: clean
+	$(MKDIR) $(SOURCEINSTALLDIR)
+	$(COPYTREE) $(BASEDIR) $(SOURCEINSTALLDIR)
+
 #####################################################################
 #####################################################################
 # Zip
 # Zip
 #####################################################################
 #####################################################################
@@ -793,8 +849,8 @@ endif
 endif
 endif
 
 
 # Test dir if none specified
 # Test dir if none specified
-ifndef PACKAGEDIR
-PACKAGEDIR=$(BASEDIR)
+ifndef DESTZIPDIR
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -804,11 +860,6 @@ override ZIPNAME:=$(ZIPNAME)$(ZIPEXT)
 endif
 endif
 endif
 endif
 
 
-# Default target which is call before zipping
-ifndef ZIPTARGET
-ZIPTARGET=install
-endif
-
 # Note: This will not remove the zipfile first
 # Note: This will not remove the zipfile first
 fpc_zipinstalladd:
 fpc_zipinstalladd:
 ifndef ZIPNAME
 ifndef ZIPNAME
@@ -817,11 +868,11 @@ ifndef ZIPNAME
 else
 else
 	$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
 	$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
 ifdef inlinux
 ifdef inlinux
-	gzip -d $(PACKAGEDIR)/$(ZIPNAME).tar.gz
-	cd $(PACKDIR) ; tar rv --file $(PACKAGEDIR)/$(ZIPNAME).tar * ; cd $(BASEDIR)
-	gzip $(PACKAGEDIR)/$(ZIPNAME).tar
+	gzip -d $(DESTZIPDIR)/$(ZIPNAME).tar.gz
+	cd $(PACKDIR) ; tar rv --file $(DESTZIPDIR)/$(ZIPNAME).tar * ; cd $(BASEDIR)
+	gzip $(DESTZIPDIR)/$(ZIPNAME).tar
 else
 else
-	cd $(PACKDIR) ; $(ZIPPROG) $(PACKAGEDIR)/$(ZIPNAME) * ; cd $(BASEDIR)
+	cd $(PACKDIR) ; $(ZIPPROG) $(DESTZIPDIR)/$(ZIPNAME) * ; cd $(BASEDIR)
 endif
 endif
 	$(DELTREE) $(PACKDIR)
 	$(DELTREE) $(PACKDIR)
 endif
 endif
@@ -832,12 +883,12 @@ ifndef ZIPNAME
 	@$(ECHO) Please specify ZIPNAME!
 	@$(ECHO) Please specify ZIPNAME!
 	@exit
 	@exit
 else
 else
-	$(DEL) $(PACKAGEDIR)/$(ZIPNAME)
+	$(DEL) $(DESTZIPDIR)/$(ZIPNAME)
 	$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
 	$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
 ifdef inlinux
 ifdef inlinux
-	cd $(PACKDIR) ; tar cvz --file $(PACKAGEDIR)/$(ZIPNAME).tar.gz * ; cd $(BASEDIR)
+	cd $(PACKDIR) ; tar cvz --file $(DESTZIPDIR)/$(ZIPNAME).tar.gz * ; cd $(BASEDIR)
 else
 else
-	cd $(PACKDIR) ; $(ZIPPROG) $(PACKAGEDIR)/$(ZIPNAME) * ; cd $(BASEDIR)
+	cd $(PACKDIR) ; $(ZIPPROG) $(DESTZIPDIR)/$(ZIPNAME) * ; cd $(BASEDIR)
 endif
 endif
 	$(DELTREE) $(PACKDIR)
 	$(DELTREE) $(PACKDIR)
 endif
 endif
@@ -846,48 +897,42 @@ endif
 # Clean rules
 # Clean rules
 #####################################################################
 #####################################################################
 
 
-.PHONY: fpc_clean fpc_libsclean fpc_cleanall
+.PHONY: fpc_clean fpc_cleanall
 
 
-ifdef UNITOBJECTS
-override UNITCLEANFILES=$(wildcard $(UNITPPUFILES) $(UNITOFILES) $(UNITAFILES))
-endif
 ifdef EXTRACLEANUNITS
 ifdef EXTRACLEANUNITS
-override EXTRACLEANFILES+=$(wildcard $(addsuffix $(OEXT),$(EXTRACLEANUNITS)) $(addsuffix $(STATICLIBEXT),$(EXTRACLEANUNITS)) $(addsuffix $(PPUEXT),$(EXTRACLEANUNITS)))
+override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRACLEANUNITS))
 endif
 endif
 
 
-fpc_clean:
-ifdef EXEOBJECTS
-	-$(DEL) $(EXEFILES) $(EXEOFILES)
+ifdef CLEANPPUFILES
+ifdef PPUFILES
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
+else
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
+endif
 endif
 endif
-ifdef LOADEROBJECTS
-	-$(DEL) $(LOADEROFILES)
+
+fpc_clean: $(CLEANTARGET)
+ifdef CLEANEXEFILES
+	-$(DEL) $(CLEANEXEFILES)
 endif
 endif
-ifdef UNITCLEANFILES
-	-$(DEL) $(UNITCLEANFILES)
+ifdef CLEANPPUFILES
+	-$(DEL) $(CLEANPPUFILES)
+endif
+ifneq ($(CLEANPPULINKFILES),)
+	-$(DEL) $(CLEANPPULINKFILES)
 endif
 endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(PPAS) link.res log
-
-fpc_libsclean: clean
-	-$(DEL) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
-fpc_cleanall:
-ifdef EXEOBJECTS
-	-$(DEL) $(EXEFILES)
+fpc_cleanall: $(CLEANTARGET)
+ifdef CLEANEXEFILES
+	-$(DEL) $(CLEANEXEFILES)
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-
-#####################################################################
-# Depend rules
-#####################################################################
-
-.PHONY: fpc_depend
-
-fpc_depend:
-	$(PPDEP) $(UNITOBJECTS)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules
@@ -896,7 +941,7 @@ fpc_depend:
 .PHONY: fpc_info fpc_cfginfo fpc_objectinfo fpc_toolsinfo fpc_installinfo \
 .PHONY: fpc_info fpc_cfginfo fpc_objectinfo fpc_toolsinfo fpc_installinfo \
 	fpc_dirinfo
 	fpc_dirinfo
 
 
-fpc_info: $(FPCINFO)
+fpc_info: $(INFOTARGET)
 
 
 fpc_infocfg:
 fpc_infocfg:
 	@$(ECHO)
 	@$(ECHO)
@@ -909,6 +954,20 @@ fpc_infocfg:
 	@$(ECHO)  Target.... $(OS_TARGET)
 	@$(ECHO)  Target.... $(OS_TARGET)
 	@$(ECHO)
 	@$(ECHO)
 
 
+fpc_infoobjects:
+	@$(ECHO)
+	@$(ECHO)  == Object info ==
+	@$(ECHO)
+	@$(ECHO)  LoaderObjects..... $(LOADEROBJECTS)
+	@$(ECHO)  UnitObjects....... $(UNITOBJECTS)
+	@$(ECHO)  ExeObjects........ $(EXEOBJECTS)
+	@$(ECHO)
+	@$(ECHO)  ExtraCleanUnits... $(EXTRACLEANUNITS)
+	@$(ECHO)  ExtraCleanFiles... $(EXTRACLEANFILES)
+	@$(ECHO)
+	@$(ECHO)  ExtraInstallUnits. $(EXTRAINSTALLUNITS)
+	@$(ECHO)  ExtraInstallFiles. $(EXTRAINSTALLFILES)
+	@$(ECHO)
 
 
 fpc_infoinstall:
 fpc_infoinstall:
 	@$(ECHO)
 	@$(ECHO)
@@ -921,21 +980,17 @@ endif
 	@$(ECHO)
 	@$(ECHO)
 	@$(ECHO)  BaseInstallDir....... $(BASEINSTALLDIR)
 	@$(ECHO)  BaseInstallDir....... $(BASEINSTALLDIR)
 	@$(ECHO)  BinInstallDir........ $(BININSTALLDIR)
 	@$(ECHO)  BinInstallDir........ $(BININSTALLDIR)
-	@$(ECHO)  UnitInstallDir....... $(UNITINSTALLDIR)
-	@$(ECHO)  StaticUnitInstallDir. $(STATIC_UNITINSTALLDIR)
-	@$(ECHO)  SharedUnitInstallDir. $(SHARED_UNITINSTALLDIR)
 	@$(ECHO)  LibInstallDir........ $(LIBINSTALLDIR)
 	@$(ECHO)  LibInstallDir........ $(LIBINSTALLDIR)
-	@$(ECHO)  StaticLibInstallDir.. $(STATIC_LIBINSTALLDIR)
-	@$(ECHO)  SharedLibInstallDir.. $(SHARED_LIBINSTALLDIR)
-	@$(ECHO)  MsgInstallDir........ $(MSGINSTALLDIR)
+	@$(ECHO)  UnitInstallDir....... $(UNITINSTALLDIR)
+	@$(ECHO)  SourceInstallDir..... $(SOURCEINSTALLDIR)
 	@$(ECHO)  DocInstallDir........ $(DOCINSTALLDIR)
 	@$(ECHO)  DocInstallDir........ $(DOCINSTALLDIR)
+	@$(ECHO)  ExtraInstallDir...... $(EXTRAINSTALLDIR)
 	@$(ECHO)
 	@$(ECHO)
 
 
 #####################################################################
 #####################################################################
 # Users rules
 # Users rules
 #####################################################################
 #####################################################################
 
 
-
 ifeq ($(OS_TARGET),win32)
 ifeq ($(OS_TARGET),win32)
 vpath %$(PASEXT) win32
 vpath %$(PASEXT) win32
 endif
 endif

+ 299 - 230
install/fpinst/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-10 23:52
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -102,6 +107,10 @@ endif
 #####################################################################
 #####################################################################
 
 
 # Release ? Then force OPT and don't use extra opts via commandline
 # Release ? Then force OPT and don't use extra opts via commandline
+ifndef REDIRFILE
+REDIRFILE=log
+endif
+
 ifdef RELEASE
 ifdef RELEASE
 override OPT:=-Xs -OG2p3 -n
 override OPT:=-Xs -OG2p3 -n
 endif
 endif
@@ -111,6 +120,15 @@ ifdef VERBOSE
 override OPT+=-vwni
 override OPT+=-vwni
 endif
 endif
 
 
+ifdef REDIR
+ifndef inlinux
+override FPC=redir -eo $(FPC)
+endif
+# set the verbosity to max
+override OPT+=-va
+override REDIR:= >> $(REDIRFILE)
+endif
+
 #####################################################################
 #####################################################################
 # User Settings
 # User Settings
 #####################################################################
 #####################################################################
@@ -118,28 +136,29 @@ endif
 
 
 # Targets
 # Targets
 
 
-UNITOBJECTS=ziptypes unzip
+override UNITOBJECTS+=ziptypes unzip
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
-EXEOBJECTS+=installer
+override EXEOBJECTS+=installer
 endif
 endif
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
-EXEOBJECTS+=install
+override EXEOBJECTS+=install
 endif
 endif
 ifeq ($(OS_TARGET),win32)
 ifeq ($(OS_TARGET),win32)
-EXEOBJECTS+=install
+override EXEOBJECTS+=install
 endif
 endif
 ifeq ($(OS_TARGET),os2)
 ifeq ($(OS_TARGET),os2)
-EXEOBJECTS+=install
+override EXEOBJECTS+=install
 endif
 endif
 
 
 # Clean
 # Clean
 
 
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
-EXTRACLEANFILES+=install.o
+override EXTRACLEANFILES+=install.o
 endif
 endif
 
 
 # Install
 # Install
 
 
+ZIPTARGET=install
 
 
 # Defaults
 # Defaults
 
 
@@ -149,17 +168,26 @@ endif
 ifndef FPCDIR
 ifndef FPCDIR
 FPCDIR=../..
 FPCDIR=../..
 endif
 endif
+ifndef PACKAGEDIR
+PACKAGEDIR=$(FPCDIR)/packages
+endif
+ifndef COMPONENTDIR
+COMPONENTDIR=$(FPCDIR)/components
+endif
 override NEEDUNITDIR=$(FPCDIR)/fv $(FPCDIR)/api
 override NEEDUNITDIR=$(FPCDIR)/fv $(FPCDIR)/api
 ifndef TARGETDIR
 ifndef TARGETDIR
 TARGETDIR=.
 TARGETDIR=.
 endif
 endif
 
 
+# Packages
+
+
 # Libraries
 # Libraries
 
 
 
 
 # Info
 # Info
 
 
-FPCINFO=fpc_infocfg fpc_infoobjects fpc_infoinstall 
+INFOTARGET=fpc_infocfg fpc_infoobjects fpc_infoinstall 
 
 
 #####################################################################
 #####################################################################
 # Default Directories
 # Default Directories
@@ -172,6 +200,11 @@ else
 BASEDIR=.
 BASEDIR=.
 endif
 endif
 
 
+# this can be set to 'rtl' when the RTL units are installed
+ifndef UNITPREFIX
+UNITPREFIX=units
+endif
+
 # set the prefix directory where to install everything
 # set the prefix directory where to install everything
 ifndef PREFIXINSTALLDIR
 ifndef PREFIXINSTALLDIR
 ifdef inlinux
 ifdef inlinux
@@ -181,43 +214,18 @@ export PREFIXINSTALLDIR=/pp
 endif
 endif
 endif
 endif
 
 
-# set the directory to the rtl base
-ifndef RTLDIR
-ifdef RTL
-RTLDIR:=$(RTL)/$(OS_TARGET)
-else
-RTLDIR:=$(FPCDIR)/rtl/$(OS_TARGET)
-endif
-endif
-
-# specify where units are.
-ifndef UNITDIR
-ifdef UNITS
-UNITDIR=$(UNITS)/$(OS_TARGET)
-else
-UNITDIR=$(FPCDIR)/units/$(OS_TARGET)
-endif
-endif
-ifeq ($(strip $(wildcard $(UNITDIR)/*)),)
-UNITDIR=
-endif
-
-# On linux, try to find where libgcc.a is.
-ifdef inlinux
-ifndef GCCLIBDIR
-export GCCLIBDIR:=$(shell dirname `(gcc -v 2>&1)| head -n 1| awk '{ print $$4 } '`)
-endif
-endif
-
-# Where to find other libraries
-ifdef inlinux
-ifndef OTHERLIBDIR
-export OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
+# create fcldir,rtldir,unitdir
+ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
+ifneq ($(FPCDIR),.)
+override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
+override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
+override UNITSDIR=$(FPCDIR)/units/$(OS_TARGET)
 endif
 endif
 endif
 endif
 
 
 #####################################################################
 #####################################################################
-# Install Directories based on BASEINSTALLDIR
+# Install Directories
 #####################################################################
 #####################################################################
 
 
 # set the base directory where to install everything
 # set the base directory where to install everything
@@ -229,16 +237,6 @@ BASEINSTALLDIR=$(PREFIXINSTALLDIR)
 endif
 endif
 endif
 endif
 
 
-
-# Linux binary really goes to baseinstalldir
-ifndef LIBINSTALLDIR
-ifdef inlinux
-LIBINSTALLDIR=$(BASEINSTALLDIR)
-else
-LIBINSTALLDIR=$(BASEINSTALLDIR)/lib
-endif
-endif
-
 # set the directory where to install the binaries
 # set the directory where to install the binaries
 ifndef BININSTALLDIR
 ifndef BININSTALLDIR
 ifdef inlinux
 ifdef inlinux
@@ -248,15 +246,28 @@ BININSTALLDIR=$(BASEINSTALLDIR)/bin/$(OS_TARGET)
 endif
 endif
 endif
 endif
 
 
-# Where the .msg files will be stored
-ifndef MSGINSTALLDIR
-MSGINSTALLDIR=$(BASEINSTALLDIR)/msg
+# set the directory where to install the units.
+ifndef UNITINSTALLDIR
+UNITINSTALLDIR=$(BASEINSTALLDIR)/$(UNITPREFIX)/$(OS_TARGET)
+endif
+
+# Where to install shared libraries
+ifndef LIBINSTALLDIR
+ifdef inlinux
+LIBINSTALLDIR=$(PREFIXINSTALLDIR)/lib
+else
+LIBINSTALLDIR=$(UNITINSTALLDIR)
+endif
 endif
 endif
 
 
-# Where the .msg files will be stored
+# Where the source files will be stored
 ifndef SOURCEINSTALLDIR
 ifndef SOURCEINSTALLDIR
+ifdef inlinux
+SOURCEINSTALLDIR=$(PREFIXINSTALLDIR)/src/fpc-$(FPC_VERSION)
+else
 SOURCEINSTALLDIR=$(BASEINSTALLDIR)/source
 SOURCEINSTALLDIR=$(BASEINSTALLDIR)/source
 endif
 endif
+endif
 
 
 # Where the doc files will be stored
 # Where the doc files will be stored
 ifndef DOCINSTALLDIR
 ifndef DOCINSTALLDIR
@@ -267,42 +278,9 @@ DOCINSTALLDIR=$(BASEINSTALLDIR)/doc
 endif
 endif
 endif
 endif
 
 
-########################
-# Unit Directories
-########################
-
-# this can be set to 'rtl' when the RTL units are installed
-ifndef UNITPREFIX
-UNITPREFIX=units
-endif
-
-# set the directory where to install the units.
-ifndef UNITINSTALLDIR
-UNITINSTALLDIR=$(BASEINSTALLDIR)/$(UNITPREFIX)/$(OS_TARGET)
-endif
-
-# set the directory where to install the units.
-ifndef STATIC_UNITINSTALLDIR
-STATIC_UNITINSTALLDIR=$(UNITINSTALLDIR)/static
-endif
-
-# set the directory where to install the units.
-ifndef SHARED_UNITINSTALLDIR
-SHARED_UNITINSTALLDIR=$(UNITINSTALLDIR)/shared
-endif
-
-# set the directory where to install the libs (must exist)
-ifndef STATIC_LIBINSTALLDIR
-STATIC_LIBINSTALLDIR=$(STATIC_UNITINSTALLDIR)
-endif
-
-# set the directory where to install the libs (must exist)
-ifndef SHARED_LIBINSTALLDIR
-ifdef inlinux
-SHARED_LIBINSTALLDIR=$(PREFIXINSTALLDIR)/lib
-else
-SHARED_LIBINSTALLDIR=$(SHARED_UNITINSTALLDIR)
-endif
+# Where the some extra (data)files will be stored
+ifndef EXTRAINSTALLDIR
+EXTRAINSTALLDIR=$(BASEINSTALLDIR)
 endif
 endif
 
 
 
 
@@ -318,17 +296,12 @@ ifneq ($(OS_TARGET),$(OS_SOURCE))
 override FPCOPT+=-T$(OS_TARGET)
 override FPCOPT+=-T$(OS_TARGET)
 endif
 endif
 
 
-
-ifdef NEEDOPT
-override FPCOPT+=$(NEEDOPT)
+ifdef RTLDIR
+override FPCOPT+=-Fu$(RTLDIR)
 endif
 endif
 
 
-# RTL first and then Unit dir (a unit can override RTLunit). Don't add the
-# dirs if fpcdir=. which can be used for the rtl makefiles
-ifdef FPCDIR
-ifneq ($(FPCDIR),.)
-override FPCOPT+=-Fu$(FPCDIR)/rtl/$(OS_TARGET) -Fu$(FPCDIR)/units/$(OS_TARGET)
-endif
+ifdef UNITSDIR
+override FPCOPT+=-Fu$(UNITSDIR)
 endif
 endif
 
 
 ifdef NEEDUNITDIR
 ifdef NEEDUNITDIR
@@ -341,8 +314,13 @@ override FPCOPT+=-FE$(TARGETDIR)
 endif
 endif
 
 
 # Smartlinking
 # Smartlinking
-ifeq ($(SMARTLINK),YES)
-override FPCOPT+=-Cx
+ifdef SMARTLINK
+override FPCOPT+=-CX
+endif
+
+# Debug
+ifdef DEBUG
+override FPCOPT+=-g
 endif
 endif
 
 
 # Add commandline options
 # Add commandline options
@@ -367,12 +345,25 @@ ifdef FPCOPTDEF
 override FPCOPT+=$(FPCOPTDEF)
 override FPCOPT+=$(FPCOPTDEF)
 endif
 endif
 
 
+# Error file ?
+ifdef ERRORFILE
+override FPCOPT+=-Fr$(ERRORFILE)
+endif
+
 # Was a config file specified ?
 # Was a config file specified ?
 ifdef CFGFILE
 ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -383,6 +374,11 @@ ifndef COPY
 export COPY:=cp -fp
 export COPY:=cp -fp
 endif
 endif
 
 
+# Copy a whole tree
+ifndef COPYTREE
+export COPYTREE:=cp -rfp
+endif
+
 # To move pograms
 # To move pograms
 ifndef MOVE
 ifndef MOVE
 export MOVE:=mv -f
 export MOVE:=mv -f
@@ -439,16 +435,6 @@ ifndef LD
 LD=ld
 LD=ld
 endif
 endif
 
 
-# Where is the ppumove program ?
-ifndef PPUMOVE
-PPUMOVE=ppumove
-endif
-
-# Where is the ppdep program ?
-ifndef PPDEP
-PPDEP=ppdep
-endif
-
 # ppas.bat / ppas.sh
 # ppas.bat / ppas.sh
 ifdef inlinux
 ifdef inlinux
 PPAS=ppas.sh
 PPAS=ppas.sh
@@ -464,7 +450,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -484,6 +470,36 @@ export ECHO:=$(firstword $(ECHO))
 endif
 endif
 endif
 endif
 
 
+# ppdep
+ifndef PPDEP
+PPDEP:=$(strip $(wildcard $(addsuffix /ppdep$(EXEEXT),$(SEARCHPATH))))
+ifeq ($(PPDEP),)
+PPDEP=
+else
+export PPDEP:=$(firstword $(PPDEP))
+endif
+endif
+
+# ppumove
+ifndef PPUMOVE
+PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(EXEEXT),$(SEARCHPATH))))
+ifeq ($(PPUMOVE),)
+PPUMOVE=
+else
+export PPUMOVE:=$(firstword $(PPUMOVE))
+endif
+endif
+
+# ppufiles
+ifndef PPUFILES
+PPUFILES:=$(strip $(wildcard $(addsuffix /ppufiles$(EXEEXT),$(SEARCHPATH))))
+ifeq ($(PPUFILES),)
+PPUFILES=
+else
+export PPUFILES:=$(firstword $(PPUFILES))
+endif
+endif
+
 # Look if UPX is found for go32v2 and win32. We can't use $UPX becuase
 # Look if UPX is found for go32v2 and win32. We can't use $UPX becuase
 # upx uses that one itself (PFV)
 # upx uses that one itself (PFV)
 ifndef UPXPROG
 ifndef UPXPROG
@@ -554,6 +570,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -564,16 +581,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -585,6 +605,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -596,6 +617,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -622,26 +644,22 @@ endif
 endif
 endif
 
 
 #####################################################################
 #####################################################################
-# Default rules
+# Standard rules
 #####################################################################
 #####################################################################
 
 
-.PHONY: defaultrule all staticlib sharedlib showinstall install \
-	staticinstall sharedinstall libinstall zipinstall zipinstalladd \
-	clean cleanall depend info
-
 all: fpc_all
 all: fpc_all
 
 
-staticlib: fpc_staticlib
+debug: fpc_debug
 
 
-sharedlib: fpc_sharedlib
+smart: fpc_smart
 
 
-showinstall: fpc_showinstall
+shared: fpc_shared
 
 
-staticinstall: fpc_staticinstall
+showinstall: fpc_showinstall
 
 
-sharedinstall: fpc_sharedinstall
+install: fpc_install
 
 
-libinstall: fpc_libinstall
+sourceinstall: fpc_sourceinstall
 
 
 zipinstall: fpc_zipinstall
 zipinstall: fpc_zipinstall
 
 
@@ -649,41 +667,75 @@ zipinstalladd: fpc_zipinstalladd
 
 
 clean: fpc_clean
 clean: fpc_clean
 
 
-clean_all: fpc_clean_all
-
-depend: fpc_depend
+cleanall: fpc_cleanall
 
 
 info: fpc_info
 info: fpc_info
 
 
+.PHONY:  all debug smart shared showinstall install sourceinstall zipinstall zipinstalladd clean cleanall info
+
 #####################################################################
 #####################################################################
-# General compile rules
+# Package depends
 #####################################################################
 #####################################################################
 
 
-.PHONY: fpc_all fpc_units fpc_exes fpc_loaders
+ifneq ($(wildcard $(RTLDIR)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
+override COMPILEPACKAGES+=rtl
+rtl_package:
+	$(MAKE) -C $(RTLDIR) all
+endif
+endif
+
+.PHONY:  rtl_package
 
 
-# Create Filenames
-LOADEROFILES=$(addsuffix $(OEXT),$(LOADEROBJECTS))
-EXEFILES=$(addsuffix $(EXEEXT),$(EXEOBJECTS))
-EXEOFILES=$(addsuffix $(OEXT),$(EXEOBJECTS))
-UNITPPUFILES=$(addsuffix $(PPUEXT),$(UNITOBJECTS))
-UNITOFILES=$(addsuffix $(OEXT),$(UNITOBJECTS))
-UNITAFILES=$(addsuffix $(STATICLIBEXT),$(UNITOBJECTS))
+#####################################################################
+# Units
+#####################################################################
 
 
-.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp
+.PHONY: fpc_units
 
 
-ifdef DEFAULTUNITS
-fpc_all: fpc_loaders fpc_units
-else
-fpc_all: fpc_loaders fpc_units fpc_exes
-endif
+override ALLTARGET+=fpc_units
 
 
-fpc_loaders: $(LOADEROFILES)
+override UNITPPUFILES=$(addsuffix $(PPUEXT),$(UNITOBJECTS))
+override INSTALLPPUFILES+=$(UNITPPUFILES)
+override CLEANPPUFILES+=$(UNITPPUFILES)
 
 
 fpc_units: $(UNITPPUFILES)
 fpc_units: $(UNITPPUFILES)
 
 
+#####################################################################
+# Exes
+#####################################################################
+
+.PHONY: fpc_exes
+
+override EXEFILES=$(addsuffix $(EXEEXT),$(EXEOBJECTS))
+override EXEOFILES=$(addsuffix $(OEXT),$(EXEOBJECTS))
+
+override ALLTARGET+=fpc_exes
+override INSTALLEXEFILES+=$(EXEFILES)
+override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
+
 fpc_exes: $(EXEFILES)
 fpc_exes: $(EXEFILES)
 
 
+#####################################################################
+# General compile rules
+#####################################################################
+
+.PHONY: fpc_all fpc_debug
+
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
+
+fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
+	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
+	 $(ALLTARGET) $(FPCMADE)
+
+fpc_debug:
+	$(MAKE) all DEBUG=1
+
 # General compile rules, available for both possible PASEXT
 # General compile rules, available for both possible PASEXT
+
+.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp
+
 %$(PPUEXT): %.pp
 %$(PPUEXT): %.pp
 	$(COMPILER) $< $(REDIR)
 	$(COMPILER) $< $(REDIR)
 	$(EXECPASS)
 	$(EXECPASS)
@@ -700,25 +752,21 @@ fpc_exes: $(EXEFILES)
 	$(COMPILER) $< $(REDIR)
 	$(COMPILER) $< $(REDIR)
 	$(EXECPASS)
 	$(EXECPASS)
 
 
-%$(OEXT): %$(LOADEREXT)
-	$(AS) -o $*$(OEXT) $<
-
 #####################################################################
 #####################################################################
 # Library
 # Library
 #####################################################################
 #####################################################################
 
 
-.PHONY: fpc_staticlib fpc_sharedlib
+.PHONY: fpc_smart fpc_shared
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
-fpc_staticlib:
-	$(MAKE) libsclean
-	$(MAKE) all SMARTLINK=YES
+fpc_smart:
+	$(MAKE) all SMARTLINK=1
 
 
-fpc_sharedlib: all
+fpc_shared: all
 ifdef inlinux
 ifdef inlinux
 ifndef LIBNAME
 ifndef LIBNAME
 	@$(ECHO) LIBNAME not set
 	@$(ECHO) LIBNAME not set
@@ -733,56 +781,78 @@ endif
 # Install rules
 # Install rules
 #####################################################################
 #####################################################################
 
 
-.PHONY: fpc_showinstallfiles fpc_install
+.PHONY: fpc_showinstall fpc_install
 
 
-ifdef UNITOBJECTS
-override UNITINSTALLFILES=$(wildcard $(UNITPPUFILES) $(UNITOFILES) $(UNITAFILES))
-endif
 ifdef EXTRAINSTALLUNITS
 ifdef EXTRAINSTALLUNITS
-override EXTRAINSTALLFILES+=$(wildcard $(addsuffix $(OEXT),$(EXTRAINSTALLUNITS)) $(addsuffix $(STATICLIBEXT),$(EXTRAINSTALLUNITS)) $(addsuffix $(PPUEXT),$(EXTRAINSTALLUNITS)))
+override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRAINSTALLUNITS))
 endif
 endif
 
 
-fpc_showinstallfiles : all
-ifndef DEFAULTUNITS
-ifdef EXEOBJECTS
-	@$(ECHO) $(addprefix "\n"$(BININSTALLDIR)/,$(EXEFILES))
+ifdef INSTALLPPUFILES
+ifdef PPUFILES
+ifdef inlinux
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+else
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
+else
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
+endif
+endif
+
+fpc_showinstall: $(SHOWINSTALLTARGET)
+ifdef INSTALLEXEFILES
+	@$(ECHO) $(addprefix "\n"$(BININSTALLDIR)/,$(INSTALLEXEFILES))
+endif
+ifdef INSTALLPPUFILES
+	@$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPUFILES))
+ifneq ($(INSTALLPPULINKFILES),)
+	@$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPULINKFILES))
 endif
 endif
-ifdef LOADEROBJECTS
-	@$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(LOADEROFILES))
+ifneq ($(INSTALLPPULIBFILES),)
+	@$(ECHO) $(addprefix "\n"$(LIBINSTALLDIR)/,$(INSTALLPPULIBFILES))
 endif
 endif
-ifdef UNITINSTALLFILES
-	@$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(UNITINSTALLFILES))
 endif
 endif
 ifdef EXTRAINSTALLFILES
 ifdef EXTRAINSTALLFILES
-	@$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(EXTRAINSTALLFILES))
+	@$(ECHO) $(addprefix "\n"$(EXTRAINSTALLDIR)/,$(EXTRAINSTALLFILES))
 endif
 endif
 
 
-fpc_install:
+fpc_install: $(INSTALLTARGET)
 # Create UnitInstallFiles
 # Create UnitInstallFiles
-ifndef DEFAULTUNITS
-ifdef EXEOBJECTS
+ifdef INSTALLEXEFILES
 	$(MKDIR) $(BININSTALLDIR)
 	$(MKDIR) $(BININSTALLDIR)
 # Compress the exes if upx is defined
 # Compress the exes if upx is defined
 ifdef UPXPROG
 ifdef UPXPROG
-	-$(UPXPROG) $(EXEFILES)
+	-$(UPXPROG) $(INSTALLEXEFILES)
 endif
 endif
-	$(INSTALLEXE) $(EXEFILES) $(BININSTALLDIR)
+	$(INSTALLEXE) $(INSTALLEXEFILES) $(BININSTALLDIR)
 endif
 endif
-endif
-ifdef LOADEROBJECTS
+ifdef INSTALLPPUFILES
 	$(MKDIR) $(UNITINSTALLDIR)
 	$(MKDIR) $(UNITINSTALLDIR)
-	$(INSTALL) $(LOADEROFILES) $(UNITINSTALLDIR)
+	$(INSTALL) $(INSTALLPPUFILES) $(UNITINSTALLDIR)
+ifneq ($(INSTALLPPULINKFILES),)
+	$(INSTALL) $(INSTALLPPULINKFILES) $(UNITINSTALLDIR)
+endif
+ifneq ($(INSTALLPPULIBFILES),)
+	$(MKDIR) $(LIBINSTALLDIR)
+	$(INSTALL) $(INSTALLPPULIBFILES) $(LIBINSTALLDIR)
 endif
 endif
-ifdef UNITINSTALLFILES
-	$(MKDIR) $(UNITINSTALLDIR)
-	$(INSTALL) $(UNITINSTALLFILES) $(UNITINSTALLDIR)
 endif
 endif
 ifdef EXTRAINSTALLFILES
 ifdef EXTRAINSTALLFILES
-	$(MKDIR) $(UNITINSTALLDIR)
-	$(INSTALL) $(EXTRAINSTALLFILES) $(UNITINSTALLDIR)
+	$(MKDIR) $(EXTRAINSTALLDIR)
+	$(INSTALL) $(EXTRAINSTALLFILES) $(EXTRAINSTALLDIR)
 endif
 endif
 
 
+#####################################################################
+# Source install rules
+#####################################################################
+
+.PHONY: fpc_sourceinstall
+
+fpc_sourceinstall: clean
+	$(MKDIR) $(SOURCEINSTALLDIR)
+	$(COPYTREE) $(BASEDIR) $(SOURCEINSTALLDIR)
+
 #####################################################################
 #####################################################################
 # Zip
 # Zip
 #####################################################################
 #####################################################################
@@ -799,8 +869,8 @@ endif
 endif
 endif
 
 
 # Test dir if none specified
 # Test dir if none specified
-ifndef PACKAGEDIR
-PACKAGEDIR=$(BASEDIR)
+ifndef DESTZIPDIR
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -810,11 +880,6 @@ override ZIPNAME:=$(ZIPNAME)$(ZIPEXT)
 endif
 endif
 endif
 endif
 
 
-# Default target which is call before zipping
-ifndef ZIPTARGET
-ZIPTARGET=install
-endif
-
 # Note: This will not remove the zipfile first
 # Note: This will not remove the zipfile first
 fpc_zipinstalladd:
 fpc_zipinstalladd:
 ifndef ZIPNAME
 ifndef ZIPNAME
@@ -823,11 +888,11 @@ ifndef ZIPNAME
 else
 else
 	$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
 	$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
 ifdef inlinux
 ifdef inlinux
-	gzip -d $(PACKAGEDIR)/$(ZIPNAME).tar.gz
-	cd $(PACKDIR) ; tar rv --file $(PACKAGEDIR)/$(ZIPNAME).tar * ; cd $(BASEDIR)
-	gzip $(PACKAGEDIR)/$(ZIPNAME).tar
+	gzip -d $(DESTZIPDIR)/$(ZIPNAME).tar.gz
+	cd $(PACKDIR) ; tar rv --file $(DESTZIPDIR)/$(ZIPNAME).tar * ; cd $(BASEDIR)
+	gzip $(DESTZIPDIR)/$(ZIPNAME).tar
 else
 else
-	cd $(PACKDIR) ; $(ZIPPROG) $(PACKAGEDIR)/$(ZIPNAME) * ; cd $(BASEDIR)
+	cd $(PACKDIR) ; $(ZIPPROG) $(DESTZIPDIR)/$(ZIPNAME) * ; cd $(BASEDIR)
 endif
 endif
 	$(DELTREE) $(PACKDIR)
 	$(DELTREE) $(PACKDIR)
 endif
 endif
@@ -838,12 +903,12 @@ ifndef ZIPNAME
 	@$(ECHO) Please specify ZIPNAME!
 	@$(ECHO) Please specify ZIPNAME!
 	@exit
 	@exit
 else
 else
-	$(DEL) $(PACKAGEDIR)/$(ZIPNAME)
+	$(DEL) $(DESTZIPDIR)/$(ZIPNAME)
 	$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
 	$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
 ifdef inlinux
 ifdef inlinux
-	cd $(PACKDIR) ; tar cvz --file $(PACKAGEDIR)/$(ZIPNAME).tar.gz * ; cd $(BASEDIR)
+	cd $(PACKDIR) ; tar cvz --file $(DESTZIPDIR)/$(ZIPNAME).tar.gz * ; cd $(BASEDIR)
 else
 else
-	cd $(PACKDIR) ; $(ZIPPROG) $(PACKAGEDIR)/$(ZIPNAME) * ; cd $(BASEDIR)
+	cd $(PACKDIR) ; $(ZIPPROG) $(DESTZIPDIR)/$(ZIPNAME) * ; cd $(BASEDIR)
 endif
 endif
 	$(DELTREE) $(PACKDIR)
 	$(DELTREE) $(PACKDIR)
 endif
 endif
@@ -852,48 +917,42 @@ endif
 # Clean rules
 # Clean rules
 #####################################################################
 #####################################################################
 
 
-.PHONY: fpc_clean fpc_libsclean fpc_cleanall
+.PHONY: fpc_clean fpc_cleanall
 
 
-ifdef UNITOBJECTS
-override UNITCLEANFILES=$(wildcard $(UNITPPUFILES) $(UNITOFILES) $(UNITAFILES))
-endif
 ifdef EXTRACLEANUNITS
 ifdef EXTRACLEANUNITS
-override EXTRACLEANFILES+=$(wildcard $(addsuffix $(OEXT),$(EXTRACLEANUNITS)) $(addsuffix $(STATICLIBEXT),$(EXTRACLEANUNITS)) $(addsuffix $(PPUEXT),$(EXTRACLEANUNITS)))
+override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRACLEANUNITS))
 endif
 endif
 
 
-fpc_clean:
-ifdef EXEOBJECTS
-	-$(DEL) $(EXEFILES) $(EXEOFILES)
+ifdef CLEANPPUFILES
+ifdef PPUFILES
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
+else
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
+endif
 endif
 endif
-ifdef LOADEROBJECTS
-	-$(DEL) $(LOADEROFILES)
+
+fpc_clean: $(CLEANTARGET)
+ifdef CLEANEXEFILES
+	-$(DEL) $(CLEANEXEFILES)
+endif
+ifdef CLEANPPUFILES
+	-$(DEL) $(CLEANPPUFILES)
 endif
 endif
-ifdef UNITCLEANFILES
-	-$(DEL) $(UNITCLEANFILES)
+ifneq ($(CLEANPPULINKFILES),)
+	-$(DEL) $(CLEANPPULINKFILES)
 endif
 endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(PPAS) link.res log
-
-fpc_libsclean: clean
-	-$(DEL) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
-fpc_cleanall:
-ifdef EXEOBJECTS
-	-$(DEL) $(EXEFILES)
+fpc_cleanall: $(CLEANTARGET)
+ifdef CLEANEXEFILES
+	-$(DEL) $(CLEANEXEFILES)
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-
-#####################################################################
-# Depend rules
-#####################################################################
-
-.PHONY: fpc_depend
-
-fpc_depend:
-	$(PPDEP) $(UNITOBJECTS)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules
@@ -902,7 +961,7 @@ fpc_depend:
 .PHONY: fpc_info fpc_cfginfo fpc_objectinfo fpc_toolsinfo fpc_installinfo \
 .PHONY: fpc_info fpc_cfginfo fpc_objectinfo fpc_toolsinfo fpc_installinfo \
 	fpc_dirinfo
 	fpc_dirinfo
 
 
-fpc_info: $(FPCINFO)
+fpc_info: $(INFOTARGET)
 
 
 fpc_infocfg:
 fpc_infocfg:
 	@$(ECHO)
 	@$(ECHO)
@@ -915,6 +974,20 @@ fpc_infocfg:
 	@$(ECHO)  Target.... $(OS_TARGET)
 	@$(ECHO)  Target.... $(OS_TARGET)
 	@$(ECHO)
 	@$(ECHO)
 
 
+fpc_infoobjects:
+	@$(ECHO)
+	@$(ECHO)  == Object info ==
+	@$(ECHO)
+	@$(ECHO)  LoaderObjects..... $(LOADEROBJECTS)
+	@$(ECHO)  UnitObjects....... $(UNITOBJECTS)
+	@$(ECHO)  ExeObjects........ $(EXEOBJECTS)
+	@$(ECHO)
+	@$(ECHO)  ExtraCleanUnits... $(EXTRACLEANUNITS)
+	@$(ECHO)  ExtraCleanFiles... $(EXTRACLEANFILES)
+	@$(ECHO)
+	@$(ECHO)  ExtraInstallUnits. $(EXTRAINSTALLUNITS)
+	@$(ECHO)  ExtraInstallFiles. $(EXTRAINSTALLFILES)
+	@$(ECHO)
 
 
 fpc_infoinstall:
 fpc_infoinstall:
 	@$(ECHO)
 	@$(ECHO)
@@ -927,21 +1000,17 @@ endif
 	@$(ECHO)
 	@$(ECHO)
 	@$(ECHO)  BaseInstallDir....... $(BASEINSTALLDIR)
 	@$(ECHO)  BaseInstallDir....... $(BASEINSTALLDIR)
 	@$(ECHO)  BinInstallDir........ $(BININSTALLDIR)
 	@$(ECHO)  BinInstallDir........ $(BININSTALLDIR)
-	@$(ECHO)  UnitInstallDir....... $(UNITINSTALLDIR)
-	@$(ECHO)  StaticUnitInstallDir. $(STATIC_UNITINSTALLDIR)
-	@$(ECHO)  SharedUnitInstallDir. $(SHARED_UNITINSTALLDIR)
 	@$(ECHO)  LibInstallDir........ $(LIBINSTALLDIR)
 	@$(ECHO)  LibInstallDir........ $(LIBINSTALLDIR)
-	@$(ECHO)  StaticLibInstallDir.. $(STATIC_LIBINSTALLDIR)
-	@$(ECHO)  SharedLibInstallDir.. $(SHARED_LIBINSTALLDIR)
-	@$(ECHO)  MsgInstallDir........ $(MSGINSTALLDIR)
+	@$(ECHO)  UnitInstallDir....... $(UNITINSTALLDIR)
+	@$(ECHO)  SourceInstallDir..... $(SOURCEINSTALLDIR)
 	@$(ECHO)  DocInstallDir........ $(DOCINSTALLDIR)
 	@$(ECHO)  DocInstallDir........ $(DOCINSTALLDIR)
+	@$(ECHO)  ExtraInstallDir...... $(EXTRAINSTALLDIR)
 	@$(ECHO)
 	@$(ECHO)
 
 
 #####################################################################
 #####################################################################
 # Users rules
 # Users rules
 #####################################################################
 #####################################################################
 
 
-
 ifdef inlinux
 ifdef inlinux
 installer: install.pas
 installer: install.pas
 	$(COMPILER) -oinstaller install.pas
 	$(COMPILER) -oinstaller install.pas

+ 2 - 2
packages/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-06 18:34
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -210,7 +210,7 @@ info: $(addsuffix _info,$(DIROBJECTS))
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all

+ 37 - 22
packages/forms/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:47
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -201,6 +206,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -330,7 +336,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -392,11 +406,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -422,7 +431,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -542,6 +551,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -552,16 +562,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -573,6 +586,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -584,6 +598,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -644,7 +659,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -688,12 +703,12 @@ fpc_exes: $(EXEFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -726,7 +741,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -756,13 +771,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -836,7 +851,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -891,9 +906,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -910,7 +925,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -918,7 +933,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 125 - 41
packages/forms/demo/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-24 22:54
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -102,6 +107,10 @@ endif
 #####################################################################
 #####################################################################
 
 
 # Release ? Then force OPT and don't use extra opts via commandline
 # Release ? Then force OPT and don't use extra opts via commandline
+ifndef REDIRFILE
+REDIRFILE=log
+endif
+
 ifdef RELEASE
 ifdef RELEASE
 override OPT:=-Xs -OG2p3 -n
 override OPT:=-Xs -OG2p3 -n
 endif
 endif
@@ -111,6 +120,15 @@ ifdef VERBOSE
 override OPT+=-vwni
 override OPT+=-vwni
 endif
 endif
 
 
+ifdef REDIR
+ifndef inlinux
+override FPC=redir -eo $(FPC)
+endif
+# set the verbosity to max
+override OPT+=-va
+override REDIR:= >> $(REDIRFILE)
+endif
+
 #####################################################################
 #####################################################################
 # User Settings
 # User Settings
 #####################################################################
 #####################################################################
@@ -118,13 +136,14 @@ endif
 
 
 # Targets
 # Targets
 
 
-EXEOBJECTS+=pushme yesno pushbutton touchbutton minput inputall choice butttypes colsel colsel1 buttonall chartall positioner secretinput cursor fdial ldial ndial invslider sliderall borderwidth boxtype xyplotover arrowbutton browserop browserall chartstrip colbrowser counter fbrowse1 fbrowse flclock fonts goodies lalign ll longlabel menu objinactive objpos newbutton multilabel objreturn
+override EXEOBJECTS+=pushme yesno pushbutton touchbutton minput inputall choice butttypes colsel colsel1 buttonall chartall positioner secretinput cursor fdial ldial ndial invslider sliderall borderwidth boxtype xyplotover arrowbutton browserop browserall chartstrip colbrowser counter fbrowse1 fbrowse flclock fonts goodies lalign ll longlabel menu objinactive objpos newbutton multilabel objreturn
 
 
 # Clean
 # Clean
 
 
 
 
 # Install
 # Install
 
 
+ZIPTARGET=install
 
 
 # Defaults
 # Defaults
 
 
@@ -137,6 +156,9 @@ endif
 ifndef PACKAGEDIR
 ifndef PACKAGEDIR
 PACKAGEDIR=$(FPCDIR)/packages
 PACKAGEDIR=$(FPCDIR)/packages
 endif
 endif
+ifndef COMPONENTDIR
+COMPONENTDIR=$(FPCDIR)/components
+endif
 override NEEDUNITDIR=..
 override NEEDUNITDIR=..
 
 
 # Packages
 # Packages
@@ -148,7 +170,7 @@ override NEEDOTHERLIB=1
 
 
 # Info
 # Info
 
 
-FPCINFO=fpc_infocfg fpc_infoobjects fpc_infoinstall 
+INFOTARGET=fpc_infocfg fpc_infoobjects fpc_infoinstall 
 
 
 #####################################################################
 #####################################################################
 # Default Directories
 # Default Directories
@@ -175,6 +197,16 @@ export PREFIXINSTALLDIR=/pp
 endif
 endif
 endif
 endif
 
 
+# create fcldir,rtldir,unitdir
+ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
+ifneq ($(FPCDIR),.)
+override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
+override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
+override UNITSDIR=$(FPCDIR)/units/$(OS_TARGET)
+endif
+endif
+
 # Where to find other libraries
 # Where to find other libraries
 ifdef inlinux
 ifdef inlinux
 ifndef OTHERLIBDIR
 ifndef OTHERLIBDIR
@@ -254,12 +286,12 @@ ifneq ($(OS_TARGET),$(OS_SOURCE))
 override FPCOPT+=-T$(OS_TARGET)
 override FPCOPT+=-T$(OS_TARGET)
 endif
 endif
 
 
-# RTL first and then Unit dir (a unit can override RTLunit). Don't add the
-# dirs if fpcdir=. which can be used for the rtl makefiles
-ifdef FPCDIR
-ifneq ($(FPCDIR),.)
-override FPCOPT+=-Fu$(FPCDIR)/rtl/$(OS_TARGET) -Fu$(FPCDIR)/units/$(OS_TARGET)
+ifdef RTLDIR
+override FPCOPT+=-Fu$(RTLDIR)
 endif
 endif
+
+ifdef UNITSDIR
+override FPCOPT+=-Fu$(UNITSDIR)
 endif
 endif
 
 
 ifdef NEEDUNITDIR
 ifdef NEEDUNITDIR
@@ -303,12 +335,25 @@ ifdef FPCOPTDEF
 override FPCOPT+=$(FPCOPTDEF)
 override FPCOPT+=$(FPCOPTDEF)
 endif
 endif
 
 
+# Error file ?
+ifdef ERRORFILE
+override FPCOPT+=-Fr$(ERRORFILE)
+endif
+
 # Was a config file specified ?
 # Was a config file specified ?
 ifdef CFGFILE
 ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -319,6 +364,11 @@ ifndef COPY
 export COPY:=cp -fp
 export COPY:=cp -fp
 endif
 endif
 
 
+# Copy a whole tree
+ifndef COPYTREE
+export COPYTREE:=cp -rfp
+endif
+
 # To move pograms
 # To move pograms
 ifndef MOVE
 ifndef MOVE
 export MOVE:=mv -f
 export MOVE:=mv -f
@@ -390,7 +440,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -510,6 +560,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -520,16 +571,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -541,6 +595,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -552,6 +607,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -578,13 +634,9 @@ endif
 endif
 endif
 
 
 #####################################################################
 #####################################################################
-# Default rules
+# Standard rules
 #####################################################################
 #####################################################################
 
 
-.PHONY: defaultrule all debug examples test smart shared \
-	showinstall install zipinstall zipinstalladd \
-	clean cleanall depend info
-
 all: fpc_all
 all: fpc_all
 
 
 debug: fpc_debug
 debug: fpc_debug
@@ -597,6 +649,8 @@ showinstall: fpc_showinstall
 
 
 install: fpc_install
 install: fpc_install
 
 
+sourceinstall: fpc_sourceinstall
+
 zipinstall: fpc_zipinstall
 zipinstall: fpc_zipinstall
 
 
 zipinstalladd: fpc_zipinstalladd
 zipinstalladd: fpc_zipinstalladd
@@ -607,14 +661,30 @@ cleanall: fpc_cleanall
 
 
 info: fpc_info
 info: fpc_info
 
 
+.PHONY:  all debug smart shared showinstall install sourceinstall zipinstall zipinstalladd clean cleanall info
+
+#####################################################################
+# Package depends
+#####################################################################
+
+ifneq ($(wildcard $(RTLDIR)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
+override COMPILEPACKAGES+=rtl
+rtl_package:
+	$(MAKE) -C $(RTLDIR) all
+endif
+endif
+
+.PHONY:  rtl_package
+
 #####################################################################
 #####################################################################
 # Exes
 # Exes
 #####################################################################
 #####################################################################
 
 
 .PHONY: fpc_exes
 .PHONY: fpc_exes
 
 
-EXEFILES=$(addsuffix $(EXEEXT),$(EXEOBJECTS))
-EXEOFILES=$(addsuffix $(OEXT),$(EXEOBJECTS))
+override EXEFILES=$(addsuffix $(EXEEXT),$(EXEOBJECTS))
+override EXEOFILES=$(addsuffix $(OEXT),$(EXEOBJECTS))
 
 
 override ALLTARGET+=fpc_exes
 override ALLTARGET+=fpc_exes
 override INSTALLEXEFILES+=$(EXEFILES)
 override INSTALLEXEFILES+=$(EXEFILES)
@@ -628,7 +698,12 @@ fpc_exes: $(EXEFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-fpc_all: $(ALLTARGET)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
+
+fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
+	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -661,7 +736,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -691,11 +766,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
+else
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -742,6 +819,16 @@ ifdef EXTRAINSTALLFILES
 	$(INSTALL) $(EXTRAINSTALLFILES) $(EXTRAINSTALLDIR)
 	$(INSTALL) $(EXTRAINSTALLFILES) $(EXTRAINSTALLDIR)
 endif
 endif
 
 
+#####################################################################
+# Source install rules
+#####################################################################
+
+.PHONY: fpc_sourceinstall
+
+fpc_sourceinstall: clean
+	$(MKDIR) $(SOURCEINSTALLDIR)
+	$(COPYTREE) $(BASEDIR) $(SOURCEINSTALLDIR)
+
 #####################################################################
 #####################################################################
 # Zip
 # Zip
 #####################################################################
 #####################################################################
@@ -758,8 +845,8 @@ endif
 endif
 endif
 
 
 # Test dir if none specified
 # Test dir if none specified
-ifndef PACKAGEDIR
-PACKAGEDIR=$(BASEDIR)
+ifndef DESTZIPDIR
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -769,11 +856,6 @@ override ZIPNAME:=$(ZIPNAME)$(ZIPEXT)
 endif
 endif
 endif
 endif
 
 
-# Default target which is call before zipping
-ifndef ZIPTARGET
-ZIPTARGET=install
-endif
-
 # Note: This will not remove the zipfile first
 # Note: This will not remove the zipfile first
 fpc_zipinstalladd:
 fpc_zipinstalladd:
 ifndef ZIPNAME
 ifndef ZIPNAME
@@ -782,11 +864,11 @@ ifndef ZIPNAME
 else
 else
 	$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
 	$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
 ifdef inlinux
 ifdef inlinux
-	gzip -d $(PACKAGEDIR)/$(ZIPNAME).tar.gz
-	cd $(PACKDIR) ; tar rv --file $(PACKAGEDIR)/$(ZIPNAME).tar * ; cd $(BASEDIR)
-	gzip $(PACKAGEDIR)/$(ZIPNAME).tar
+	gzip -d $(DESTZIPDIR)/$(ZIPNAME).tar.gz
+	cd $(PACKDIR) ; tar rv --file $(DESTZIPDIR)/$(ZIPNAME).tar * ; cd $(BASEDIR)
+	gzip $(DESTZIPDIR)/$(ZIPNAME).tar
 else
 else
-	cd $(PACKDIR) ; $(ZIPPROG) $(PACKAGEDIR)/$(ZIPNAME) * ; cd $(BASEDIR)
+	cd $(PACKDIR) ; $(ZIPPROG) $(DESTZIPDIR)/$(ZIPNAME) * ; cd $(BASEDIR)
 endif
 endif
 	$(DELTREE) $(PACKDIR)
 	$(DELTREE) $(PACKDIR)
 endif
 endif
@@ -797,12 +879,12 @@ ifndef ZIPNAME
 	@$(ECHO) Please specify ZIPNAME!
 	@$(ECHO) Please specify ZIPNAME!
 	@exit
 	@exit
 else
 else
-	$(DEL) $(PACKAGEDIR)/$(ZIPNAME)
+	$(DEL) $(DESTZIPDIR)/$(ZIPNAME)
 	$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
 	$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
 ifdef inlinux
 ifdef inlinux
-	cd $(PACKDIR) ; tar cvz --file $(PACKAGEDIR)/$(ZIPNAME).tar.gz * ; cd $(BASEDIR)
+	cd $(PACKDIR) ; tar cvz --file $(DESTZIPDIR)/$(ZIPNAME).tar.gz * ; cd $(BASEDIR)
 else
 else
-	cd $(PACKDIR) ; $(ZIPPROG) $(PACKAGEDIR)/$(ZIPNAME) * ; cd $(BASEDIR)
+	cd $(PACKDIR) ; $(ZIPPROG) $(DESTZIPDIR)/$(ZIPNAME) * ; cd $(BASEDIR)
 endif
 endif
 	$(DELTREE) $(PACKDIR)
 	$(DELTREE) $(PACKDIR)
 endif
 endif
@@ -819,7 +901,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
+else
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -836,15 +920,15 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(PPAS) link.res log
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
-fpc_cleanall:
+fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
 	-$(DEL) $(CLEANEXEFILES)
 	-$(DEL) $(CLEANEXEFILES)
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(PPAS) link.res log
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules
@@ -853,7 +937,7 @@ endif
 .PHONY: fpc_info fpc_cfginfo fpc_objectinfo fpc_toolsinfo fpc_installinfo \
 .PHONY: fpc_info fpc_cfginfo fpc_objectinfo fpc_toolsinfo fpc_installinfo \
 	fpc_dirinfo
 	fpc_dirinfo
 
 
-fpc_info: $(FPCINFO)
+fpc_info: $(INFOTARGET)
 
 
 fpc_infocfg:
 fpc_infocfg:
 	@$(ECHO)
 	@$(ECHO)

+ 15 - 14
packages/gdbint/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-06 18:34
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -430,11 +430,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -580,6 +575,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -590,16 +586,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -611,6 +610,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -622,6 +622,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -684,7 +685,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -743,12 +744,12 @@ fpc_test: examples
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -817,7 +818,7 @@ else
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -948,7 +949,7 @@ ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -965,7 +966,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -973,7 +974,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 41 - 30
packages/gdbint/libgdb/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-10 23:51
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -102,6 +107,10 @@ endif
 #####################################################################
 #####################################################################
 
 
 # Release ? Then force OPT and don't use extra opts via commandline
 # Release ? Then force OPT and don't use extra opts via commandline
+ifndef REDIRFILE
+REDIRFILE=log
+endif
+
 ifdef RELEASE
 ifdef RELEASE
 override OPT:=-Xs -OG2p3 -n
 override OPT:=-Xs -OG2p3 -n
 endif
 endif
@@ -111,6 +120,15 @@ ifdef VERBOSE
 override OPT+=-vwni
 override OPT+=-vwni
 endif
 endif
 
 
+ifdef REDIR
+ifndef inlinux
+override FPC=redir -eo $(FPC)
+endif
+# set the verbosity to max
+override OPT+=-va
+override REDIR:= >> $(REDIRFILE)
+endif
+
 #####################################################################
 #####################################################################
 # User Settings
 # User Settings
 #####################################################################
 #####################################################################
@@ -124,54 +142,47 @@ endif
 
 
 # Install
 # Install
 
 
+ZIPTARGET=install
 
 
 # Defaults
 # Defaults
 
 
 
 
 # Directories
 # Directories
 
 
+ifndef PACKAGEDIR
+PACKAGEDIR=$(FPCDIR)/packages
+endif
+ifndef COMPONENTDIR
+COMPONENTDIR=$(FPCDIR)/components
+endif
+
+# Packages
+
 
 
 # Libraries
 # Libraries
 
 
 
 
 #####################################################################
 #####################################################################
-# Default rules
+# Standard rules
 #####################################################################
 #####################################################################
 
 
-.PHONY: defaultrule all staticlib sharedlib showinstall install \
-	staticinstall sharedinstall libinstall zipinstall zipinstalladd \
-	clean cleanall depend info
-
-staticlib: fpc_staticlib
-
-sharedlib: fpc_sharedlib
-
-showinstall: fpc_showinstall
-
-install: fpc_install
-
-staticinstall: fpc_staticinstall
-
-sharedinstall: fpc_sharedinstall
-
-libinstall: fpc_libinstall
-
-zipinstall: fpc_zipinstall
-
-zipinstalladd: fpc_zipinstalladd
-
-clean: fpc_clean
-
-clean_all: fpc_clean_all
+#####################################################################
+# Package depends
+#####################################################################
 
 
-depend: fpc_depend
+ifneq ($(wildcard $(RTLDIR)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
+override COMPILEPACKAGES+=rtl
+rtl_package:
+	$(MAKE) -C $(RTLDIR) all
+endif
+endif
 
 
-info: fpc_info
+.PHONY:  rtl_package
 
 
 #####################################################################
 #####################################################################
 # Users rules
 # Users rules
 #####################################################################
 #####################################################################
 
 
-
 all:
 all:
 	$(MAKE) -C $(OS_TARGET) all
 	$(MAKE) -C $(OS_TARGET) all

+ 39 - 24
packages/ggi/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:46
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -193,6 +198,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -322,7 +328,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -384,11 +398,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -414,7 +423,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -534,6 +543,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -544,16 +554,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -565,6 +578,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -576,6 +590,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -640,7 +655,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -669,8 +684,8 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_examples fpc_test
 .PHONY: fpc_examples fpc_test
 
 
-override EXAMPLEFILES=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
-override EXAMPLEOFILES=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
 
 
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 
 
@@ -684,12 +699,12 @@ fpc_test: examples
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -722,7 +737,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -752,13 +767,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -832,7 +847,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -887,9 +902,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -906,7 +921,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -914,7 +929,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 15 - 14
packages/gtk/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-06 18:34
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -407,11 +407,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -557,6 +552,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -567,16 +563,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -588,6 +587,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -599,6 +599,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -657,7 +658,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -686,12 +687,12 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -760,7 +761,7 @@ else
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -891,7 +892,7 @@ ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -908,7 +909,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -916,7 +917,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 15 - 14
packages/gtk/examples/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-06 18:34
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -437,11 +437,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -587,6 +582,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -597,16 +593,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -618,6 +617,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -629,6 +629,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -689,7 +690,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -719,12 +720,12 @@ fpc_exes: $(EXEFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -793,7 +794,7 @@ else
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -924,7 +925,7 @@ ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -941,7 +942,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -949,7 +950,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 15 - 14
packages/gtk/tutorial/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-06 18:34
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -436,11 +436,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -586,6 +581,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -596,16 +592,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -617,6 +616,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -628,6 +628,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -688,7 +689,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -718,12 +719,12 @@ fpc_exes: $(EXEFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -792,7 +793,7 @@ else
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -923,7 +924,7 @@ ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -940,7 +941,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -948,7 +949,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 39 - 24
packages/ibase/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:47
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -193,6 +198,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -322,7 +328,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -384,11 +398,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -414,7 +423,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -534,6 +543,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -544,16 +554,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -565,6 +578,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -576,6 +590,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -640,7 +655,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -669,8 +684,8 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_examples fpc_test
 .PHONY: fpc_examples fpc_test
 
 
-override EXAMPLEFILES=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
-override EXAMPLEOFILES=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
 
 
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 
 
@@ -684,12 +699,12 @@ fpc_test: examples
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -722,7 +737,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -752,13 +767,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -832,7 +847,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -887,9 +902,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -906,7 +921,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -914,7 +929,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 39 - 24
packages/inet/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:47
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -193,6 +198,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -322,7 +328,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -384,11 +398,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -414,7 +423,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -534,6 +543,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -544,16 +554,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -565,6 +578,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -576,6 +590,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -640,7 +655,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -669,8 +684,8 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_examples fpc_test
 .PHONY: fpc_examples fpc_test
 
 
-override EXAMPLEFILES=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
-override EXAMPLEOFILES=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
 
 
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 
 
@@ -684,12 +699,12 @@ fpc_test: examples
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -722,7 +737,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -752,13 +767,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -832,7 +847,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -887,9 +902,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -906,7 +921,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -914,7 +929,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 39 - 24
packages/mysql/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:47
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -193,6 +198,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -322,7 +328,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -384,11 +398,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -414,7 +423,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -534,6 +543,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -544,16 +554,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -565,6 +578,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -576,6 +590,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -640,7 +655,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -669,8 +684,8 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_examples fpc_test
 .PHONY: fpc_examples fpc_test
 
 
-override EXAMPLEFILES=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
-override EXAMPLEOFILES=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
 
 
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 
 
@@ -684,12 +699,12 @@ fpc_test: examples
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -722,7 +737,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -752,13 +767,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -832,7 +847,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -887,9 +902,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -906,7 +921,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -914,7 +929,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 39 - 24
packages/ncurses/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:46
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -193,6 +198,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -322,7 +328,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -384,11 +398,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -414,7 +423,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -534,6 +543,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -544,16 +554,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -565,6 +578,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -576,6 +590,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -640,7 +655,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -669,8 +684,8 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_examples fpc_test
 .PHONY: fpc_examples fpc_test
 
 
-override EXAMPLEFILES=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
-override EXAMPLEOFILES=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
 
 
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 
 
@@ -684,12 +699,12 @@ fpc_test: examples
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -722,7 +737,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -752,13 +767,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -832,7 +847,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -887,9 +902,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -906,7 +921,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -914,7 +929,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 37 - 22
packages/opengl/demos/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-28 18:26
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -189,6 +194,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -310,7 +316,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -372,11 +386,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -402,7 +411,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -522,6 +531,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -532,16 +542,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -553,6 +566,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -564,6 +578,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -624,7 +639,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -654,12 +669,12 @@ fpc_exes: $(EXEFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -692,7 +707,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -722,13 +737,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -802,7 +817,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -857,9 +872,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -876,7 +891,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -884,7 +899,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 37 - 22
packages/opengl/linuxd/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-28 18:15
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -189,6 +194,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -310,7 +316,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -372,11 +386,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -402,7 +411,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -522,6 +531,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -532,16 +542,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -553,6 +566,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -564,6 +578,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -624,7 +639,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -653,12 +668,12 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -691,7 +706,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -721,13 +736,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -801,7 +816,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -856,9 +871,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -875,7 +890,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -883,7 +898,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 39 - 24
packages/opengl/old/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:46
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -194,6 +199,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -327,7 +333,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -389,11 +403,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -419,7 +428,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -539,6 +548,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -549,16 +559,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -570,6 +583,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -581,6 +595,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -645,7 +660,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -674,8 +689,8 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_examples fpc_test
 .PHONY: fpc_examples fpc_test
 
 
-override EXAMPLEFILES=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
-override EXAMPLEOFILES=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
 
 
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 
 
@@ -689,12 +704,12 @@ fpc_test: examples
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -727,7 +742,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -757,13 +772,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -837,7 +852,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -892,9 +907,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -911,7 +926,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -919,7 +934,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 39 - 24
packages/paszlib/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:47
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -194,6 +199,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -327,7 +333,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -389,11 +403,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -419,7 +428,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -539,6 +548,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -549,16 +559,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -570,6 +583,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -581,6 +595,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -645,7 +660,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -674,8 +689,8 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_examples fpc_test
 .PHONY: fpc_examples fpc_test
 
 
-override EXAMPLEFILES=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
-override EXAMPLEOFILES=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
 
 
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 
 
@@ -689,12 +704,12 @@ fpc_test: examples
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -727,7 +742,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -757,13 +772,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -837,7 +852,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -892,9 +907,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -911,7 +926,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -919,7 +934,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 39 - 24
packages/postgres/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:47
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -193,6 +198,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -322,7 +328,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -384,11 +398,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -414,7 +423,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -534,6 +543,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -544,16 +554,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -565,6 +578,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -576,6 +590,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -640,7 +655,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -669,8 +684,8 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_examples fpc_test
 .PHONY: fpc_examples fpc_test
 
 
-override EXAMPLEFILES=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
-override EXAMPLEOFILES=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
 
 
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 
 
@@ -684,12 +699,12 @@ fpc_test: examples
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -722,7 +737,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -752,13 +767,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -832,7 +847,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -887,9 +902,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -906,7 +921,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -914,7 +929,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 39 - 24
packages/svgalib/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:47
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -193,6 +198,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -322,7 +328,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -384,11 +398,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -414,7 +423,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -534,6 +543,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -544,16 +554,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -565,6 +578,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -576,6 +590,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -640,7 +655,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -669,8 +684,8 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_examples fpc_test
 .PHONY: fpc_examples fpc_test
 
 
-override EXAMPLEFILES=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
-override EXAMPLEOFILES=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
 
 
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 
 
@@ -684,12 +699,12 @@ fpc_test: examples
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -722,7 +737,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -752,13 +767,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -832,7 +847,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -887,9 +902,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -906,7 +921,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -914,7 +929,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 39 - 24
packages/uncgi/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:47
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -193,6 +198,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -322,7 +328,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -384,11 +398,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -414,7 +423,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -534,6 +543,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -544,16 +554,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -565,6 +578,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -576,6 +590,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -640,7 +655,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -669,8 +684,8 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_examples fpc_test
 .PHONY: fpc_examples fpc_test
 
 
-override EXAMPLEFILES=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
-override EXAMPLEOFILES=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
 
 
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 
 
@@ -684,12 +699,12 @@ fpc_test: examples
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -722,7 +737,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -752,13 +767,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -832,7 +847,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -887,9 +902,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -906,7 +921,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -914,7 +929,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 39 - 24
packages/utmp/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:47
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -193,6 +198,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -322,7 +328,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -384,11 +398,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -414,7 +423,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -534,6 +543,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -544,16 +554,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -565,6 +578,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -576,6 +590,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -640,7 +655,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -669,8 +684,8 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_examples fpc_test
 .PHONY: fpc_examples fpc_test
 
 
-override EXAMPLEFILES=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
-override EXAMPLEOFILES=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(EXAMPLEOBJECTS))
+override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(EXAMPLEOBJECTS))
 
 
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
 
 
@@ -684,12 +699,12 @@ fpc_test: examples
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -722,7 +737,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -752,13 +767,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -832,7 +847,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -887,9 +902,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -906,7 +921,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -914,7 +929,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 2 - 2
rtl/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-13 14:21
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -204,7 +204,7 @@ info: $(OS_TARGET)_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all

+ 37 - 22
rtl/go32v1/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:51
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -72,12 +72,17 @@ override CPU_TARGET:=i386
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -238,6 +243,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -377,7 +383,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -439,11 +453,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -469,7 +478,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -589,6 +598,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -599,16 +609,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -620,6 +633,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -631,6 +645,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -705,7 +720,7 @@ override CLEANTARGET+=fpc_loaders_clean
 override SHOWINSTALLTARGET+=fpc_loaders_showinstall
 override SHOWINSTALLTARGET+=fpc_loaders_showinstall
 override INSTALLTARGET+=fpc_loaders_install
 override INSTALLTARGET+=fpc_loaders_install
 
 
-override LOADEROFILES=$(addsuffix $(OEXT),$(LOADEROBJECTS))
+override LOADEROFILES:=$(addsuffix $(OEXT),$(LOADEROBJECTS))
 
 
 fpc_loaders: $(LOADEROFILES)
 fpc_loaders: $(LOADEROFILES)
 
 
@@ -739,12 +754,12 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -777,7 +792,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -807,13 +822,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -887,7 +902,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -942,9 +957,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -961,7 +976,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -969,7 +984,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 37 - 22
rtl/go32v2/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-13 23:59
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -72,12 +72,17 @@ override CPU_TARGET:=i386
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -238,6 +243,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -377,7 +383,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -439,11 +453,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -469,7 +478,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -589,6 +598,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -599,16 +609,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -620,6 +633,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -631,6 +645,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -705,7 +720,7 @@ override CLEANTARGET+=fpc_loaders_clean
 override SHOWINSTALLTARGET+=fpc_loaders_showinstall
 override SHOWINSTALLTARGET+=fpc_loaders_showinstall
 override INSTALLTARGET+=fpc_loaders_install
 override INSTALLTARGET+=fpc_loaders_install
 
 
-override LOADEROFILES=$(addsuffix $(OEXT),$(LOADEROBJECTS))
+override LOADEROFILES:=$(addsuffix $(OEXT),$(LOADEROBJECTS))
 
 
 fpc_loaders: $(LOADEROFILES)
 fpc_loaders: $(LOADEROFILES)
 
 
@@ -739,12 +754,12 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -777,7 +792,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -807,13 +822,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -887,7 +902,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -942,9 +957,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -961,7 +976,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -969,7 +984,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 14 - 13
rtl/linux/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-06 18:33
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -464,11 +464,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -614,6 +609,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -624,16 +620,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -645,6 +644,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -656,6 +656,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -764,12 +765,12 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -838,7 +839,7 @@ else
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -969,7 +970,7 @@ ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -986,7 +987,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -994,7 +995,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 14 - 13
rtl/os2/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-06 18:33
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -453,11 +453,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -603,6 +598,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -613,16 +609,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -634,6 +633,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -645,6 +645,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -753,12 +754,12 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -827,7 +828,7 @@ else
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -958,7 +959,7 @@ ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -975,7 +976,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -983,7 +984,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 14 - 13
rtl/win32/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-06 18:33
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -458,11 +458,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -608,6 +603,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -618,16 +614,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -639,6 +638,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -650,6 +650,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -758,12 +759,12 @@ fpc_units: $(UNITPPUFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -832,7 +833,7 @@ else
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -963,7 +964,7 @@ ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -980,7 +981,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -988,7 +989,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 8 - 2
tests/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-16 16:01
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: info
 defaultrule: info
@@ -176,6 +176,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -186,16 +187,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -207,6 +211,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -218,6 +223,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -252,7 +258,7 @@ endif
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all

+ 38 - 23
utils/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-12-01 14:14
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -198,6 +203,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -336,7 +342,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -398,11 +412,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -428,7 +437,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -558,6 +567,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -568,16 +578,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -589,6 +602,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -600,6 +614,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -666,14 +681,14 @@ info: fpc_info $(addsuffix _info,$(DIROBJECTS))
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
 endif
 endif
 endif
 endif
 ifneq ($(wildcard $(FCLDIR)),)
 ifneq ($(wildcard $(FCLDIR)),)
-ifeq ($(wildcard $(FCLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(FCLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=fcl
 override COMPILEPACKAGES+=fcl
 fcl_package:
 fcl_package:
 	$(MAKE) -C $(FCLDIR) all
 	$(MAKE) -C $(FCLDIR) all
@@ -703,12 +718,12 @@ fpc_exes: $(EXEFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -741,7 +756,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -771,13 +786,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -851,7 +866,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -906,9 +921,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -925,7 +940,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -933,7 +948,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 37 - 22
utils/h2pas/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:45
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -194,6 +199,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -327,7 +333,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -389,11 +403,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -419,7 +428,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -539,6 +548,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -549,16 +559,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -570,6 +583,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -581,6 +595,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -641,7 +656,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -671,12 +686,12 @@ fpc_exes: $(EXEFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -709,7 +724,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -739,13 +754,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -819,7 +834,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -874,9 +889,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -893,7 +908,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -901,7 +916,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 37 - 22
utils/simulator/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:45
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -193,6 +198,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -322,7 +328,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -384,11 +398,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -414,7 +423,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -534,6 +543,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -544,16 +554,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -565,6 +578,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -576,6 +590,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -636,7 +651,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -666,12 +681,12 @@ fpc_exes: $(EXEFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -704,7 +719,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -734,13 +749,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -814,7 +829,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -869,9 +884,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -888,7 +903,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -896,7 +911,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules

+ 37 - 22
utils/tply/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Makefile generated by fpcmake v0.99.13 on 1999-11-25 23:45
+# Makefile generated by fpcmake v0.99.13 on 1999-12-19 16:02
 #
 #
 
 
 defaultrule: all
 defaultrule: all
@@ -65,12 +65,17 @@ endif
 
 
 # What compiler to use ?
 # What compiler to use ?
 ifndef FPC
 ifndef FPC
+# Compatibility with old makefiles
+ifdef PP
+export FPC=$(PP)
+else
 ifdef inOS2
 ifdef inOS2
 export FPC=ppos2$(EXEEXT)
 export FPC=ppos2$(EXEEXT)
 else
 else
 export FPC=ppc386$(EXEEXT)
 export FPC=ppc386$(EXEEXT)
 endif
 endif
 endif
 endif
+endif
 
 
 # Target OS
 # Target OS
 ifndef OS_TARGET
 ifndef OS_TARGET
@@ -204,6 +209,7 @@ endif
 
 
 # create fcldir,rtldir,unitdir
 # create fcldir,rtldir,unitdir
 ifdef FPCDIR
 ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifneq ($(FPCDIR),.)
 ifneq ($(FPCDIR),.)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override RTLDIR=$(FPCDIR)/rtl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
 override FCLDIR=$(FPCDIR)/fcl/$(OS_TARGET)
@@ -337,7 +343,15 @@ ifdef CFGFILE
 override FPCOPT+=@$(CFGFILE)
 override FPCOPT+=@$(CFGFILE)
 endif
 endif
 
 
-override COMPILER=$(FPC) $(FPCOPT)
+# For win32 the options are passed using the environment variable FPCEXTCMD
+ifeq ($(OS_SOURCE),win32)
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+
+# Compiler commandline
+override COMPILER:=$(FPC) $(FPCOPT)
 
 
 #####################################################################
 #####################################################################
 # Shell tools
 # Shell tools
@@ -399,11 +413,6 @@ endif
 # Default Tools
 # Default Tools
 #####################################################################
 #####################################################################
 
 
-# file used to check if a package is compiled
-ifndef FPCMAKED
-FPCMAKED=fpcmaked
-endif
-
 # assembler, redefine it if cross compiling
 # assembler, redefine it if cross compiling
 ifndef AS
 ifndef AS
 AS=as
 AS=as
@@ -429,7 +438,7 @@ endif
 ifeq (,$(findstring -s ,$(COMPILER)))
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 EXECPPAS=
 else
 else
-EXECPPAS=@$(PPAS)
+EXECPPAS:=@$(PPAS)
 endif
 endif
 
 
 # ldconfig to rebuild .so cache
 # ldconfig to rebuild .so cache
@@ -549,6 +558,7 @@ SMARTEXT=.sl
 STATICLIBEXT=.a
 STATICLIBEXT=.a
 SHAREDLIBEXT=.so
 SHAREDLIBEXT=.so
 PACKAGESUFFIX=
 PACKAGESUFFIX=
+FPCMADE=fpcmade
 
 
 # Go32v1
 # Go32v1
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
@@ -559,16 +569,19 @@ SMARTEXT=.sl1
 STATICLIBEXT=.a1
 STATICLIBEXT=.a1
 SHAREDLIBEXT=.so1
 SHAREDLIBEXT=.so1
 PACKAGESUFFIX=v1
 PACKAGESUFFIX=v1
+FPCMADE=fpcmade.v1
 endif
 endif
 
 
 # Go32v2
 # Go32v2
 ifeq ($(OS_TARGET),go32v2)
 ifeq ($(OS_TARGET),go32v2)
 PACKAGESUFFIX=go32
 PACKAGESUFFIX=go32
+FPCMADE=fpcmade.dos
 endif
 endif
 
 
 # Linux
 # Linux
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 PACKAGESUFFIX=linux
 PACKAGESUFFIX=linux
+FPCMADE=fpcmade.lnx
 endif
 endif
 
 
 # Win32
 # Win32
@@ -580,6 +593,7 @@ SMARTEXT=.slw
 STATICLIBEXT=.aw
 STATICLIBEXT=.aw
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=win32
 PACKAGESUFFIX=win32
+FPCMADE=fpcmade.w32
 endif
 endif
 
 
 # OS/2
 # OS/2
@@ -591,6 +605,7 @@ SMARTEXT=.so
 STATICLIBEXT=.ao2
 STATICLIBEXT=.ao2
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 PACKAGESUFFIX=os2
 PACKAGESUFFIX=os2
+FPCMADE=fpcmade.os2
 endif
 endif
 
 
 # library prefix
 # library prefix
@@ -651,7 +666,7 @@ info: fpc_info
 #####################################################################
 #####################################################################
 
 
 ifneq ($(wildcard $(RTLDIR)),)
 ifneq ($(wildcard $(RTLDIR)),)
-ifeq ($(wildcard $(RTLDIR)/$(FPCMAKED)),)
+ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
 override COMPILEPACKAGES+=rtl
 override COMPILEPACKAGES+=rtl
 rtl_package:
 rtl_package:
 	$(MAKE) -C $(RTLDIR) all
 	$(MAKE) -C $(RTLDIR) all
@@ -695,12 +710,12 @@ fpc_exes: $(EXEFILES)
 
 
 .PHONY: fpc_all fpc_debug
 .PHONY: fpc_all fpc_debug
 
 
-$(FPCMAKED):
-	@$(ECHO) Compiled > $(FPCMAKED)
+$(FPCMADE):
+	@$(ECHO) Compiled > $(FPCMADE)
 
 
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 fpc_all: $(addsuffix _package,$(COMPILEPACKAGES)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
 	 $(addsuffix _component,$(COMPILECOMPONENTS)) \
-	 $(ALLTARGET) $(FPCMAKED)
+	 $(ALLTARGET) $(FPCMADE)
 
 
 fpc_debug:
 fpc_debug:
 	$(MAKE) all DEBUG=1
 	$(MAKE) all DEBUG=1
@@ -733,7 +748,7 @@ fpc_debug:
 
 
 # Default sharedlib units are all unit objects
 # Default sharedlib units are all unit objects
 ifndef SHAREDLIBUNITOBJECTS
 ifndef SHAREDLIBUNITOBJECTS
-SHAREDLIBUNITOBJECTS=$(UNITOBJECTS)
+SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
 endif
 endif
 
 
 fpc_smart:
 fpc_smart:
@@ -763,13 +778,13 @@ endif
 ifdef INSTALLPPUFILES
 ifdef INSTALLPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
 ifdef inlinux
 ifdef inlinux
-INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
-INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
+INSTALLPPULIBFILES:=$(shell $(PPUFILES) -L $(INSTALLPPUFILES))
 else
 else
-INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES))
 endif
 endif
 else
 else
-INSTALLPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))
+INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -843,7 +858,7 @@ endif
 
 
 # Test dir if none specified
 # Test dir if none specified
 ifndef DESTZIPDIR
 ifndef DESTZIPDIR
-DESTZIPDIR=$(BASEDIR)
+DESTZIPDIR:=$(BASEDIR)
 endif
 endif
 
 
 # Add .zip/.tar.gz extension
 # Add .zip/.tar.gz extension
@@ -898,9 +913,9 @@ endif
 
 
 ifdef CLEANPPUFILES
 ifdef CLEANPPUFILES
 ifdef PPUFILES
 ifdef PPUFILES
-CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
 else
 else
-CLEANPPULINKFILES=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES))
+CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)))
 endif
 endif
 endif
 endif
 
 
@@ -917,7 +932,7 @@ endif
 ifdef EXTRACLEANFILES
 ifdef EXTRACLEANFILES
 	-$(DEL) $(EXTRACLEANFILES)
 	-$(DEL) $(EXTRACLEANFILES)
 endif
 endif
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 fpc_cleanall: $(CLEANTARGET)
 fpc_cleanall: $(CLEANTARGET)
 ifdef CLEANEXEFILES
 ifdef CLEANEXEFILES
@@ -925,7 +940,7 @@ ifdef CLEANEXEFILES
 endif
 endif
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DELTREE) *$(SMARTEXT)
 	-$(DELTREE) *$(SMARTEXT)
-	-$(DEL) $(FPCMAKED) $(PPAS) link.res $(REDIRFILE)
+	-$(DEL) $(FPCMADE) $(PPAS) link.res $(REDIRFILE)
 
 
 #####################################################################
 #####################################################################
 # Info rules
 # Info rules