1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- # Get current platform
- ifeq ($(shell uname -m), x86_64)
- ARCH = x86_64
- else
- ARCH = i386
- endif
- # Get current OS
- ifeq ($(shell uname), Linux)
- OS = linux
- else ifeq ($(shell uname), Darwin)
- OS = darwin
- ARCH = i386
- endif
- # Variables
- FPC = fpc
- FLAGS = -O3 -XsX -CX -Sd
- INCLUDE = -Fu../../../headers -Fi../../../headers -Fu../../../extra -Fu../../../src
- LIBS = -Fu../../../lib/jpeg/$(ARCH)-$(OS) -Fu../../../lib/ogg/$(ARCH)-$(OS) -Fu../../../lib/theora/$(ARCH)-$(OS) -Fu../../../lib/zlib/$(ARCH)-$(OS) -Fu../../../lib/zip/$(ARCH)-$(OS)
- LIBSPPC = -Fu../../../lib/jpeg/powerpc-$(OS) -Fu../../../lib/ogg/powerpc-$(OS) -Fu../../../lib/theora/powerpc-$(OS) -Fu../../../lib/zlib/powerpc-$(OS) -Fu../../../lib/zip/powerpc-$(OS)
- OUTPUT = ../../../bin/
- TMP = ../tmp/
- UNIT = demo09.pas
- TARGET = demo09
- TARGETW = demo09.exe
- TARGETM = demo09
- BUNDLE = $(OUTPUT)$(TARGETM).app
- # Targets
- all: clean
- $(FPC) $(UNIT) $(INCLUDE) $(LIBS) -FE$(OUTPUT)$(ARCH)-$(OS)/ -FU$(TMP) $(FLAGS) -o$(TARGET) -TLINUX
- strip $(OUTPUT)$(ARCH)-$(OS)/$(TARGET) --strip-unneeded -R .comment -R .note
- linux32: clean
- $(FPC) $(UNIT) $(INCLUDE) \
- -Fu../../../lib/jpeg/i386-linux \
- -Fu../../../lib/ogg/i386-linux \
- -Fu../../../lib/theora/i386-linux \
- -Fu../../../lib/zlib/i386-linux \
- -Fu../../../lib/zip/i386-linux \
- -FE$(OUTPUT)i386-linux/ -FU$(TMP) $(FLAGS) -o$(TARGET) -TLINUX -Pi386 -Xd
- strip $(OUTPUT)i386-linux/$(TARGET) --strip-unneeded -R .comment -R .note
- win32: clean
- $(FPC) $(UNIT) $(INCLUDE) \
- -Fu../../../lib/jpeg/i386-win32 \
- -Fu../../../lib/msvcrt/i386 \
- -Fu../../../lib/ogg/i386-win32 \
- -Fu../../../lib/theora/i386-win32 \
- -Fu../../../lib/zlib/i386-win32 \
- -Fu../../../lib/zip/i386-win32 \
- -FE$(OUTPUT)i386-win32/ -FU$(TMP) $(FLAGS) -o$(TARGETW) -TWIN32 -Pi386 -WG
- win64: clean
- $(FPC) $(UNIT) $(INCLUDE) \
- -Fu../../../lib/jpeg/x86_64-win64 \
- -Fu../../../lib/msvcrt/x86_64 \
- -Fu../../../lib/ogg/x86_64-win64 \
- -Fu../../../lib/theora/x86_64-win64 \
- -Fu../../../lib/zlib/x86_64-win64 \
- -Fu../../../lib/zip/x86_64-win64 \
- -FE$(OUTPUT)x86_64-win64/ -FU$(TMP) $(FLAGS) -o$(TARGETW) -TWIN64 -Px86_64 -WG
- macosx: clean
- rm -Rf $(BUNDLE)
- mkdir {$(BUNDLE),$(BUNDLE)/{Contents,Contents/{MacOS,Resources,Frameworks}}}
- $(FPC) $(UNIT) $(INCLUDE) $(LIBS) -FE$(OUTPUT) -FU$(TMP) $(FLAGS) -o$(TARGETM) -TDARWIN -Pi386 -k"-macosx_version_min" -k"10.4"
- mv $(OUTPUT)$(TARGETM) $(BUNDLE)/Contents/MacOS/
- sh macosx_postbuild.sh
- macosx_uni: clean
- rm -Rf $(BUNDLE)
- mkdir {$(BUNDLE),$(BUNDLE)/{Contents,Contents/{MacOS,Resources,Frameworks}}}
- $(FPC) $(UNIT) $(INCLUDE) $(LIBS) -FE$(OUTPUT) -FU$(TMP) $(FLAGS) -o$(TARGETM)-386 -TDARWIN -Pi386 -k"-macosx_version_min" -k"10.4"
- $(FPC) $(UNIT) $(INCLUDE) $(LIBSPPC) -FE$(OUTPUT) -FU$(TMP) $(FLAGS) -o$(TARGETM)-ppc -TDARWIN -Ppowerpc -k"-macosx_version_min" -k"10.4"
- lipo -create $(OUTPUT)$(TARGETM)-ppc $(OUTPUT)$(TARGETM)-386 -output $(BUNDLE)/Contents/MacOS/$(TARGETM)
- rm $(OUTPUT)$(TARGETM)-386 $(OUTPUT)$(TARGETM)-ppc
- sh macosx_postbuild.sh
- clean:
- rm -f *.*~
- rm -f $(TMP)*.*
|