summaryrefslogtreecommitdiff
path: root/Makefile
blob: 4856fc43afa14309a8067b654e66ce9cb899dcd4 (plain)
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
SCSS = scss
CORDOVA = cordova
GSED = sed
WGET = wget -c --no-use-server-timestamp

pdfjs = https://github.com/mozilla/pdf.js/releases/download/v1.0.907/pdfjs-1.0.907-dist.zip
frc_safety_manual = http://www.usfirst.org/sites/default/files/uploadedFiles/Robotics_Programs/FRC/Resources/2015%20FRC%20Team%20Safety%20Manual-%20FINAL%202.6.15.pdf

targets = \
	platforms/browser/build/package.zip \
	platforms/android/ant-build/CordovaApp-debug.apk

sources = \
	www/FIRST_Safety_Manual.pdf \
	www/pdfjs \
	\
	www/css/index.css \
	www/MSDS.html

android-resources = \
	platforms/android/res/drawable/icon.png \
	platforms/android/res/drawable-ldpi/icon.png \
	platforms/android/res/drawable-mdpi/icon.png \
	platforms/android/res/drawable-hdpi/icon.png \
	platforms/android/res/drawable-xhdpi/icon.png \
	\
	platforms/android/res/drawable-land-ldpi/screen.png \
	platforms/android/res/drawable-land-mdpi/screen.png \
	platforms/android/res/drawable-land-hdpi/screen.png \
	platforms/android/res/drawable-land-xhdpi/screen.png \
	\
	platforms/android/res/drawable-port-ldpi/screen.png \
	platforms/android/res/drawable-port-mdpi/screen.png \
	platforms/android/res/drawable-port-hdpi/screen.png \
	platforms/android/res/drawable-port-xhdpi/screen.png
resources = $(android-resources)


all: $(targets)

clean-sources: PHONY
	rm -rf -- www/pdfjs
	rm -f -- $(sources)
clean-resources: PHONY
	rm -f -- $(resources)
clean-%-resources: PHONY
	rm -f -- $($*-resources)
clean: PHONY clean-sources clean-resources
	rm -f -- info.txt pdfjs-*.zip hs_err_pid*.log 
distclean: PHONY clean
	rm -rf -- platforms plugins

sources: PHONY $(sources)
resources: PHONY $(resources)
%-resources: PHONY
	$(if $($@),$(MAKE) $($@))


DEP_DIR = $1 $(shell find $1)

platforms/browser/build/package.zip: platforms/browser $(sources) $(call DEP_DIR,www)
	$(CORDOVA) build browser

platforms/android/ant-build/CordovaApp-debug.apk: platforms/android $(sources) $(call DEP_DIR,www)
	$(CORDOVA) build android

platforms/%:
	$(CORDOVA) platform add $*

www/FIRST_Safety_Manual.pdf:
	$(WGET) -O $@ $(frc_safety_manual)

$(notdir $(pdfjs)):
	$(WGET) $(pdfjs)

www/pdfjs: $(notdir $(pdfjs))
	rm -rf -- $@
	mkdir -- $@ && bsdtar -xf $(abspath $<) -C $@ --strip-components 1 --exclude '*.pdf' || rm -rf -- $@

www/MSDS.html: www/MSDS.html.in www/MSDS Makefile
	ls www/MSDS | $(GSED) 'p;s/_/ /g' | $(GSED) -r 'N;s,^(.*)\n(.*)\.pdf,<a href="pdfjs/web/viewer.html?file=../../MSDS/\1">\2</a>,' | $(GSED) $$'/@list@/{ s/@list@//; r/dev/stdin\n}' www/MSDS.html.in > $@


platforms/android/res/drawable/icon.png: www/img/logo.png | platforms/android
	convert $< -resize 96x96 $@
platforms/android/res/drawable-ldpi/icon.png: www/img/logo.png | platforms/android
	convert $< -resize 36x36 $@
platforms/android/res/drawable-mdpi/icon.png: www/img/logo.png | platforms/android
	convert $< -resize 48x48 $@
platforms/android/res/drawable-hdpi/icon.png: www/img/logo.png | platforms/android
	convert $< -resize 72x72 $@
platforms/android/res/drawable-xhdpi/icon.png: www/img/logo.png | platforms/android
	convert $< -resize 96x96 $@

platforms/android/res/drawable-land-ldpi/screen.png: www/img/screen-landscape.png | platforms/android
	convert $< -resize 320x200 $@
platforms/android/res/drawable-land-mdpi/screen.png: www/img/screen-landscape.png | platforms/android
	convert $< -resize 480x320 $@
platforms/android/res/drawable-land-hdpi/screen.png: www/img/screen-landscape.png | platforms/android
	convert $< -resize 800x480 $@
platforms/android/res/drawable-land-xhdpi/screen.png: www/img/screen-landscape.png | platforms/android
	convert $< -resize 1280x720 $@

platforms/android/res/drawable-port-ldpi/screen.png: www/img/screen-portrait.png | platforms/android
	convert $< -resize 200x320 $@
platforms/android/res/drawable-port-mdpi/screen.png: www/img/screen-portrait.png | platforms/android
	convert $< -resize 320x480 $@
platforms/android/res/drawable-port-hdpi/screen.png: www/img/screen-portrait.png | platforms/android
	convert $< -resize 480x800 $@
platforms/android/res/drawable-port-xhdpi/screen.png: www/img/screen-portrait.png | platforms/android
	convert $< -resize 720x1280 $@


%.css: %.scss
	$(SCSS) $< $@


.PHONY: PHONY FORCE
.DELETE_ON_ERROR:
.SECONDARY: