-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
97 lines (79 loc) · 2.74 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
TMP=tmp
MANIFEST=${TMP}/META-INF/MANIFEST.MF
INSTALL=${HOME}/src/StudioProjects/Enguage/app
SHAR=enguage.shar
ANDLIBS=lib
default:
@echo "Usage: make [ snap | jar | shar | swing | android | flatpak | clean ]" >&2
install: android
cp -a etc ${INSTALL}/src/main/assets
cp -a lib/anduage.jar ${INSTALL}/libs
flatpak: jar
(cd opt/flatpak; make install)
android: ${ANDLIBS}/anduage.jar
shar: ${SHAR}
swing: jar
@javac opt/swing/EnguagePanel.java
@echo "#!/bin/sh" > bin/swing
@echo "java -cp .:lib/enguage.jar opt.swing.EnguagePanel" >> bin/swing
@chmod +x bin/swing
@echo "Now run: bin/swing"
ajar: android
mv ${ANDLIBS}/anduage.jar ${INSTALL}/libs/
jar: lib/enguage.jar
${TMP}:
mkdir -p ${TMP}
#${INSTALL}/etc:
# mkdir ${INSTALL}/etc
lib:
mkdir lib
${SHAR}: lib/enguage.jar
echo "#!/bin/sh" > ${SHAR}
echo "SHAR=\`/bin/pwd\`/$$"0 >> ${SHAR}
echo "cd $$"HOME >> ${SHAR}
echo "awk '(y==1){print $$"0"}($$"1"==\"exit\"){y=1}' $$"SHAR \\ >> ${SHAR}
echo " | base64 -d | tar -xz" >> ${SHAR}
echo "exit" >> ${SHAR}
tar -cz lib/enguage.jar etc bin/eng | base64 >> ${SHAR}
chmod +x ${SHAR}
snap: jar
tar -czf opt/snapcraft/enguage.tgz lib/enguage.jar etc bin/eng
(cd opt/snapcraft; snapcraft)
#uninstall:
# rm -rf ~/bin/eng ~/etc/config.xml ~/etc/rpt ~/lib/enguage.jar
${MANIFEST}:
mkdir -p `dirname ${MANIFEST}`
echo "Manifest-Version: 1.0" > ${MANIFEST}
echo "Class-Path: ." >> ${MANIFEST}
echo "Main-Class: opt.test.Example" >> ${MANIFEST}
lib/enguage.jar: ${TMP} ${MANIFEST} lib
cp -a org ${TMP}
mkdir ${TMP}/opt
cp -a opt/test ${TMP}/opt
( cd ${TMP} ;\
find org -name \*.class -exec rm -f {} \; ;\
find org -name .gitignore -exec rm -f {} \; ;\
javac opt/test/Example.java ;\
jar -cmf META-INF/MANIFEST.MF ../lib/enguage.jar META-INF org opt \
)
rm -rf ${TMP}
${ANDLIBS}/anduage.jar: ${TMP} ${MANIFEST} lib
mkdir -p ${ANDLIBS}
mkdir ${TMP}/opt
cp -a org sbin etc ${TMP}
cp -a opt/test ${TMP}/opt
( cd ${TMP} ;\
find org -name \*.class -exec rm -f {} \; ;\
find org -name .gitignore -exec rm -f {} \; ;\
javac opt/test/Example.java ;\
rm -rf opt org/enguage/sign/Assets.* ;\
jar -cmf META-INF/MANIFEST.MF ../${ANDLIBS}/anduage.jar META-INF sbin org etc \
)
rm -rf ${TMP}
clean:
rm -f bin/swing
(cd opt/swing; make clean)
(cd opt/flatpak; make clean)
(cd opt/snapcraft; snapcraft clean; rm -f enguage.tgz enguage_*.snap)
@rm -rf ${TMP} lib/ selftest/ variable ${SHAR} values/ # var
#find . -name "*.class" -exec /bin/rm {} \;