Refactor targets to build crosscompiled zipfiles

Move common things into new target
Add 32/64 bit windows version with MinGW-w64
Serve textfiles with CRLF and .txt suffix
Strip windows binaries
This commit is contained in:
Erik Ekman 2014-05-31 12:03:33 +02:00
parent 00268bc160
commit c52ba7f606
1 changed files with 39 additions and 15 deletions

View File

@ -19,37 +19,61 @@ TARGETOS = `uname`
all: all:
@(cd src; $(MAKE) TARGETOS=$(TARGETOS) all) @(cd src; $(MAKE) TARGETOS=$(TARGETOS) all)
#Helper target for windows/android zipfiles
iodine-latest:
@rm -rf iodine-latest*
@mkdir -p iodine-latest
@echo "Create date: " > iodine-latest/VERSION.txt
@date >> iodine-latest/VERSION.txt
@echo "Git version: " >> iodine-latest/VERSION.txt
@git rev-parse HEAD >> iodine-latest/VERSION.txt
@for i in README CHANGELOG TODO; do cp $$i iodine-latest/$$i.txt; done
@unix2dos iodine-latest/*
cross-android: cross-android:
@(cd src; $(MAKE) base64u.c base64u.h) @(cd src; $(MAKE) base64u.c base64u.h)
@(cd src; ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=Android.mk) @(cd src; ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=Android.mk)
cross-android-dist: iodine-latest-android.zip: iodine-latest
@rm -rf iodine-latest-android* @mv iodine-latest iodine-latest-android
@mkdir -p iodine-latest-android/armeabi iodine-latest-android/x86 @mkdir -p iodine-latest-android/armeabi iodine-latest-android/x86
@$(MAKE) cross-android TARGET_ARCH_ABI=armeabi @$(MAKE) cross-android TARGET_ARCH_ABI=armeabi
@cp src/libs/armeabi/* iodine-latest-android/armeabi @cp src/libs/armeabi/* iodine-latest-android/armeabi
@$(MAKE) cross-android TARGET_ARCH_ABI=x86 @$(MAKE) cross-android TARGET_ARCH_ABI=x86
@cp src/libs/x86/* iodine-latest-android/x86 @cp src/libs/x86/* iodine-latest-android/x86
@cp README README-android.txt CH* TO* iodine-latest-android @cp README-android.txt iodine-latest-android
@echo "Create date: " > iodine-latest-android/VERSION
@date >> iodine-latest-android/VERSION
@echo "Git version: " >> iodine-latest-android/VERSION
@git rev-parse HEAD >> iodine-latest-android/VERSION
@zip -r iodine-latest-android.zip iodine-latest-android @zip -r iodine-latest-android.zip iodine-latest-android
cross-mingw32:
@(cd src; $(MAKE) TARGETOS=windows32 CC=i686-w64-mingw32-gcc all)
cross-mingw64:
@(cd src; $(MAKE) TARGETOS=windows32 CC=x86_64-w64-mingw32-gcc all)
iodine-latest-windows.zip: iodine-latest
@mv iodine-latest iodine-latest-windows
@mkdir -p iodine-latest-windows/64bit iodine-latest-windows/32bit
@(cd src; $(MAKE) TARGETOS=windows32 CC=i686-w64-mingw32-gcc clean all)
@i686-w64-mingw32-strip bin/iodine*
@for i in `ls bin`; do cp bin/$$i iodine-latest-windows/32bit/$$i.exe; done
@cp /usr/i686-w64-mingw32/bin/zlib1.dll iodine-latest-windows/32bit
@(cd src; $(MAKE) TARGETOS=windows32 CC=x86_64-w64-mingw32-gcc clean all)
@x86_64-w64-mingw32-strip bin/iodine*
@for i in `ls bin`; do cp bin/$$i iodine-latest-windows/64bit/$$i.exe; done
@cp /usr/x86_64-w64-mingw32/bin/zlib1.dll iodine-latest-windows/64bit
@cp README-win32.txt iodine-latest-windows
@zip -r iodine-latest-windows.zip iodine-latest-windows
cross-mingw: cross-mingw:
@(cd src; $(MAKE) TARGETOS=windows32 CC=i686-mingw32-gcc all) @(cd src; $(MAKE) TARGETOS=windows32 CC=i686-mingw32-gcc all)
cross-mingw-dist: cross-mingw iodine-latest-win32.zip: cross-mingw iodine-latest
@rm -rf iodine-latest-win32* @mv iodine-latest iodine-latest-win32
@mkdir -p iodine-latest-win32/bin @mkdir -p iodine-latest-win32/bin
@i686-mingw32-strip bin/iodine*
@for i in `ls bin`; do cp bin/$$i iodine-latest-win32/bin/$$i.exe; done @for i in `ls bin`; do cp bin/$$i iodine-latest-win32/bin/$$i.exe; done
@cp /usr/i686-mingw32/usr/bin/zlib1.dll iodine-latest-win32/bin @cp /usr/i686-mingw32/usr/bin/zlib1.dll iodine-latest-win32/bin
@cp README README-win32.txt CH* TO* iodine-latest-win32 @cp README-win32.txt iodine-latest-win32
@echo "Create date: " > iodine-latest-win32/VERSION
@date >> iodine-latest-win32/VERSION
@echo "Git version: " >> iodine-latest-win32/VERSION
@git rev-parse HEAD >> iodine-latest-win32/VERSION
@zip -r iodine-latest-win32.zip iodine-latest-win32 @zip -r iodine-latest-win32.zip iodine-latest-win32
install: all install: all
@ -76,5 +100,5 @@ clean:
@echo "Cleaning..." @echo "Cleaning..."
@(cd src; $(MAKE) clean) @(cd src; $(MAKE) clean)
@(cd tests; $(MAKE) clean) @(cd tests; $(MAKE) clean)
@rm -rf bin iodine-latest-win32* iodine-latest-android* @rm -rf bin iodine-latest*