Files
umbrix/Makefile
2023-07-19 13:12:18 +02:00

87 lines
2.6 KiB
Makefile

ANDROID_OUT=../android/app/src/main/jniLibs
NDK_BIN=$(ANDROID_HOME)/ndk/25.2.9519653/toolchains/llvm/prebuilt/linux-x86_64/bin
GOBUILD=CGO_ENABLED=1 go build -trimpath -tags with_gvisor,with_lwip -ldflags="-w -s" -buildmode=c-shared
get:
flutter pub get
gen:
dart run build_runner build --delete-conflicting-outputs
translate:
dart run slang
android-release:
flutter build apk --target-platform android-arm,android-arm64,android-x64 --split-per-abi
windows-release:
dart pub global activate flutter_distributor
flutter_distributor package --platform windows --targets exe
linux-release:
dart pub global activate flutter_distributor
which locate
if [ $? =! 0 ];then
sudo apt install locate
fi
which appimagetool
if [ $? =! 0 ];then
wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
chmod +x appimagetool
mv appimagetool /usr/local/bin/
fi
flutter_distributor package --platform linux --targets appimage
macos-release:
cp -f ./core/dist/*.dylib ./macos/Frameworks/
dart pub global activate flutter_distributor
npm install -g appdmg
flutter_distributor package --platform macos --targets dmg
ios-release:
flutter_distributor package --platform ios --targets ipa --build-export-options-plist ios/exportOptions.plist
android-libs: android-x64 android-arm android-arm64
android-x64:
cd core
env GOOS=android GOARCH=amd64 CC=$(NDK_BIN)/x86_64-linux-android21-clang $(GOBUILD) -o $(ANDROID_OUT)/x86_64/libclash.so # building android x64 clash libs
android-arm:
cd core
env GOOS=android GOARCH=arm GOARM=7 CC=$(NDK_BIN)/armv7a-linux-androideabi21-clang $(GOBUILD) -o $(ANDROID_OUT)/armeabi-v7a/libclash.so # building android arm clash libs
android-arm64:
cd core
env GOOS=android GOARCH=arm64 CC=$(NDK_BIN)/aarch64-linux-android21-clang $(GOBUILD) -o $(ANDROID_OUT)/arm64-v8a/libclash.so # building android arm64 clash libs
windows-libs:
cd core
env GOOS=windows GOARCH=amd64 CC=x86_64-w64-mingw32-gcc $(GOBUILD) -o dist/libclash.dll # building windows clash libs
env GOOS=windows GOARCH=386 $(GOBUILD) -o dist/libclash_x86.dll # building windows clash libs
linux-libs:
cd core
env GOOS=linux GOARCH=amd64 $(GOBUILD) build -ldflags="-w -s" -buildmode=c-shared -o ./dist/libclash.so
env GOOS=linux GOARCH=386 $(GOBUILD) build -ldflags="-w -s" -buildmode=c-shared -o ./dist/libclash_x86.so
macos-libs:
cd core
env GOOS=darwin GOARCH=arm64 $(GOBUILD) build -ldflags="-w -s" -buildmode=c-shared -o ./dist/libclash_arm64.dylib
env GOOS=darwin GOARCH=amd64 $(GOBUILD) build -ldflags="-w -s" -buildmode=c-shared -o ./dist/libclash.dylib