# XScreenSaver for Android
export TERM=dumb
-GRADLE = cd project ; ./gradlew
+GRADLE = ./gradlew
default:: debug
all:: release
abstractile \
anemone \
anemotaxis \
+ antmaze \
+ antspotlight \
apollonian \
+ atlantis \
attraction \
atunnel \
+ binaryring \
blaster \
blinkbox \
+ blitspin \
blocktube \
boing \
+ bouboule \
bouncingcow \
boxed \
boxfit \
braid \
bsod \
+ bumps \
cage \
ccurve \
+ celtic \
+ circuit \
+ cityflow \
cloudlife \
companioncube \
compass \
coral \
+ crackberg \
+ crumbler \
crystal \
+ cube21 \
+ cubenetic \
+ cubestack \
cubestorm \
+ cubetwist \
+ cubicgrid \
cwaves \
cynosure \
dangerball \
decayscreen \
deco \
+ deluxe \
demon \
+ discoball \
discrete \
distort \
dnalogo \
drift \
+ dymaxionmap \
+ endgame \
energystream \
engine \
epicycle \
eruption \
+ esper \
euler2d \
fadeplot \
fiberlamp \
+ filmleader \
fireworkx \
flame \
flipflop \
+ flipscreen3d \
flow \
fluidballs \
flyingtoasters \
gears \
geodesic \
geodesicgears \
+ gflux \
+ glblur \
glcells \
+ gleidescope \
+ glhanoi \
glknots \
glmatrix \
+ glplanet \
glschool \
+ glslideshow \
glsnake \
gltext \
+ goop \
grav \
greynetic \
+ halo \
helix \
hexadrop \
+ hexstrut \
hilbert \
hopalong \
+ hypertorus \
hypnowheel \
ifs \
imsmap \
+ interaggregate \
interference \
intermomentary \
+ jigglypuff \
+ jigsaw \
julia \
kaleidescope \
kaleidocycle \
loop \
m6502 \
maze \
+ maze3d \
memscroller \
menger \
metaballs \
+ mirrorblob \
+ moebius \
moebiusgears \
moire \
+ moire2 \
morph3d \
+ mountain \
+ munch \
nerverot \
noof \
+ noseguy \
+ peepers \
penetrate \
penrose \
petri \
piecewise \
pinion \
+ pipes \
polytopes \
pong \
popsquares \
+ projectiveplane \
providence \
+ pulsar \
pyro \
quasicrystal \
+ queens \
raverhoop \
+ razzledazzle \
rd-bomb \
ripples \
+ rocks \
romanboy \
rorschach \
rotzoomer \
shadebobs \
sierpinski \
sierpinski3d \
+ skytentacles \
slidescreen \
+ slip \
+ spheremonics \
+ splitflap \
+ splodesic \
+ spotlight \
squiral \
stairs \
- starfish \
stonerview \
strange \
substrate \
superquadrics \
+ surfaces \
swirl \
tangram \
+ tessellimage \
thornbird \
timetunnel \
topblock \
triangle \
tronbit \
+ truchet \
twang \
unknownpleasures \
vermiculate \
+ vfeedback \
+ vigilance \
voronoi \
wander \
whirlwindwarp \
winduprobot \
wormhole \
+ xanalogtv \
xflame \
+ xjack \
xlyap \
+ xmatrix \
+ xrayswarm \
xspirograph \
+ zoom \
# These don't work well enough to turn on by default:
#
ANDROID_TODO= \
antinspect \
- antmaze \
- antspotlight \
- atlantis \
barcode \
- binaryring \
- blitspin \
- bouboule \
- bumps \
carousel \
- celtic \
- circuit \
- cityflow \
- crackberg \
- cube21 \
- cubenetic \
- cubicgrid \
- deluxe \
- dymaxionmap \
- endgame \
- flipscreen3d \
fliptext \
fontglide \
- gflux \
- glblur \
- gleidescope \
- glhanoi \
- glplanet \
- glslideshow \
- goop \
halftone \
- halo \
- hypertorus \
- interaggregate \
- jigglypuff \
- jigsaw \
juggler3d \
- mirrorblob \
- moebius \
- moire2 \
molecule \
- mountain \
- munch \
- noseguy \
pedal \
phosphor \
photopile \
- pipes \
polyominoes \
- projectiveplane \
- pulsar \
qix \
- queens \
- rocks \
- skytentacles \
- slip \
speedmine \
- spheremonics \
- splitflap \
- spotlight \
+ starfish \
starwars \
- surfaces \
- tessellimage \
testx11 \
- truchet \
unicrud \
- xanalogtv \
- xjack \
- xmatrix \
- xrayswarm \
- zoom \
# Download and resize images from jwz.org.
-quality 95 \
+dither -colors 128
+# If we are making the m6502 hack, create the header file for Android
+m6502.h::
+ @for h in $(ANDROID_HACKS) ; do \
+ if [ $${h} = "m6502" ] ; then \
+ echo "Making $${h} header ..."; \
+ ../hacks/m6502.sh ../hacks/m6502.h ../hacks/images/m6502/*.asm ; \
+ echo "Made $${h} header"; \
+ fi; \
+ done
-project/xscreensaver/res/drawable/%.png:
+xscreensaver/res/drawable/%.png:
@\
FILE1=`echo "$@" | sed 's!^.*/\([^/]*\)\.png$$!\1.jpg!'` ; \
FILE2="$@" ; \
thumbs::
@for f in $(ANDROID_HACKS) $(ANDROID_TODO) ; do \
- $(MAKE) project/xscreensaver/res/drawable/$$f.png ; \
+ $(MAKE) xscreensaver/res/drawable/$$f.png ; \
done
clean_thumbs::
@\
for f in $(ANDROID_HACKS) $(ANDROID_TODO) ; do \
- rm -f project/xscreensaver/res/drawable/$$f.png ; \
+ rm -f xscreensaver/res/drawable/$$f.png ; \
done
-distclean:: clean_thumbs
+distclean:: clean_thumbs clean
-EXTRA_TARFILES = project/xscreensaver/res/drawable/thumbnail.png \
+
+EXTRA_TARFILES = xscreensaver/res/drawable/thumbnail.png \
echo_tarfiles:
@FILES=`find . $(EXTRA_TARFILES) \( \( \
-name .DS_Store \
-o -name '*~' \
+ -o -name '*.jks' \
-o -name '*.keystore' \
-o -name '*_dream.xml' \
-o -name '*_settings.xml' \
+ -o -name '*_wallpaper.xml' \
-o -name AndroidManifest.xml \
-o -name strings.xml \
-o -name settings.xml \
| sort` ; \
echo $$FILES
-debug::
+images_png_h:
+ cd ../hacks/images && $(MAKE)
+
+run_check::
+ ../hacks/check-configs.pl --build-android $(ANDROID_HACKS)
+
+debug:: m6502.h run_check images_png_h
$(GRADLE) assembleDebug
-release::
+release:: m6502.h run_check images_png_h
export APP_ABI=all ; \
$(GRADLE) assembleRelease
-KEYSTORE = xscreensaver.keystore
+KEYSTORE = xscreensaver.jks
$(KEYSTORE):
keytool -genkey -v -keystore $@ \
-alias xscreensaver -keyalg RSA -keysize 2048 -validity 10000
-APK_DIR = project/xscreensaver/build/outputs/apk/
-APK_UNSIGNED = $(APK_DIR)/xscreensaver-release-unsigned.apk
-APK_UNALIGNED = $(APK_DIR)/xscreensaver-release-unaligned.apk
-APK_SIGNED = $(APK_DIR)/xscreensaver-release.apk
+APK_DIR = xscreensaver/build/outputs/apk/release/
+APK_UNSIGNED = $(APK_DIR)xscreensaver-release-unsigned.apk
+APK_UNALIGNED = $(APK_DIR)xscreensaver-release-unaligned.apk
+APK_SIGNED = $(APK_DIR)xscreensaver-release.apk
- TOOLDIR = $(shell echo $$HOME/Library/Android/sdk/build-tools/* | tail -1)
+ TOOLDIR = $(shell ls -d $$HOME/Library/Android/sdk/build-tools/* | tail -1)
ZIPALIGN = $(TOOLDIR)/zipalign
JARSIGNER = jarsigner
# dnalogo \
# twang \
# memscroller \
+# phosphor \
+# discoball \
+# cubetwist \
+# cubestack \
+# splodesic \