Browse Source

* When performing a distclean while there is no fpmake-executable available,
also recurse into all sub-directories with a Makefile-file present. Based
on patch from Pierre.

git-svn-id: trunk@22632 -

joost 13 years ago
parent
commit
e98213814b
2 changed files with 19 additions and 4 deletions
  1. 13 2
      packages/Makefile
  2. 6 2
      packages/Makefile.fpc

+ 13 - 2
packages/Makefile

@@ -1,5 +1,5 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2012/08/17]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2012/10/12]
 #
 #
 default: all
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux jvm-java jvm-android
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux jvm-java jvm-android
@@ -209,6 +209,14 @@ endif
 ifeq ($(OS_TARGET),linux)
 ifeq ($(OS_TARGET),linux)
 linuxHier=1
 linuxHier=1
 endif
 endif
+ifndef CROSSCOMPILE
+BUILDFULLNATIVE=1
+export BUILDFULLNATIVE
+endif
+ifdef BUILDFULLNATIVE
+BUILDNATIVE=1
+export BUILDNATIVE
+endif
 export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
 export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
 ifdef FPCDIR
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
 override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -1658,8 +1666,11 @@ else
 clean:	
 clean:	
 	$(FPMAKE_BIN_CLEAN) clean $(FPMAKE_OPT)
 	$(FPMAKE_BIN_CLEAN) clean $(FPMAKE_OPT)
 endif
 endif
+CLEAN_TARGET_DIRS=$(subst /Makefile, ,$(wildcard */Makefile))
+%_distclean:
+	$(MAKE) -C $* distclean
 ifeq ($(FPMAKE_BIN_CLEAN),)
 ifeq ($(FPMAKE_BIN_CLEAN),)
-distclean:	$(addsuffix _distclean,$(TARGET_DIRS)) fpc_cleanall
+distclean:	fpc_cleanall $(addsuffix _distclean,$(CLEAN_TARGET_DIRS))
 else
 else
 distclean:	
 distclean:	
 ifdef inUnix
 ifdef inUnix

+ 6 - 2
packages/Makefile.fpc

@@ -79,11 +79,15 @@ else
 clean:	
 clean:	
 	$(FPMAKE_BIN_CLEAN) clean $(FPMAKE_OPT)
 	$(FPMAKE_BIN_CLEAN) clean $(FPMAKE_OPT)
 endif
 endif
+
+CLEAN_TARGET_DIRS=$(subst /Makefile, ,$(wildcard */Makefile))
+%_distclean:
+	$(MAKE) -C $* distclean
+
 # In case of a distclean, perform an 'old'-style distclean. This to avoid problems
 # 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
 # when the package is compiled using fpcmake prior to running this clean using fpmake
-# It does not work well, though, since the sub-directories are not cleaned at all.
 ifeq ($(FPMAKE_BIN_CLEAN),)
 ifeq ($(FPMAKE_BIN_CLEAN),)
-distclean:	$(addsuffix _distclean,$(TARGET_DIRS)) fpc_cleanall
+distclean:	fpc_cleanall $(addsuffix _distclean,$(CLEAN_TARGET_DIRS))
 else
 else
 distclean:	
 distclean:	
 ifdef inUnix
 ifdef inUnix