Browse Source

* More packages switched to fpmake building

git-svn-id: trunk@20056 -
joost 13 years ago
parent
commit
c41f844f58

+ 5 - 0
.gitattributes

@@ -2783,6 +2783,7 @@ packages/fpmkunit/fpmake.pp svneol=native#text/plain
 packages/fpmkunit/src/fpmkunit.pp svneol=native#text/plain
 packages/fpmkunit/src/fpmkunit.pp svneol=native#text/plain
 packages/fppkg/Makefile svneol=native#text/plain
 packages/fppkg/Makefile svneol=native#text/plain
 packages/fppkg/Makefile.fpc svneol=native#text/plain
 packages/fppkg/Makefile.fpc svneol=native#text/plain
+packages/fppkg/Makefile.fpc.fpcmake svneol=native#text/plain
 packages/fppkg/fpmake.pp svneol=native#text/plain
 packages/fppkg/fpmake.pp svneol=native#text/plain
 packages/fppkg/src/fpmkunitsrc.inc svneol=native#text/plain
 packages/fppkg/src/fpmkunitsrc.inc svneol=native#text/plain
 packages/fppkg/src/fprepos.pp svneol=native#text/plain
 packages/fppkg/src/fprepos.pp svneol=native#text/plain
@@ -2869,6 +2870,7 @@ packages/gdbm/fpmake.pp svneol=native#text/plain
 packages/gdbm/src/gdbm.pp svneol=native#text/plain
 packages/gdbm/src/gdbm.pp svneol=native#text/plain
 packages/ggi/Makefile svneol=native#text/plain
 packages/ggi/Makefile svneol=native#text/plain
 packages/ggi/Makefile.fpc svneol=native#text/plain
 packages/ggi/Makefile.fpc svneol=native#text/plain
+packages/ggi/Makefile.fpc.fpcmake svneol=native#text/plain
 packages/ggi/examples/Makefile svneol=native#text/plain
 packages/ggi/examples/Makefile svneol=native#text/plain
 packages/ggi/examples/Makefile.fpc svneol=native#text/plain
 packages/ggi/examples/Makefile.fpc svneol=native#text/plain
 packages/ggi/examples/ggi1.pp svneol=native#text/plain
 packages/ggi/examples/ggi1.pp svneol=native#text/plain
@@ -2878,6 +2880,7 @@ packages/ggi/src/ggi2d.pp svneol=native#text/plain
 packages/ggi/src/gii.pp svneol=native#text/plain
 packages/ggi/src/gii.pp svneol=native#text/plain
 packages/gmp/Makefile svneol=native#text/plain
 packages/gmp/Makefile svneol=native#text/plain
 packages/gmp/Makefile.fpc svneol=native#text/plain
 packages/gmp/Makefile.fpc svneol=native#text/plain
+packages/gmp/Makefile.fpc.fpcmake svneol=native#text/plain
 packages/gmp/examples/Makefile svneol=native#text/plain
 packages/gmp/examples/Makefile svneol=native#text/plain
 packages/gmp/examples/Makefile.fpc svneol=native#text/plain
 packages/gmp/examples/Makefile.fpc svneol=native#text/plain
 packages/gmp/examples/gmp_accept_test.pas svneol=native#text/plain
 packages/gmp/examples/gmp_accept_test.pas svneol=native#text/plain
@@ -6595,6 +6598,7 @@ packages/winceunits/src/winioctl.pp svneol=native#text/plain
 packages/winceunits/src/ws2bth.pp svneol=native#text/plain
 packages/winceunits/src/ws2bth.pp svneol=native#text/plain
 packages/winunits-base/Makefile svneol=native#text/plain
 packages/winunits-base/Makefile svneol=native#text/plain
 packages/winunits-base/Makefile.fpc svneol=native#text/plain
 packages/winunits-base/Makefile.fpc svneol=native#text/plain
+packages/winunits-base/Makefile.fpc.fpcmake svneol=native#text/plain
 packages/winunits-base/fpmake.pp svneol=native#text/plain
 packages/winunits-base/fpmake.pp svneol=native#text/plain
 packages/winunits-base/src/activex.pp svneol=native#text/plain
 packages/winunits-base/src/activex.pp svneol=native#text/plain
 packages/winunits-base/src/buildwinutilsbase.pp svneol=native#text/plain
 packages/winunits-base/src/buildwinutilsbase.pp svneol=native#text/plain
@@ -6637,6 +6641,7 @@ packages/winunits-base/tests/testcom2.pp svneol=native#text/plain
 packages/winunits-base/tests/testver.pp svneol=native#text/plain
 packages/winunits-base/tests/testver.pp svneol=native#text/plain
 packages/winunits-jedi/Makefile svneol=native#text/plain
 packages/winunits-jedi/Makefile svneol=native#text/plain
 packages/winunits-jedi/Makefile.fpc svneol=native#text/plain
 packages/winunits-jedi/Makefile.fpc svneol=native#text/plain
+packages/winunits-jedi/Makefile.fpc.fpcmake svneol=native#text/plain
 packages/winunits-jedi/fpmake.pp svneol=native#text/plain
 packages/winunits-jedi/fpmake.pp svneol=native#text/plain
 packages/winunits-jedi/src/ModuleLoader.pas svneol=native#text/plain
 packages/winunits-jedi/src/ModuleLoader.pas svneol=native#text/plain
 packages/winunits-jedi/src/buildjwa.pp svneol=native#text/plain
 packages/winunits-jedi/src/buildjwa.pp svneol=native#text/plain

+ 30 - 20
packages/Makefile

@@ -9518,17 +9518,17 @@ cocoaint_release: univint_release
 cocoaint_shared: univint_shared
 cocoaint_shared: univint_shared
 endif
 endif
 ifneq ($(findstring $(OS_TARGET),beos haiku freebsd darwin iphonesim solaris netbsd openbsd linux win32 win64 wince),)
 ifneq ($(findstring $(OS_TARGET),beos haiku freebsd darwin iphonesim solaris netbsd openbsd linux win32 win64 wince),)
-fppkg_all: fcl-base_all fcl-xml_all fcl-process_all fcl-net_all paszlib_all fcl-web_all
-fppkg_debug: fcl-base_debug fcl-xml_debug fcl-process_debug fcl-net_debug paszlib_debug fcl-web_debug
-fppkg_smart: fcl-base_smart fcl-xml_smart fcl-process_smart fcl-net_smart paszlib_smart fcl-web_smart
-fppkg_release: fcl-base_release fcl-xml_release fcl-process_release fcl-net_release paszlib_release fcl-web_release
-fppkg_shared: fcl-base_shared fcl-xml_shared fcl-process_shared fcl-net_shared paszlib_shared fcl-web_shared
+fppkg_all: fcl-base_all fcl-xml_all fcl-process_all fcl-net_all paszlib_all fcl-web_all fpmkunit_all
+fppkg_debug: fcl-base_debug fcl-xml_debug fcl-process_debug fcl-net_debug paszlib_debug fcl-web_debug fpmkunit_debug
+fppkg_smart: fcl-base_smart fcl-xml_smart fcl-process_smart fcl-net_smart paszlib_smart fcl-web_smart fpmkunit_smart
+fppkg_release: fcl-base_release fcl-xml_release fcl-process_release fcl-net_release paszlib_release fcl-web_release fpmkunit_release
+fppkg_shared: fcl-base_shared fcl-xml_shared fcl-process_shared fcl-net_shared paszlib_shared fcl-web_shared fpmkunit_shared
 else
 else
-fppkg_all: fcl-base_all fcl-xml_all fcl-process_all paszlib_all
-fppkg_debug: fcl-base_debug fcl-xml_debug fcl-process_debug paszlib_debug
-fppkg_smart: fcl-base_smart fcl-xml_smart fcl-process_smart paszlib_smart
-fppkg_release: fcl-base_release fcl-xml_release fcl-process_release paszlib_release
-fppkg_shared: fcl-base_shared fcl-xml_shared fcl-process_shared paszlib_shared
+fppkg_all: fcl-base_all fcl-xml_all fcl-process_all paszlib_all fpmkunit_all
+fppkg_debug: fcl-base_debug fcl-xml_debug fcl-process_debug paszlib_debug fpmkunit_debug
+fppkg_smart: fcl-base_smart fcl-xml_smart fcl-process_smart paszlib_smart fpmkunit_smart
+fppkg_release: fcl-base_release fcl-xml_release fcl-process_release paszlib_release fpmkunit_release
+fppkg_shared: fcl-base_shared fcl-xml_shared fcl-process_shared paszlib_shared fpmkunit_shared
 endif
 endif
 fcl-xml_all: fcl-base_all fpmkunit_all
 fcl-xml_all: fcl-base_all fpmkunit_all
 fcl-xml_debug: fcl-base_debug fpmkunit_debug
 fcl-xml_debug: fcl-base_debug fpmkunit_debug
@@ -9744,16 +9744,16 @@ unixutil_shared: libc_shared fcl-base_shared
 unixutil_smart: libc_smart fcl-base_smart
 unixutil_smart: libc_smart fcl-base_smart
 unixutil_debug: libc_debug fcl-base_debug
 unixutil_debug: libc_debug fcl-base_debug
 unixutil_release: libc_release fcl-base_release
 unixutil_release: libc_release fcl-base_release
-winunits-base_all: fcl-registry_all fcl-base_all
-winunits-base_shared: fcl-registry_shared fcl-base_shared
-winunits-base_smart: fcl-registry_smart fcl-base_smart
-winunits-base_debug: fcl-registry_debug fcl-base_debug
-winunits-base_release: fcl-registry_release fcl-base_release
-winunits-jedi_all: winunits-base_all fcl-registry_all fcl-base_all
-winunits-jedi_shared: winunits-base_shared fcl-registry_shared fcl-base_shared
-winunits-jedi_smart: winunits-base_smart fcl-registry_smart fcl-base_smart
-winunits-jedi_debug: winunits-base_debug fcl-registry_debug fcl-base_debug
-winunits-jedi_release: winunits-base_release fcl-registry_release fcl-base_release
+winunits-base_all: fcl-registry_all fcl-base_all fpmkunit_all
+winunits-base_shared: fcl-registry_shared fcl-base_shared fpmkunit_shared
+winunits-base_smart: fcl-registry_smart fcl-base_smart fpmkunit_smart
+winunits-base_debug: fcl-registry_debug fcl-base_debug fpmkunit_debug
+winunits-base_release: fcl-registry_release fcl-base_release fpmkunit_release
+winunits-jedi_all: winunits-base_all fcl-registry_all fcl-base_all fpmkunit_all
+winunits-jedi_shared: winunits-base_shared fcl-registry_shared fcl-base_shared fpmkunit_shared
+winunits-jedi_smart: winunits-base_smart fcl-registry_smart fcl-base_smart fpmkunit_smart
+winunits-jedi_debug: winunits-base_debug fcl-registry_debug fcl-base_debug fpmkunit_debug
+winunits-jedi_release: winunits-base_release fcl-registry_release fcl-base_release fpmkunit_release
 xforms_all: x11_all fpmkunit_all
 xforms_all: x11_all fpmkunit_all
 xforms_shared: x11_shared fpmkunit_shared
 xforms_shared: x11_shared fpmkunit_shared
 xforms_smart: x11_smart fpmkunit_smart
 xforms_smart: x11_smart fpmkunit_smart
@@ -9976,3 +9976,13 @@ nvapi_shared: fpmkunit_shared
 nvapi_smart: fpmkunit_smart
 nvapi_smart: fpmkunit_smart
 nvapi_debug: fpmkunit_debug
 nvapi_debug: fpmkunit_debug
 nvapi_release: fpmkunit_release
 nvapi_release: fpmkunit_release
+ggi_all: fpmkunit_all
+ggi_shared: fpmkunit_shared
+ggi_smart: fpmkunit_smart
+ggi_debug: fpmkunit_debug
+ggi_release: fpmkunit_release
+gmp_all: fpmkunit_all
+gmp_shared: fpmkunit_shared
+gmp_smart: fpmkunit_smart
+gmp_debug: fpmkunit_debug
+gmp_release: fpmkunit_release

+ 32 - 20
packages/Makefile.fpc

@@ -129,17 +129,17 @@ cocoaint_shared: univint_shared
 endif
 endif
 
 
 ifneq ($(findstring $(OS_TARGET),beos haiku freebsd darwin iphonesim solaris netbsd openbsd linux win32 win64 wince),)
 ifneq ($(findstring $(OS_TARGET),beos haiku freebsd darwin iphonesim solaris netbsd openbsd linux win32 win64 wince),)
-fppkg_all: fcl-base_all fcl-xml_all fcl-process_all fcl-net_all paszlib_all fcl-web_all
-fppkg_debug: fcl-base_debug fcl-xml_debug fcl-process_debug fcl-net_debug paszlib_debug fcl-web_debug
-fppkg_smart: fcl-base_smart fcl-xml_smart fcl-process_smart fcl-net_smart paszlib_smart fcl-web_smart
-fppkg_release: fcl-base_release fcl-xml_release fcl-process_release fcl-net_release paszlib_release fcl-web_release
-fppkg_shared: fcl-base_shared fcl-xml_shared fcl-process_shared fcl-net_shared paszlib_shared fcl-web_shared
+fppkg_all: fcl-base_all fcl-xml_all fcl-process_all fcl-net_all paszlib_all fcl-web_all fpmkunit_all
+fppkg_debug: fcl-base_debug fcl-xml_debug fcl-process_debug fcl-net_debug paszlib_debug fcl-web_debug fpmkunit_debug
+fppkg_smart: fcl-base_smart fcl-xml_smart fcl-process_smart fcl-net_smart paszlib_smart fcl-web_smart fpmkunit_smart
+fppkg_release: fcl-base_release fcl-xml_release fcl-process_release fcl-net_release paszlib_release fcl-web_release fpmkunit_release
+fppkg_shared: fcl-base_shared fcl-xml_shared fcl-process_shared fcl-net_shared paszlib_shared fcl-web_shared fpmkunit_shared
 else
 else
-fppkg_all: fcl-base_all fcl-xml_all fcl-process_all paszlib_all
-fppkg_debug: fcl-base_debug fcl-xml_debug fcl-process_debug paszlib_debug
-fppkg_smart: fcl-base_smart fcl-xml_smart fcl-process_smart paszlib_smart
-fppkg_release: fcl-base_release fcl-xml_release fcl-process_release paszlib_release
-fppkg_shared: fcl-base_shared fcl-xml_shared fcl-process_shared paszlib_shared
+fppkg_all: fcl-base_all fcl-xml_all fcl-process_all paszlib_all fpmkunit_all
+fppkg_debug: fcl-base_debug fcl-xml_debug fcl-process_debug paszlib_debug fpmkunit_debug
+fppkg_smart: fcl-base_smart fcl-xml_smart fcl-process_smart paszlib_smart fpmkunit_smart
+fppkg_release: fcl-base_release fcl-xml_release fcl-process_release paszlib_release fpmkunit_release
+fppkg_shared: fcl-base_shared fcl-xml_shared fcl-process_shared paszlib_shared fpmkunit_shared
 endif
 endif
 
 
 fcl-xml_all: fcl-base_all fpmkunit_all
 fcl-xml_all: fcl-base_all fpmkunit_all
@@ -388,17 +388,17 @@ unixutil_smart: libc_smart fcl-base_smart
 unixutil_debug: libc_debug fcl-base_debug
 unixutil_debug: libc_debug fcl-base_debug
 unixutil_release: libc_release fcl-base_release
 unixutil_release: libc_release fcl-base_release
 
 
-winunits-base_all: fcl-registry_all fcl-base_all
-winunits-base_shared: fcl-registry_shared fcl-base_shared
-winunits-base_smart: fcl-registry_smart fcl-base_smart
-winunits-base_debug: fcl-registry_debug fcl-base_debug
-winunits-base_release: fcl-registry_release fcl-base_release
+winunits-base_all: fcl-registry_all fcl-base_all fpmkunit_all
+winunits-base_shared: fcl-registry_shared fcl-base_shared fpmkunit_shared
+winunits-base_smart: fcl-registry_smart fcl-base_smart fpmkunit_smart
+winunits-base_debug: fcl-registry_debug fcl-base_debug fpmkunit_debug
+winunits-base_release: fcl-registry_release fcl-base_release fpmkunit_release
 
 
-winunits-jedi_all: winunits-base_all fcl-registry_all fcl-base_all
-winunits-jedi_shared: winunits-base_shared fcl-registry_shared fcl-base_shared
-winunits-jedi_smart: winunits-base_smart fcl-registry_smart fcl-base_smart
-winunits-jedi_debug: winunits-base_debug fcl-registry_debug fcl-base_debug
-winunits-jedi_release: winunits-base_release fcl-registry_release fcl-base_release
+winunits-jedi_all: winunits-base_all fcl-registry_all fcl-base_all fpmkunit_all
+winunits-jedi_shared: winunits-base_shared fcl-registry_shared fcl-base_shared fpmkunit_shared
+winunits-jedi_smart: winunits-base_smart fcl-registry_smart fcl-base_smart fpmkunit_smart
+winunits-jedi_debug: winunits-base_debug fcl-registry_debug fcl-base_debug fpmkunit_debug
+winunits-jedi_release: winunits-base_release fcl-registry_release fcl-base_release fpmkunit_release
 
 
 
 
 xforms_all: x11_all fpmkunit_all
 xforms_all: x11_all fpmkunit_all
@@ -667,3 +667,15 @@ nvapi_smart: fpmkunit_smart
 nvapi_debug: fpmkunit_debug
 nvapi_debug: fpmkunit_debug
 nvapi_release: fpmkunit_release
 nvapi_release: fpmkunit_release
 
 
+ggi_all: fpmkunit_all
+ggi_shared: fpmkunit_shared
+ggi_smart: fpmkunit_smart
+ggi_debug: fpmkunit_debug
+ggi_release: fpmkunit_release
+
+gmp_all: fpmkunit_all
+gmp_shared: fpmkunit_shared
+gmp_smart: fpmkunit_smart
+gmp_debug: fpmkunit_debug
+gmp_release: fpmkunit_release
+

File diff suppressed because it is too large
+ 9 - 861
packages/fppkg/Makefile


+ 57 - 43
packages/fppkg/Makefile.fpc

@@ -1,32 +1,13 @@
 #
 #
-#   Makefile.fpc for fppkg
+#   Makefile.fpc for running fpmake
 #
 #
 
 
 [package]
 [package]
 name=fppkg
 name=fppkg
 version=2.7.1
 version=2.7.1
 
 
-[target]
-units=fprepos fpxmlrep pkgoptions pkgglobals pkgmessages pkghandler pkgmkconv pkgdownload pkgfpmake pkgcommands pkgrepos
-units_linux=pkgwget pkgfphttp 
-units_beos=pkgwget pkgfphttp
-units_haiku=pkgwget pkgfphttp
-units_freebsd=pkgwget pkgfphttp
-units_netbsd=pkgwget pkgfphttp
-units_openbsd=pkgwget pkgfphttp
-units_darwin=pkgwget pkgfphttp
-units_iphonesim=pkgwget pkgfphttp
-units_solaris=pkgwget pkgfphttp
-units_win32=pkgwget pkgfphttp
-units_win64=pkgwget pkgfphttp
-units_wince=pkgwget pkgfphttp
-rsts=fprepos fpxmlrep pkgmessages
-
-
-[compiler]
-sourcedir=src
-includedir=src
-
+[require]
+packages=rtl fpmkunit
 
 
 [install]
 [install]
 fpcpackage=y
 fpcpackage=y
@@ -34,29 +15,62 @@ fpcpackage=y
 [default]
 [default]
 fpcdir=../..
 fpcdir=../..
 
 
-[require]
-packages=fcl-base fcl-xml fcl-process paszlib
-tools=data2inc
-packages_darwin=univint fcl-net fcl-web
-packages_iphonesim=univint fcl-net fcl-web
-packages_linux=fcl-net fcl-web
-packages_beos=fcl-net fcl-web
-packages_haiku=fcl-net fcl-web
-packages_freebsd=fcl-net fcl-web
-packages_netbsd=fcl-net fcl-web
-packages_openbsd=fcl-net fcl-web
-packages_solaris=fcl-net fcl-web
-packages_win32=fcl-net fcl-web
-packages_win64=fcl-net fcl-web
-packages_wince=fcl-net fcl-web
+[prerules]
+FPMAKE_BIN_CLEAN=$(wildcard .$(PATHSEP)fpmake$(SRCEXEEXT))
+ifdef OS_TARGET
+FPC_TARGETOPT+=--os=$(OS_TARGET)
+endif
+ifdef CPU_TARGET
+FPC_TARGETOPT+=--cpu=$(CPU_TARGET)
+endif
+LOCALFPMAKE=.$(PATHSEP)fpmake$(SRCEXEEXT)
 
 
 [rules]
 [rules]
 .NOTPARALLEL:
 .NOTPARALLEL:
-ifneq ($(DATA2INC),)
-fpmkunitsrc.inc: $(DEFAULT_FPCDIR)/packages/fpmkunit/src/fpmkunit.pp
-        $(DATA2INC) -b -s $(DEFAULT_FPCDIR)/packages/fpmkunit/src/fpmkunit.pp fpmkunitsrc.inc fpmkunitsrc
+
+fpmake: fpmake.pp
+	$(FPCFPMAKE) fpmake.pp $(FPMAKE_SKIP_CONFIG) $(addprefix -Fu,$(COMPILER_FPMAKE_UNITDIR)) $(FPCMAKEOPT)
+all:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu
+smart:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu -o -XX -o -CX
+release:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu -o -dRELEASE
+debug:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu -o -dDEBUG
+# If no fpmake exists and (dist)clean is called, do not try to build fpmake, it will
+# most often fail because the dependencies are cleared.
+# In case of a clean, simply do nothing
+ifeq ($(FPMAKE_BIN_CLEAN),)
+clean:	
+else
+clean:	
+	$(FPMAKE_BIN_CLEAN) clean --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC)
+endif
+# In case of a distclean, perform an 'old'-style distclean. This to avoid problems
+# when the package is compiled using fpcmake prior to running this clean using fpmake
+ifeq ($(FPMAKE_BIN_CLEAN),)
+distclean:	$(addsuffix _distclean,$(TARGET_DIRS)) fpc_cleanall
+else
+distclean:	
+ifdef inUnix
+        { $(FPMAKE_BIN_CLEAN) distclean --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC); if [ $$? != "0" ]; then { echo Something wrong with fpmake exectable. Remove the executable and call make recursively to recover.; $(DEL) $(FPMAKE_BIN_CLEAN); $(MAKE) fpc_cleanall; }; fi;  }
+else
+        $(FPMAKE_BIN_CLEAN) distclean --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC)
+endif
+	-$(DEL) $(LOCALFPMAKE)
+endif
+install:	fpmake
+ifdef UNIXHier
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_PREFIX) --baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSION) --unitinstalldir=$(INSTALL_UNITDIR)
+else
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_BASEDIR) --unitinstalldir=$(INSTALL_UNITDIR)
+endif
+# distinstall also installs the example-sources
+distinstall:	fpmake
+ifdef UNIXHier
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_PREFIX) --baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSION) --unitinstalldir=$(INSTALL_UNITDIR) -ie
+else
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_BASEDIR)  --unitinstalldir=$(INSTALL_UNITDIR) -ie
 endif
 endif
 
 
-# Don't include the dependency on fpmkunitsrc.inc by default so we can control
-# better when we want to update the internal fpmkunitsrc
-fppkg$(EXEEXT): $(wildcard pkg*.pp)

+ 62 - 0
packages/fppkg/Makefile.fpc.fpcmake

@@ -0,0 +1,62 @@
+#
+#   Makefile.fpc for fppkg
+#
+
+[package]
+name=fppkg
+version=2.7.1
+
+[target]
+units=fprepos fpxmlrep pkgoptions pkgglobals pkgmessages pkghandler pkgmkconv pkgdownload pkgfpmake pkgcommands pkgrepos
+units_linux=pkgwget pkgfphttp 
+units_beos=pkgwget pkgfphttp
+units_haiku=pkgwget pkgfphttp
+units_freebsd=pkgwget pkgfphttp
+units_netbsd=pkgwget pkgfphttp
+units_openbsd=pkgwget pkgfphttp
+units_darwin=pkgwget pkgfphttp
+units_iphonesim=pkgwget pkgfphttp
+units_solaris=pkgwget pkgfphttp
+units_win32=pkgwget pkgfphttp
+units_win64=pkgwget pkgfphttp
+units_wince=pkgwget pkgfphttp
+rsts=fprepos fpxmlrep pkgmessages
+
+
+[compiler]
+sourcedir=src
+includedir=src
+
+
+[install]
+fpcpackage=y
+
+[default]
+fpcdir=../..
+
+[require]
+packages=fcl-base fcl-xml fcl-process paszlib
+tools=data2inc
+packages_darwin=univint fcl-net fcl-web
+packages_iphonesim=univint fcl-net fcl-web
+packages_linux=fcl-net fcl-web
+packages_beos=fcl-net fcl-web
+packages_haiku=fcl-net fcl-web
+packages_freebsd=fcl-net fcl-web
+packages_netbsd=fcl-net fcl-web
+packages_openbsd=fcl-net fcl-web
+packages_solaris=fcl-net fcl-web
+packages_win32=fcl-net fcl-web
+packages_win64=fcl-net fcl-web
+packages_wince=fcl-net fcl-web
+
+[rules]
+.NOTPARALLEL:
+ifneq ($(DATA2INC),)
+fpmkunitsrc.inc: $(DEFAULT_FPCDIR)/packages/fpmkunit/src/fpmkunit.pp
+        $(DATA2INC) -b -s $(DEFAULT_FPCDIR)/packages/fpmkunit/src/fpmkunit.pp fpmkunitsrc.inc fpmkunitsrc
+endif
+
+# Don't include the dependency on fpmkunitsrc.inc by default so we can control
+# better when we want to update the internal fpmkunitsrc
+fppkg$(EXEEXT): $(wildcard pkg*.pp)

File diff suppressed because it is too large
+ 261 - 809
packages/ggi/Makefile


+ 58 - 12
packages/ggi/Makefile.fpc

@@ -1,17 +1,13 @@
 #
 #
-#   Makefile.fpc for GGI Bindings
+#   Makefile.fpc for running fpmake
 #
 #
 
 
 [package]
 [package]
 name=ggi
 name=ggi
 version=2.7.1
 version=2.7.1
 
 
-[target]
-units=gii ggi ggi2d
-exampledirs=examples
-
 [require]
 [require]
-libc=y
+packages=rtl fpmkunit
 
 
 [install]
 [install]
 fpcpackage=y
 fpcpackage=y
@@ -19,12 +15,62 @@ fpcpackage=y
 [default]
 [default]
 fpcdir=../..
 fpcdir=../..
 
 
-[compiler]
-includedir=src
-sourcedir=src tests examples
-
-[shared]
-build=n
+[prerules]
+FPMAKE_BIN_CLEAN=$(wildcard .$(PATHSEP)fpmake$(SRCEXEEXT))
+ifdef OS_TARGET
+FPC_TARGETOPT+=--os=$(OS_TARGET)
+endif
+ifdef CPU_TARGET
+FPC_TARGETOPT+=--cpu=$(CPU_TARGET)
+endif
+LOCALFPMAKE=.$(PATHSEP)fpmake$(SRCEXEEXT)
 
 
 [rules]
 [rules]
 .NOTPARALLEL:
 .NOTPARALLEL:
+
+fpmake: fpmake.pp
+	$(FPCFPMAKE) fpmake.pp $(FPMAKE_SKIP_CONFIG) $(addprefix -Fu,$(COMPILER_FPMAKE_UNITDIR)) $(FPCMAKEOPT)
+all:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu
+smart:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu -o -XX -o -CX
+release:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu -o -dRELEASE
+debug:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu -o -dDEBUG
+# If no fpmake exists and (dist)clean is called, do not try to build fpmake, it will
+# most often fail because the dependencies are cleared.
+# In case of a clean, simply do nothing
+ifeq ($(FPMAKE_BIN_CLEAN),)
+clean:	
+else
+clean:	
+	$(FPMAKE_BIN_CLEAN) clean --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC)
+endif
+# In case of a distclean, perform an 'old'-style distclean. This to avoid problems
+# when the package is compiled using fpcmake prior to running this clean using fpmake
+ifeq ($(FPMAKE_BIN_CLEAN),)
+distclean:	$(addsuffix _distclean,$(TARGET_DIRS)) fpc_cleanall
+else
+distclean:	
+ifdef inUnix
+        { $(FPMAKE_BIN_CLEAN) distclean --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC); if [ $$? != "0" ]; then { echo Something wrong with fpmake exectable. Remove the executable and call make recursively to recover.; $(DEL) $(FPMAKE_BIN_CLEAN); $(MAKE) fpc_cleanall; }; fi;  }
+else
+        $(FPMAKE_BIN_CLEAN) distclean --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC)
+endif
+	-$(DEL) $(LOCALFPMAKE)
+endif
+install:	fpmake
+ifdef UNIXHier
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_PREFIX) --baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSION) --unitinstalldir=$(INSTALL_UNITDIR)
+else
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_BASEDIR) --unitinstalldir=$(INSTALL_UNITDIR)
+endif
+# distinstall also installs the example-sources
+distinstall:	fpmake
+ifdef UNIXHier
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_PREFIX) --baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSION) --unitinstalldir=$(INSTALL_UNITDIR) -ie
+else
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_BASEDIR)  --unitinstalldir=$(INSTALL_UNITDIR) -ie
+endif
+

+ 30 - 0
packages/ggi/Makefile.fpc.fpcmake

@@ -0,0 +1,30 @@
+#
+#   Makefile.fpc for GGI Bindings
+#
+
+[package]
+name=ggi
+version=2.7.1
+
+[target]
+units=gii ggi ggi2d
+exampledirs=examples
+
+[require]
+libc=y
+
+[install]
+fpcpackage=y
+
+[default]
+fpcdir=../..
+
+[compiler]
+includedir=src
+sourcedir=src tests examples
+
+[shared]
+build=n
+
+[rules]
+.NOTPARALLEL:

File diff suppressed because it is too large
+ 261 - 810
packages/gmp/Makefile


+ 59 - 15
packages/gmp/Makefile.fpc

@@ -1,32 +1,76 @@
 #
 #
-#   Makefile.fpc for Free Pascal ImLib 1.x Packages
+#   Makefile.fpc for running fpmake
 #
 #
 
 
 [package]
 [package]
-name=gmp 
+name=gmp
 version=2.7.1
 version=2.7.1
 
 
-[target]
-units=gmp
-exampledirs=examples
-
 [require]
 [require]
-libc=y
-
-[compiler]
-includedir=src
-sourcedir=src 
-
+packages=rtl fpmkunit
 
 
 [install]
 [install]
 fpcpackage=y
 fpcpackage=y
-fpcsubdir=packages
 
 
 [default]
 [default]
 fpcdir=../..
 fpcdir=../..
 
 
-[shared]
-build=n
+[prerules]
+FPMAKE_BIN_CLEAN=$(wildcard .$(PATHSEP)fpmake$(SRCEXEEXT))
+ifdef OS_TARGET
+FPC_TARGETOPT+=--os=$(OS_TARGET)
+endif
+ifdef CPU_TARGET
+FPC_TARGETOPT+=--cpu=$(CPU_TARGET)
+endif
+LOCALFPMAKE=.$(PATHSEP)fpmake$(SRCEXEEXT)
 
 
 [rules]
 [rules]
 .NOTPARALLEL:
 .NOTPARALLEL:
+
+fpmake: fpmake.pp
+	$(FPCFPMAKE) fpmake.pp $(FPMAKE_SKIP_CONFIG) $(addprefix -Fu,$(COMPILER_FPMAKE_UNITDIR)) $(FPCMAKEOPT)
+all:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu
+smart:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu -o -XX -o -CX
+release:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu -o -dRELEASE
+debug:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu -o -dDEBUG
+# If no fpmake exists and (dist)clean is called, do not try to build fpmake, it will
+# most often fail because the dependencies are cleared.
+# In case of a clean, simply do nothing
+ifeq ($(FPMAKE_BIN_CLEAN),)
+clean:	
+else
+clean:	
+	$(FPMAKE_BIN_CLEAN) clean --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC)
+endif
+# In case of a distclean, perform an 'old'-style distclean. This to avoid problems
+# when the package is compiled using fpcmake prior to running this clean using fpmake
+ifeq ($(FPMAKE_BIN_CLEAN),)
+distclean:	$(addsuffix _distclean,$(TARGET_DIRS)) fpc_cleanall
+else
+distclean:	
+ifdef inUnix
+        { $(FPMAKE_BIN_CLEAN) distclean --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC); if [ $$? != "0" ]; then { echo Something wrong with fpmake exectable. Remove the executable and call make recursively to recover.; $(DEL) $(FPMAKE_BIN_CLEAN); $(MAKE) fpc_cleanall; }; fi;  }
+else
+        $(FPMAKE_BIN_CLEAN) distclean --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC)
+endif
+	-$(DEL) $(LOCALFPMAKE)
+endif
+install:	fpmake
+ifdef UNIXHier
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_PREFIX) --baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSION) --unitinstalldir=$(INSTALL_UNITDIR)
+else
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_BASEDIR) --unitinstalldir=$(INSTALL_UNITDIR)
+endif
+# distinstall also installs the example-sources
+distinstall:	fpmake
+ifdef UNIXHier
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_PREFIX) --baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSION) --unitinstalldir=$(INSTALL_UNITDIR) -ie
+else
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_BASEDIR)  --unitinstalldir=$(INSTALL_UNITDIR) -ie
+endif
+

+ 32 - 0
packages/gmp/Makefile.fpc.fpcmake

@@ -0,0 +1,32 @@
+#
+#   Makefile.fpc for Free Pascal ImLib 1.x Packages
+#
+
+[package]
+name=gmp 
+version=2.7.1
+
+[target]
+units=gmp
+exampledirs=examples
+
+[require]
+libc=y
+
+[compiler]
+includedir=src
+sourcedir=src 
+
+
+[install]
+fpcpackage=y
+fpcsubdir=packages
+
+[default]
+fpcdir=../..
+
+[shared]
+build=n
+
+[rules]
+.NOTPARALLEL:

File diff suppressed because it is too large
+ 50 - 1131
packages/winunits-base/Makefile


+ 57 - 17
packages/winunits-base/Makefile.fpc

@@ -1,5 +1,5 @@
 #
 #
-#   Makefile.fpc for WinUnits
+#   Makefile.fpc for running fpmake
 #
 #
 
 
 [package]
 [package]
@@ -7,30 +7,70 @@ name=winunits-base
 version=2.7.1
 version=2.7.1
 
 
 [require]
 [require]
-packages=fcl-registry fcl-base
-
-[target]
-units=buildwinutilsbase
-implicitunits=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver \
-	shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 \
-        win9xwsmanager stdole2 eventsink typelib 
-
-examples=examples
-
-rsts = jwawintype comconst
+packages=rtl fpmkunit
 
 
 [install]
 [install]
-buildunit=buildwinutilsbase
 fpcpackage=y
 fpcpackage=y
 
 
 [default]
 [default]
 fpcdir=../..
 fpcdir=../..
 
 
-[compiler]
-options=-Ur
-sourcedir=src
+[prerules]
+FPMAKE_BIN_CLEAN=$(wildcard .$(PATHSEP)fpmake$(SRCEXEEXT))
+ifdef OS_TARGET
+FPC_TARGETOPT+=--os=$(OS_TARGET)
+endif
+ifdef CPU_TARGET
+FPC_TARGETOPT+=--cpu=$(CPU_TARGET)
+endif
+LOCALFPMAKE=.$(PATHSEP)fpmake$(SRCEXEEXT)
 
 
 [rules]
 [rules]
 .NOTPARALLEL:
 .NOTPARALLEL:
 
 
-uxtheme$(PPUEXT) : src/uxtheme.pp src/tmschame.inc
+fpmake: fpmake.pp
+	$(FPCFPMAKE) fpmake.pp $(FPMAKE_SKIP_CONFIG) $(addprefix -Fu,$(COMPILER_FPMAKE_UNITDIR)) $(FPCMAKEOPT)
+all:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu
+smart:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu -o -XX -o -CX
+release:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu -o -dRELEASE
+debug:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu -o -dDEBUG
+# If no fpmake exists and (dist)clean is called, do not try to build fpmake, it will
+# most often fail because the dependencies are cleared.
+# In case of a clean, simply do nothing
+ifeq ($(FPMAKE_BIN_CLEAN),)
+clean:	
+else
+clean:	
+	$(FPMAKE_BIN_CLEAN) clean --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC)
+endif
+# In case of a distclean, perform an 'old'-style distclean. This to avoid problems
+# when the package is compiled using fpcmake prior to running this clean using fpmake
+ifeq ($(FPMAKE_BIN_CLEAN),)
+distclean:	$(addsuffix _distclean,$(TARGET_DIRS)) fpc_cleanall
+else
+distclean:	
+ifdef inUnix
+        { $(FPMAKE_BIN_CLEAN) distclean --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC); if [ $$? != "0" ]; then { echo Something wrong with fpmake exectable. Remove the executable and call make recursively to recover.; $(DEL) $(FPMAKE_BIN_CLEAN); $(MAKE) fpc_cleanall; }; fi;  }
+else
+        $(FPMAKE_BIN_CLEAN) distclean --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC)
+endif
+	-$(DEL) $(LOCALFPMAKE)
+endif
+install:	fpmake
+ifdef UNIXHier
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_PREFIX) --baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSION) --unitinstalldir=$(INSTALL_UNITDIR)
+else
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_BASEDIR) --unitinstalldir=$(INSTALL_UNITDIR)
+endif
+# distinstall also installs the example-sources
+distinstall:	fpmake
+ifdef UNIXHier
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_PREFIX) --baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSION) --unitinstalldir=$(INSTALL_UNITDIR) -ie
+else
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_BASEDIR)  --unitinstalldir=$(INSTALL_UNITDIR) -ie
+endif
+

+ 36 - 0
packages/winunits-base/Makefile.fpc.fpcmake

@@ -0,0 +1,36 @@
+#
+#   Makefile.fpc for WinUnits
+#
+
+[package]
+name=winunits-base
+version=2.7.1
+
+[require]
+packages=fcl-registry fcl-base
+
+[target]
+units=buildwinutilsbase
+implicitunits=flatsb winver mmsystem comobj comconst commdlg commctrl ole2 activex shellapi shlobj oleserver \
+	shfolder richedit imagehlp wininet uxtheme dwmapi multimon htmlhelp winutils comserv winspool imm imm_dyn nb30 \
+        win9xwsmanager stdole2 eventsink typelib 
+
+examples=examples
+
+rsts = jwawintype comconst
+
+[install]
+buildunit=buildwinutilsbase
+fpcpackage=y
+
+[default]
+fpcdir=../..
+
+[compiler]
+options=-Ur
+sourcedir=src
+
+[rules]
+.NOTPARALLEL:
+
+uxtheme$(PPUEXT) : src/uxtheme.pp src/tmschame.inc

File diff suppressed because it is too large
+ 1 - 191
packages/winunits-jedi/Makefile


+ 58 - 55
packages/winunits-jedi/Makefile.fpc

@@ -1,5 +1,5 @@
 #
 #
-#   Makefile.fpc for WinUnits
+#   Makefile.fpc for running fpmake
 #
 #
 
 
 [package]
 [package]
@@ -7,67 +7,70 @@ name=winunits-jedi
 version=2.7.1
 version=2.7.1
 
 
 [require]
 [require]
-packages_win32=winunits-base fcl-registry fcl-base
-packages_win64=winunits-base fcl-registry fcl-base
-
-[target]
-units=buildjwa
-implicitunits= jwawintype jwawinbase jwawinnt \
- jwalmerr jwalmmsg jwaaclui jwaadsdb jwalmerrlog jwalmjoin jwaauthz  \
- jwabits jwalmremutl jwalmrepl jwalmserver jwalmshare jwalmsname \
- jwalmstats jwaaccctrl jwaaclapi jwacderr jwacpl jwaactiveds jwadbt jwadde \
- jwaadserr jwaadshlp jwaadsnms jwaadsprop jwaadssts jwaadtgen \
- jwaaf_irda jwaatalkwsh jwaauthif jwadlgs jwadssec jwabatclass \
- jwaexcpt jwaime jwabits1_5 jwabitscfg jwabitsmsg jwablberr \
- jwabluetoothapis jwabthdef jwabthsdpdef jwabugcodes jwalmat jwalmsvc \
- jwacmnquery jwacolordlg jwalmuse jwamsi jwacplext jwacryptuiapi \
- jwanb30 jwanetsh jwapbt jwapdh jwadhcpcsdk jwadhcpsapi jwadhcpssdk \
- jwaprsht jwapsapi jwadsadmin jwadsclient jwadsgetdc jwadskquota \
- jwadsquery jwadsrole jwaqos jwaqossp jwaerrorrep jwarpc jwasddl \
- jwafaxdev jwafaxext jwafaxmmc jwafaxroute jwagpedit jwahherror \
- jwahtmlguid jwahtmlhelp jwaiaccess jwaiadmext jwaicmpapi jwaiiscnfg \
- jwaimagehlp jwalmdfs jwaimapierror jwasens jwasfc jwaioevent \
- jwaipexport jwaiphlpapi jwaipifcons jwaipinfoid jwaiprtrmib \
- jwaiptypes jwaisguids jwaissper16 jwalmaccess jwalmalert jwalmapibuf \
- jwasnmp jwasspi jwalmaudit jwalmconfig jwalmcons jwawpapi \
- jwawsipx jwawsrm jwalmuseflg jwalmwksta jwaloadperf jwalpmapi \
- jwamciavi jwamprerror jwawsvns jwaimapi jwamsidefs jwamsiquery \
- jwamstask jwamstcpip jwamswsock jwanspapi jwantddpar jwantdsapi \
- jwantdsbcli jwantdsbmsg jwantldap jwantquery jwantsecapi jwantstatus \
- jwaobjsel jwapatchapi jwapatchwiz jwapdhmsg jwapowrprof jwaprofinfo \
- jwaprotocol jwaqosname jwaqospol jwareason jwaregstr jwarpcasync \
- jwarpcdce jwarpcnsi jwarpcnterr jwarpcssl jwascesvc jwaschedule \
- jwaschemadef jwasecext jwasecurity jwasensapi jwashlguid jwasisbkup \
- jwasporder jwasrrestoreptapi jwasubauth jwasvcguid jwatlhelp32 \
- jwatmschema jwatraffic jwauserenv jwauxtheme jwawbemcli jwawinable \
- jwawinber jwawincon jwawincpl jwawincred jwawincrypt \
- jwawindns jwawinefs jwawinerror jwawinfax jwawingdi jwawinioctl \
- jwawinldap jwawinnetwk jwawinnls jwawinperf jwawinreg jwawinresrc \
- jwawinsafer jwawinsock jwawinsock2 jwawinsvc jwawinuser \
- jwawinver jwawinwlx jwawmistr jwawownt16 jwawownt32 jwawpapimsg \
- jwawpcrsmsg jwawpftpmsg jwawppstmsg jwawpspihlp jwawptypes \
- jwawpwizmsg jwaws2atm jwaws2bth jwaws2dnet jwaws2spi jwaws2tcpip \
- jwawshisotp jwawsnetbs jwawsnwlink jwawtsapi32 jwazmouse jwasensevts \
- jwaadstlb jwanative jwawindows jwacarderr jwaactivex \
- jwawindllnames jwawinternl jwawinsta jwavista
-
-
-examples=examples
-
-rsts = jwawintype 
+packages=rtl fpmkunit
 
 
 [install]
 [install]
-buildunit=buildjwa
 fpcpackage=y
 fpcpackage=y
 
 
 [default]
 [default]
 fpcdir=../..
 fpcdir=../..
 
 
-[compiler]
-options=-Ur
-sourcedir=src
-includedir=src
-unitdir=units
+[prerules]
+FPMAKE_BIN_CLEAN=$(wildcard .$(PATHSEP)fpmake$(SRCEXEEXT))
+ifdef OS_TARGET
+FPC_TARGETOPT+=--os=$(OS_TARGET)
+endif
+ifdef CPU_TARGET
+FPC_TARGETOPT+=--cpu=$(CPU_TARGET)
+endif
+LOCALFPMAKE=.$(PATHSEP)fpmake$(SRCEXEEXT)
 
 
 [rules]
 [rules]
 .NOTPARALLEL:
 .NOTPARALLEL:
+
+fpmake: fpmake.pp
+	$(FPCFPMAKE) fpmake.pp $(FPMAKE_SKIP_CONFIG) $(addprefix -Fu,$(COMPILER_FPMAKE_UNITDIR)) $(FPCMAKEOPT)
+all:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu
+smart:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu -o -XX -o -CX
+release:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu -o -dRELEASE
+debug:	fpmake
+	$(LOCALFPMAKE) compile --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) -bu -o -dDEBUG
+# If no fpmake exists and (dist)clean is called, do not try to build fpmake, it will
+# most often fail because the dependencies are cleared.
+# In case of a clean, simply do nothing
+ifeq ($(FPMAKE_BIN_CLEAN),)
+clean:	
+else
+clean:	
+	$(FPMAKE_BIN_CLEAN) clean --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC)
+endif
+# In case of a distclean, perform an 'old'-style distclean. This to avoid problems
+# when the package is compiled using fpcmake prior to running this clean using fpmake
+ifeq ($(FPMAKE_BIN_CLEAN),)
+distclean:	$(addsuffix _distclean,$(TARGET_DIRS)) fpc_cleanall
+else
+distclean:	
+ifdef inUnix
+        { $(FPMAKE_BIN_CLEAN) distclean --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC); if [ $$? != "0" ]; then { echo Something wrong with fpmake exectable. Remove the executable and call make recursively to recover.; $(DEL) $(FPMAKE_BIN_CLEAN); $(MAKE) fpc_cleanall; }; fi;  }
+else
+        $(FPMAKE_BIN_CLEAN) distclean --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC)
+endif
+	-$(DEL) $(LOCALFPMAKE)
+endif
+install:	fpmake
+ifdef UNIXHier
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_PREFIX) --baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSION) --unitinstalldir=$(INSTALL_UNITDIR)
+else
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_BASEDIR) --unitinstalldir=$(INSTALL_UNITDIR)
+endif
+# distinstall also installs the example-sources
+distinstall:	fpmake
+ifdef UNIXHier
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_PREFIX) --baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSION) --unitinstalldir=$(INSTALL_UNITDIR) -ie
+else
+	$(LOCALFPMAKE) install --localunitdir=../.. --globalunitdir=.. $(FPC_TARGETOPT) $(addprefix -o ,$(FPCOPT)) --compiler=$(FPC) --prefix=$(INSTALL_BASEDIR)  --unitinstalldir=$(INSTALL_UNITDIR) -ie
+endif
+

+ 73 - 0
packages/winunits-jedi/Makefile.fpc.fpcmake

@@ -0,0 +1,73 @@
+#
+#   Makefile.fpc for WinUnits
+#
+
+[package]
+name=winunits-jedi
+version=2.7.1
+
+[require]
+packages_win32=winunits-base fcl-registry fcl-base
+packages_win64=winunits-base fcl-registry fcl-base
+
+[target]
+units=buildjwa
+implicitunits= jwawintype jwawinbase jwawinnt \
+ jwalmerr jwalmmsg jwaaclui jwaadsdb jwalmerrlog jwalmjoin jwaauthz  \
+ jwabits jwalmremutl jwalmrepl jwalmserver jwalmshare jwalmsname \
+ jwalmstats jwaaccctrl jwaaclapi jwacderr jwacpl jwaactiveds jwadbt jwadde \
+ jwaadserr jwaadshlp jwaadsnms jwaadsprop jwaadssts jwaadtgen \
+ jwaaf_irda jwaatalkwsh jwaauthif jwadlgs jwadssec jwabatclass \
+ jwaexcpt jwaime jwabits1_5 jwabitscfg jwabitsmsg jwablberr \
+ jwabluetoothapis jwabthdef jwabthsdpdef jwabugcodes jwalmat jwalmsvc \
+ jwacmnquery jwacolordlg jwalmuse jwamsi jwacplext jwacryptuiapi \
+ jwanb30 jwanetsh jwapbt jwapdh jwadhcpcsdk jwadhcpsapi jwadhcpssdk \
+ jwaprsht jwapsapi jwadsadmin jwadsclient jwadsgetdc jwadskquota \
+ jwadsquery jwadsrole jwaqos jwaqossp jwaerrorrep jwarpc jwasddl \
+ jwafaxdev jwafaxext jwafaxmmc jwafaxroute jwagpedit jwahherror \
+ jwahtmlguid jwahtmlhelp jwaiaccess jwaiadmext jwaicmpapi jwaiiscnfg \
+ jwaimagehlp jwalmdfs jwaimapierror jwasens jwasfc jwaioevent \
+ jwaipexport jwaiphlpapi jwaipifcons jwaipinfoid jwaiprtrmib \
+ jwaiptypes jwaisguids jwaissper16 jwalmaccess jwalmalert jwalmapibuf \
+ jwasnmp jwasspi jwalmaudit jwalmconfig jwalmcons jwawpapi \
+ jwawsipx jwawsrm jwalmuseflg jwalmwksta jwaloadperf jwalpmapi \
+ jwamciavi jwamprerror jwawsvns jwaimapi jwamsidefs jwamsiquery \
+ jwamstask jwamstcpip jwamswsock jwanspapi jwantddpar jwantdsapi \
+ jwantdsbcli jwantdsbmsg jwantldap jwantquery jwantsecapi jwantstatus \
+ jwaobjsel jwapatchapi jwapatchwiz jwapdhmsg jwapowrprof jwaprofinfo \
+ jwaprotocol jwaqosname jwaqospol jwareason jwaregstr jwarpcasync \
+ jwarpcdce jwarpcnsi jwarpcnterr jwarpcssl jwascesvc jwaschedule \
+ jwaschemadef jwasecext jwasecurity jwasensapi jwashlguid jwasisbkup \
+ jwasporder jwasrrestoreptapi jwasubauth jwasvcguid jwatlhelp32 \
+ jwatmschema jwatraffic jwauserenv jwauxtheme jwawbemcli jwawinable \
+ jwawinber jwawincon jwawincpl jwawincred jwawincrypt \
+ jwawindns jwawinefs jwawinerror jwawinfax jwawingdi jwawinioctl \
+ jwawinldap jwawinnetwk jwawinnls jwawinperf jwawinreg jwawinresrc \
+ jwawinsafer jwawinsock jwawinsock2 jwawinsvc jwawinuser \
+ jwawinver jwawinwlx jwawmistr jwawownt16 jwawownt32 jwawpapimsg \
+ jwawpcrsmsg jwawpftpmsg jwawppstmsg jwawpspihlp jwawptypes \
+ jwawpwizmsg jwaws2atm jwaws2bth jwaws2dnet jwaws2spi jwaws2tcpip \
+ jwawshisotp jwawsnetbs jwawsnwlink jwawtsapi32 jwazmouse jwasensevts \
+ jwaadstlb jwanative jwawindows jwacarderr jwaactivex \
+ jwawindllnames jwawinternl jwawinsta jwavista
+
+
+examples=examples
+
+rsts = jwawintype 
+
+[install]
+buildunit=buildjwa
+fpcpackage=y
+
+[default]
+fpcdir=../..
+
+[compiler]
+options=-Ur
+sourcedir=src
+includedir=src
+unitdir=units
+
+[rules]
+.NOTPARALLEL:

Some files were not shown because too many files changed in this diff