aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi.dcr@tutanota.com>2024-01-07 23:49:03 +0100
committerXavier Del Campo Romero <xavi.dcr@tutanota.com>2024-05-17 23:28:51 +0200
commit40f6d425a4429b16936cc8bb4900a23c3362a123 (patch)
treecc60a4a6995604f095952d7c3cda83913c92b61a /Makefile
parenta3bfeb15064ab85900e28f0f3f84b88e99c9a466 (diff)
downloadslcl-android-40f6d425a4429b16936cc8bb4900a23c3362a123.tar.gz
WIP
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile48
1 files changed, 30 insertions, 18 deletions
diff --git a/Makefile b/Makefile
index 76f8162..471ca21 100644
--- a/Makefile
+++ b/Makefile
@@ -1,20 +1,28 @@
.POSIX:
.SUFFIXES: .apk .unsigned .aligned
-PROJECT = helloworld
+PROJECT = org.slcl
ANDROIDSDK = /usr/lib/android-sdk
DX = $(ANDROIDSDK)/build-tools/debian/dx
MANIFEST = AndroidManifest.xml
PLATFORM = $(ANDROIDSDK)/platforms/android-23/android.jar
OBJECTS = \
- HelloWorld.class \
- Test.class
+ src/org/slcl/core/Cookie.class \
+ src/org/slcl/core/Login.class \
+ src/org/slcl/Directory.class \
+ src/org/slcl/InternalFile.class \
+ src/org/slcl/Main.class
RESOURCES = \
+ res/layout/activity_directory.xml \
res/layout/activity_main.xml
-R = helloworld/R.java
+R = src/org/slcl/R.java
+PASS = password.secret
+DNAME = "cn=slcl, ou=slcl, o=slcl, c=ES"
# Resources:
# https://www.hanshq.net/command-line-android.html
+# https://unix.stackexchange.com/questions/230673/how-to-generate-a-random-string
+# https://stuff.mit.edu/afs/sipb/project/android/docs/guide/topics/resources/layout-resource.html#layoutvalues
all: $(PROJECT).apk
@@ -24,20 +32,23 @@ $(PROJECT).apk: keystore.jks
apksigner sign \
--ks keystore.jks \
--ks-key-alias androidkey \
- --ks-pass pass:android \
- --key-pass pass:android \
+ --ks-pass file:$(PASS) \
--out $@ $<
-keystore.jks:
- keytool \
+keystore.jks: $(PASS)
+ (for i in 1 2; do cat $(PASS); done; echo) \
+ | keytool \
-genkeypair \
+ -dname $(DNAME) \
-keystore $@ \
-alias androidkey \
- -validity 10000 \
-keyalg RSA \
- -keysize 4096 \
- -storepass android \
- -keypass android
+ -keysize 4096
+
+$(PASS):
+ (LC_ALL=C \
+ tr -dc 'A-Za-z0-9!"#$$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' \
+ < /dev/urandom | head -c 100; echo) > $(PASS)
.unsigned.aligned:
zipalign -f -p 4 $< $@
@@ -45,19 +56,20 @@ keystore.jks:
$(PROJECT).unsigned: dex/classes.dex $(MANIFEST)
aapt package -f -F $@ -I $(PLATFORM) -M $(MANIFEST) -S res dex
-dex/classes.dex: $(OBJECTS) $(MANIFEST)
+dex/classes.dex: .build $(MANIFEST)
mkdir -p dex
- $(DX) --dex --output=$@ $(OBJECTS)
+ $(DX) --dex --min-sdk-version=9 --output=$@ src
-$(OBJECTS): $(OBJECTS:.class=.java) $(R)
- javac -bootclasspath $(PLATFORM) -source 1.7 $(OBJECTS:.class=.java)
+.build: $(OBJECTS:.class=.java) $(R)
+ javac -bootclasspath $(PLATFORM) -source 1.7 -sourcepath src $(OBJECTS:.class=.java)
+ touch $@
$(R): $(MANIFEST) $(RESOURCES)
- aapt package -f -m -S res -M $(MANIFEST) -I $(PLATFORM) -J .
+ aapt package -f -m -S res -M $(MANIFEST) -I $(PLATFORM) -J src
clean:
rm -f $(R) $(OBJECTS) $(PROJECT).unsigned \
$(PROJECT).aligned $(PROJECT).apk.idsig dex/classes.dex
distclean: clean
- rm -rf dex/ *.apk keystore.jks
+ rm -rf dex/ *.apk keystore.jks $(PASS)