Buildsystem Code/file cleanup.
authorDaniel G <giri@nwrk.biz>
Sun, 27 Jan 2019 14:29:35 +0000 (15:29 +0100)
committerDaniel G <giri@nwrk.biz>
Sun, 27 Jan 2019 14:29:35 +0000 (15:29 +0100)
_template/src/Makefile
_template/src/android-src/AndroidManifest.xml
_template/src/android-src/java/MainActivity.java
_template/src/android-src/lib/armeabi-v7a/libtest.so [deleted file]
_template/src/android-src/res/layout/activity_main.xml [deleted file]
_template/src/android-src/src/build.sh [deleted file]
_template/src/android-src/src/test.c [deleted file]

index 0ec774a..55e33f1 100644 (file)
@@ -13,7 +13,7 @@ SOURCES := $(shell ls *.cxx)
 PROJNAME = _template
 LIBDIR =
 INC = -I$(WORKDIR)/../include
-LDFLAGS = -std=c++11 -static-libstdc++ -static-libgcc
+LDFLAGS = -std=c++11 -static-libstdc++ -static-libgcc -Wl,-Bstatic
 CFLAGS = -Wall -fexceptions -std=c++11 -static-libstdc++ -static-libgcc
 LIB = -lfltk_images -lfltk_png -lfltk_z -lfltk_jpeg -lfltk
 
@@ -56,7 +56,7 @@ JAVA_HOME=/usr/lib/jvm/java-1.12.0-openjdk-amd64
 ANDROID_SDK_ROOT=/usr/lib/android-sdk
 ANDROID_NDK_ROOT=/usr/lib/android-ndk
 ANDROID_BUILD_TOOLS_VERSION=25.0.0
-ANDROID_PLATORM_VERSION=15
+ANDROID_PLATORM_VERSION=23
 ANDROID_KEYSTORE_PATH=~/.android/debug.keystore
 ANDROID_KEYSTORE_NAME=androiddebugkey
 ANDROID_KEYSTORE_PW=android
@@ -74,15 +74,15 @@ ZIPALIGN=$(ANDROID_SDK_ROOT)/build-tools/$(ANDROID_BUILD_TOOLS_VERSION)/zipalign
 JAVAC=$(JAVA_HOME)/bin/javac
 JARSIGNER=$(JAVA_HOME)/bin/jarsigner
 
+# Android app src subdirectory
+ANDROID_SRC=$(WORKDIR)/android-src
+ANDROID_SOURCES=$(shell find $(ANDROID_SRC) -name *.java)
+
 # output dirs
 GENDIR_ANDROID=$(WORKDIR)/obj/Android/gen
 CLASSDIR_ANDROID=$(WORKDIR)/obj/Android/class
 OUT_ANDROID=$(WORKDIR)/bin/Android
 
-# Android app src subdirectory
-ANDROID_SRC=$(WORKDIR)/android-src
-ANDROID_SOURCES=$(shell find $(ANDROID_SRC) -name *.java)
-
 ###################################
 # ANDROID ARM | EDIT 5/11
 ###################################
@@ -94,15 +94,15 @@ AR_ANDROID = $(TOOLCHAIN_ANDROID_PATH)/$(ANDROID_COMPILER_PREFIX)-ar
 LD_ANDROID = $(TOOLCHAIN_ANDROID_PATH)/$(ANDROID_COMPILER_PREFIX)-g++
 WINDRES_ANDROID =
 
-INC_ANDROID=$(INC) -I$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++/libcxx/include/
-INC_ANDROID+=-I$(ANDROID_NDK_ROOT)/sources/android/support/include/
-INC_ANDROID+=-I$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++abi/libcxxabi/include/
+INC_ANDROID=$(INC) -I$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++/libcxx/include
+INC_ANDROID+=-I$(ANDROID_NDK_ROOT)/sources/android/support/include
+INC_ANDROID+=-I$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++abi/libcxxabi/include
 LIBDIR_ANDROID = -L$(WORKDIR)/../lib/android_$(ANDROID_ARCH)
-LIBDIR_ANDROID += -L$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++/libs/$(ANDROID_ARCH_VER)/
-CFLAGS_ANDROID  = $(CFLAGS) --sysroot=$(ANDROID_NDK_ROOT)/platforms/$(ANDROID_PLATORM)/arch-$(ANDROID_ARCH)
+LIBDIR_ANDROID += -L$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++/libs/$(ANDROID_ARCH_VER)
+CFLAGS_ANDROID  = $(CFLAGS) --sysroot=$(ANDROID_NDK_ROOT)/platforms/$(ANDROID_PLATORM)/arch-$(ANDROID_ARCH) -D_ANDROID
 RESINC_ANDROID =
-LDFLAGS_ANDROID  =  $(LDFLAGS) --sysroot=$(ANDROID_NDK_ROOT)/platforms/$(ANDROID_PLATORM)/arch-$(ANDROID_ARCH)
-LIB_ANDROID  = $(LIB) -lc++ -lc++abi -lNX11 -lnano-X -lNX11 -ldl
+LDFLAGS_ANDROID  =  $(LDFLAGS) -shared --sysroot=$(ANDROID_NDK_ROOT)/platforms/$(ANDROID_PLATORM)/arch-$(ANDROID_ARCH)
+LIB_ANDROID  = $(LIB) -lc++ -lNX11 -lnano-X -lm -Wl,-Bstatic -lallegro
 
 ###################################
 #RELEASE GCC SETTINGS | EDIT: 6/11
@@ -172,7 +172,7 @@ LIB_RELEASE_ANDROID= $(LIB_ANDROID)
 LDFLAGS_RELEASE_ANDROID = $(LDFLAGS_ANDROID) -s
 OBJDIR_RELEASE_ANDROID = $(WORKDIR)/obj/Release_Android
 DEP_RELEASE_ANDROID =
-OUT_RELEASE_ANDROID = $(WORKDIR)/bin/Release_Android
+OUT_RELEASE_ANDROID = $(ANDROID_SRC)/lib/$(ANDROID_ARCH_VER)
 
 ###################################
 #DEBUG ANDROID SETTINGS | EDIT: 11/11
@@ -186,7 +186,7 @@ LIB_DEBUG_ANDROID = $(LIB_ANDROID)
 LDFLAGS_DEBUG_ANDROID = $(LDFLAGS_ANDROID)
 OBJDIR_DEBUG_ANDROID = $(WORKDIR)/obj/Debug_Android
 DEP_DEBUG_ANDROID =
-OUT_DEBUG_ANDROID = $(WORKDIR)/bin/Debug_Android
+OUT_DEBUG_ANDROID = $(ANDROID_SRC)/lib/$(ANDROID_ARCH_VER)
 
 ############################
 #OBJECT LISTS | DO NOT EDIT!
@@ -305,7 +305,7 @@ after_debug_android:
 debug_android: before_debug_android out_debug_android after_debug_android
 
 out_debug_android: before_debug_android $(OBJ_DEBUG_ANDROID) $(DEP_DEBUG_ANDROID)
-       $(LD_ANDROID) $(LDFLAGS_DEBUG_ANDROID) $(LIBDIR_ANDROID) $(LIBDIR_DEBUG_ANDROID) $(OBJ_DEBUG_ANDROID) $(LIB_DEBUG_ANDROID)  -o $(OUT_DEBUG_ANDROID)/$(PROJNAME).so
+       $(LD_ANDROID) $(LDFLAGS_DEBUG_ANDROID) $(LIBDIR_ANDROID) $(LIBDIR_DEBUG_ANDROID) $(OBJ_DEBUG_ANDROID) $(LIB_DEBUG_ANDROID)  -o $(OUT_DEBUG_ANDROID)/lib$(PROJNAME).so
 
 $(OBJDIR_DEBUG_ANDROID)/%.o: %.cxx
        $(CXX_ANDROID) $(CFLAGS_DEBUG_ANDROID) $(INC_DEBUG_ANDROID) -c $< -D_DEBUG -o $@
@@ -322,10 +322,10 @@ before_release_android:
 
 after_release_android:
 
-release_android: before_release_android out_release_android after_release_android
+release_android: before_release_android out_release_android after_release_android android_apk
 
 out_release_android: before_release_android $(OBJ_RELEASE_ANDROID) $(DEP_RELEASE_ANDROID)
-       $(LD_ANDROID) $(LDFLAGS_RELEASE_ANDROID) $(LIBDIR_ANDROID) $(LIBDIR_RELEASE_ANDROID) $(OBJ_RELEASE_ANDROID) $(LIB_RELEASE_ANDROID)  -o $(OUT_RELEASE_ANDROID)/$(PROJNAME).so
+       $(LD_ANDROID) $(LDFLAGS_RELEASE_ANDROID) $(LIBDIR_ANDROID) $(LIBDIR_RELEASE_ANDROID) $(OBJ_RELEASE_ANDROID) $(LIB_RELEASE_ANDROID)  -o $(OUT_RELEASE_ANDROID)/lib$(PROJNAME).so
 
 $(OBJDIR_RELEASE_ANDROID)/%.o: %.cxx
        $(CXX_ANDROID) $(CFLAGS_RELEASE_ANDROID) $(INC_RELEASE_ANDROID) -c $< -D_RELEASE -o $@
@@ -340,6 +340,11 @@ before_android_apk:
        test -d $(OUT_ANDROID) || mkdir -p $(OUT_ANDROID)
        test -d $(GENDIR_ANDROID) || mkdir -p $(GENDIR_ANDROID)
        test -d $(CLASSDIR_ANDROID) || mkdir -p $(CLASSDIR_ANDROID)
+       test -d $(ANDROID_SRC)/res/mipmap-hdpi || mkdir -p $(ANDROID_SRC)/res/mipmap-hdpi
+       test -d $(ANDROID_SRC)/java/liballeg || mkdir -p $(ANDROID_SRC)/java/liballeg
+       cp $(WORKDIR)/../lib/android_arm/liballeg/* $(ANDROID_SRC)/java/liballeg
+       cp $(WORKDIR)/../lib/android_arm/liballegro.so $(ANDROID_SRC)/lib/$(ANDROID_ARCH_VER)/
+       cp $(WORKDIR)/Icon.png $(ANDROID_SRC)/res/mipmap-hdpi/ic_launcher.png
        $(AAPT) package -f -m -J $(GENDIR_ANDROID) -M $(ANDROID_SRC)/AndroidManifest.xml -S $(ANDROID_SRC)/res -I $(ANDROID_CP)
 
 after_android_apk:
@@ -353,14 +358,15 @@ out_apk:
        $(DX) --dex --output=$(GENDIR_ANDROID)/classes.dex $(CLASSDIR_ANDROID)
        $(AAPT) package -f -M $(ANDROID_SRC)/AndroidManifest.xml -S $(ANDROID_SRC)/res -I $(ANDROID_CP) -F $(GENDIR_ANDROID)/$(PROJNAME).apk.unaligned
        cd $(GENDIR_ANDROID) && $(AAPT) add $(GENDIR_ANDROID)/$(PROJNAME).apk.unaligned classes.dex
-       #cd $(ANDROID_SRC) && $(AAPT) add $(GENDIR_ANDROID)/$(PROJNAME).apk.unaligned lib/arm64-v8a/libtest.so
-       #cd $(ANDROID_SRC) && $(AAPT) add $(GENDIR_ANDROID)/$(PROJNAME).apk.unaligned lib/armeabi/libtest.so
-       cd $(ANDROID_SRC) && $(AAPT) add $(GENDIR_ANDROID)/$(PROJNAME).apk.unaligned lib/armeabi-v7a/libtest.so
+       cd $(ANDROID_SRC) && $(AAPT) add -v $(GENDIR_ANDROID)/$(PROJNAME).apk.unaligned lib/$(ANDROID_ARCH_VER)/lib$(PROJNAME).so
+       cd $(ANDROID_SRC) && $(AAPT) add -v $(GENDIR_ANDROID)/$(PROJNAME).apk.unaligned lib/$(ANDROID_ARCH_VER)/liballegro.so
 
 clean_android_apk:
        rm -rf $(OUT_ANDROID)
        rm -rf $(GENDIR_ANDROID)
        rm -rf $(CLASSDIR_ANDROID)
+       rm -rf $(ANDROID_SRC)/java/liballeg
+       rm -rf $(ANDROID_SRC)/res/mipmap-hdpi
 
 apk_install_adb:
        $(ADB) get-state 1>/dev/null 2>&1 && $(ADB) install -r $(OUT_ANDROID)/$(PROJNAME).apk
index 4f011e7..ff5a014 100644 (file)
@@ -1,11 +1,16 @@
 <manifest
     xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.giri._template">
+    package="com.giri.template">
   <application
       android:label="@string/app_name">
     <activity
         android:name=".MainActivity"
+        android:icon="@mipmap/ic_launcher"
         android:label="@string/app_name">
+        android:launchMode="singleTask"
+        android:screenOrientation="unspecified"
+       android:windowSoftInputMode="stateVisible"
+       android:configChanges="screenLayout|uiMode|orientation">
       <intent-filter>
         <action android:name="android.intent.action.MAIN"/>
         <category android:name="android.intent.category.LAUNCHER"/>
index 3ff2943..cb5e44b 100644 (file)
@@ -1,16 +1,12 @@
-package com.giri._template;
+package com.giri.template;
+import org.liballeg.android.AllegroActivity;
+public class MainActivity extends AllegroActivity {
 
-import android.app.Activity;
-import android.os.Bundle;
-
-public class MainActivity extends Activity {
-  @Override
-    protected void onCreate(Bundle savedInstanceState) {
-       super.onCreate(savedInstanceState);
-       main();
-    }
-    public native int  main();
     static {
-       System.loadLibrary("_template");
+       System.loadLibrary("allegro");
     }
-}
\ No newline at end of file
+
+   public MainActivity() {
+      super("lib_template.so");
+   }
+}
diff --git a/_template/src/android-src/lib/armeabi-v7a/libtest.so b/_template/src/android-src/lib/armeabi-v7a/libtest.so
deleted file mode 100755 (executable)
index d9401d1..0000000
Binary files a/_template/src/android-src/lib/armeabi-v7a/libtest.so and /dev/null differ
diff --git a/_template/src/android-src/res/layout/activity_main.xml b/_template/src/android-src/res/layout/activity_main.xml
deleted file mode 100644 (file)
index c1760db..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<TextView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:id="@+id/hello_textview"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:text="@string/hello_world"
-    tools:context=".MainActivity"/>
\ No newline at end of file
diff --git a/_template/src/android-src/src/build.sh b/_template/src/android-src/src/build.sh
deleted file mode 100755 (executable)
index a07c7e3..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/lib/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc --sysroot=/usr/lib/android-ndk/platforms/android-24/arch-arm -o test.o -c -fPIC ./test.c
-/usr/lib/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc --sysroot=/usr/lib/android-ndk/platforms/android-24/arch-arm -shared ./test.o -o libtest.so
diff --git a/_template/src/android-src/src/test.c b/_template/src/android-src/src/test.c
deleted file mode 100644 (file)
index cbc4a89..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-#include <string.h>
-#include <jni.h>
-
-/* This is a trivial JNI example where we use a native method
- * to return a new VM String. See the corresponding Java source
- * file located at:
- *
- *   hello-jni/app/src/main/java/com/example/hellojni/HelloJni.java
- */
-JNIEXPORT jstring JNICALL
-Java_com_giri_template_MainActivity_stringFromJNI( JNIEnv* env,
-                                                  jobject thiz )
-{
-#if defined(__arm__)
-    #if defined(__ARM_ARCH_7A__)
-    #if defined(__ARM_NEON__)
-      #if defined(__ARM_PCS_VFP)
-        #define ABI "armeabi-v7a/NEON (hard-float)"
-      #else
-        #define ABI "armeabi-v7a/NEON"
-      #endif
-    #else
-      #if defined(__ARM_PCS_VFP)
-        #define ABI "armeabi-v7a (hard-float)"
-      #else
-        #define ABI "armeabi-v7a"
-      #endif
-    #endif
-  #else
-   #define ABI "armeabi"
-  #endif
-#elif defined(__i386__)
-#define ABI "x86"
-#elif defined(__x86_64__)
-#define ABI "x86_64"
-#elif defined(__mips64)  /* mips64el-* toolchain defines __mips__ too */
-#define ABI "mips64"
-#elif defined(__mips__)
-#define ABI "mips"
-#elif defined(__aarch64__)
-#define ABI "arm64-v8a"
-#else
-#define ABI "unknown"
-#endif
-
-    return (*env)->NewStringUTF(env, "Hello from JNI !  Compiled with ABI " ABI ".");
-}