Makefile change by moparisthebest

This commit is contained in:
Merlijn Wajer 2010-09-11 19:11:05 +02:00
parent 85bd8a6733
commit a00fbaaf2d
1 changed files with 44 additions and 14 deletions

View File

@ -9,23 +9,24 @@
# Set these
#lazaruspath := /usr/lib/lazarus/0.9.28.2
lazaruspath := ../../../lazarus
# set this correctly only if you want to apply and reverse the patch automatically
rutis_x64_patch := ../../../0-rutis-x64.patch
# uncomment this or send distrib=1 via command line to build the distributable archive as well
# if you set distrib, be sure to set the next option as well
#distrib := 1
# if you didn't set distrib, the following option isn't used
# The plugins directory needs to have the following structure (for SMART, you can add any other plugins you want):
# currently SMART doesn't compile for x64 windows, so a txt placeholder is there to tell people that
#all-in-one/libsmart64.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
#all-in-one/libsmart.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
#all-in-one/Public_SMART64.dll.txt: ASCII text
#all-in-one/Public_SMART.dll: PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit
#i386-linux/libsmart.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
#i386-win32/Public_SMART.dll: PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit
#x86_64-linux/libsmart.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
#x86_64-win64/Public_SMART.dll.txt: ASCII text
# all-in-one/libsmart64.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
# all-in-one/libsmart.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
# all-in-one/Public_SMART64.dll: PE32+ executable for MS Windows (DLL) (GUI)
# all-in-one/Public_SMART.dll: PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit
# i386-linux/libsmart.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
# i386-win32/Public_SMART.dll: PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit
# x86_64-linux/libsmart.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
# x86_64-win64/Public_SMART.dll: PE32+ executable for MS Windows (DLL) (GUI)
plugins_dir := ../../../plugins
# Shouldn't need to touch below here, unless you add a unit or something...
@ -54,6 +55,15 @@ else
our_target := unknown
endif
# now we need to see if we have the rutis_x64_patch or not
# we define 'have_rutis_x64_patch' if we have it
# we don't want to try to apply it or reverse it if it
# doesn't exist or the make will error out
ifneq ($(strip $(wildcard $(rutis_x64_patch))),)
# the patch file exists
have_rutis_x64_patch := 1
endif
CC := fpc
build := $(CC)
@ -82,7 +92,7 @@ unknown:
clean:
# clean this directory
rm -f *.a *.o *.ppu *.rst Simba.i386-* Simba.x86_64-* ../../*.7z
rm -f *.a *.o *.obj *.ppu *.rst Simba.i386-* Simba.x86_64-* ../../*.7z
# now clean all the unit directories (I love Bash...)
rm -f ../../Units/*/*.a ../../Units/*/*.o ../../Units/*/*.ppu ../../Units/*/*.rst
@ -108,20 +118,40 @@ ifdef distrib
endif
i386-linux:
# reverse it if it has been applied
ifdef have_rutis_x64_patch
-patch -R -N -r- -p1 -d../../ < $(rutis_x64_patch)
endif
$(MAKE) recursive_build platform="i386-linux" widgetset="gtk2" platform_flags="-Tlinux -Pi386 -dUseCThreads"
x86_64-linux:
patch -p1 -d ../../ < $(rutis_x64_patch)
# apply the patch
ifdef have_rutis_x64_patch
-patch -N -r- -p1 -d../../ < $(rutis_x64_patch)
endif
$(MAKE) recursive_build platform="x86_64-linux" widgetset="gtk2" platform_flags="-Tlinux -Px86_64 -dUseCThreads"
patch -R -p1 -d ../../ < $(rutis_x64_patch)
# reverse it
ifdef have_rutis_x64_patch
-patch -R -N -r- -p1 -d../../ < $(rutis_x64_patch)
endif
i386-win32:
# reverse it if it has been applied
ifdef have_rutis_x64_patch
-patch -R -N -r- -p1 -d../../ < $(rutis_x64_patch)
endif
$(MAKE) recursive_build platform="i386-win32" widgetset="win32" platform_flags="-Twin32 -Pi386"
x86_64-win64:
patch -p1 -d ../../ < $(rutis_x64_patch)
# apply the patch
ifdef have_rutis_x64_patch
-patch -N -r- -p1 -d../../ < $(rutis_x64_patch)
endif
$(MAKE) recursive_build platform="x86_64-win64" widgetset="win32" platform_flags="-Twin64 -Px86_64"
patch -R -p1 -d ../../ < $(rutis_x64_patch)
# reverse it
ifdef have_rutis_x64_patch
-patch -R -N -r- -p1 -d../../ < $(rutis_x64_patch)
endif
all: i386-linux x86_64-linux i386-win32 x86_64-win64