Merge remote-tracking branch 'origin/master' into micropeak-logging
[fw/altos] / micropeak / Makefile.am
1 JAVAROOT=classes
2 AM_JAVACFLAGS=-encoding UTF-8 -Xlint:deprecation
3
4 CLASSPATH_ENV=mkdir -p $(JAVAROOT); CLASSPATH=".:classes:../altoslib/*:../altosuilib/*:../libaltos:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar"
5
6 bin_SCRIPTS=micropeak
7
8 micropeakdir=$(datadir)/java
9
10 micropeak_JAVA= \
11         MicroPeak.java \
12         MicroData.java \
13         MicroFrame.java \
14         MicroGraph.java \
15         MicroSerial.java \
16         MicroStats.java \
17         MicroStatsTable.java \
18         MicroFileChooser.java \
19         MicroUSB.java
20
21 JFREECHART_CLASS= \
22     jfreechart.jar
23
24 JCOMMON_CLASS=\
25     jcommon.jar
26
27 JAR=micropeak.jar
28
29 FATJAR=micropeak-fat.jar
30
31 LIBALTOS= \
32         libaltos.so \
33         libaltos.dylib \
34         altos.dll
35
36 ALTOSLIB_CLASS=\
37         AltosLib.jar
38
39 ALTOSUILIB_CLASS=\
40         AltosUILib.jar
41
42 # Icons
43 ICONDIR=$(top_srcdir)/icon
44
45 JAVA_ICONS=\
46         $(ICONDIR)/micropeak-16.png \
47         $(ICONDIR)/micropeak-32.png \
48         $(ICONDIR)/micropeak-48.png \
49         $(ICONDIR)/micropeak-64.png \
50         $(ICONDIR)/micropeak-128.png \
51         $(ICONDIR)/micropeak-256.png
52
53 # icon base names for jar
54 ICONJAR= -C $(ICONDIR) micropeak-16.png \
55         -C $(ICONDIR) micropeak-32.png \
56         -C $(ICONDIR) micropeak-48.png \
57         -C $(ICONDIR) micropeak-64.png \
58         -C $(ICONDIR) micropeak-128.png \
59         -C $(ICONDIR) micropeak-256.png
60
61 all-local: micropeak-test $(JAR)
62
63 clean-local:
64         -rm -rf classes $(JAR) $(FATJAR) \
65                 $(ALTOSLIB_CLASS) \
66                 $(ALTOSUILIB_CLASS) \
67                 $(JFREECHART_CLASS) $(JCOMMON_CLASS) $(LIBALTOS) Manifest.txt \
68                 micropeak micropeak-test macosx linux windows
69
70 micropeak: Makefile
71         echo "#!/bin/sh" > $@
72         echo 'exec java  -cp "$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar" -Djava.library.path="$(altoslibdir)" -jar "$(micropeakdir)/micropeak.jar" "$$@"' >> $@
73         chmod +x $@
74
75 micropeak-test: Makefile
76         echo "#!/bin/sh" > $@
77         echo 'exec java -cp "./*:../libaltos/*:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar" -Djava.library.path="../libaltos/.libs" -jar micropeak.jar "$$@"' >> $@
78         chmod +x $@
79
80 $(JAR): classmicropeak.stamp Manifest.txt $(JAVA_ICONS) $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS)
81         jar cfm $@ Manifest.txt \
82                 $(ICONJAR) \
83                 -C classes org \
84                 -C ../libaltos libaltosJNI
85
86 $(FATJAR): classmicropeak.stamp Manifest-fat.txt $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) $(JFREECHART_CLASS) $(JCOMMON_CLASS) $(JAVA_ICONS)
87         jar cfm $@ Manifest-fat.txt \
88                 $(ICONJAR) \
89                 -C classes org \
90                 -C ../libaltos libaltosJNI
91
92
93 libaltos.so: build-libaltos
94         -rm -f "$@"
95         $(LN_S) ../libaltos/.libs/"$@" .
96
97 libaltos.dylib:
98         -rm -f "$@"
99         $(LN_S) ../libaltos/"$@" .
100
101 altos.dll: ../libaltos/altos.dll
102         -rm -f "$@"
103         $(LN_S) ../libaltos/"$@" .
104
105 altos64.dll: ../libaltos/altos64.dll
106         -rm -f "$@"
107         $(LN_S) ../libaltos/"$@" .
108
109 ../libaltos/.libs/libaltos.so: build-libaltos
110
111 ../libaltos/altos.dll: build-altos-dll
112
113 ../libaltos/altos64.dll: build-altos64-dll
114
115 build-libaltos:
116         +cd ../libaltos && make libaltos.la
117 build-altos-dll:
118         +cd ../libaltos && make altos.dll
119
120 build-altos64-dll:
121         +cd ../libaltos && make altos64.dll
122
123 $(ALTOSLIB_CLASS):
124         -rm -f "$@"
125         $(LN_S) ../altoslib/"$@" .
126
127 $(ALTOSUILIB_CLASS):
128         -rm -f "$@"
129         $(LN_S) ../altosuilib/"$@" .
130
131 $(JFREECHART_CLASS):
132         -rm -f "$@"
133         $(LN_S) "$(JFREECHART)"/"$@" .
134
135 $(JCOMMON_CLASS):
136         -rm -f "$@"
137         $(LN_S) "$(JCOMMON)"/"$@" .
138
139 Manifest.txt: Makefile
140         echo 'Main-Class: org.altusmetrum.micropeak.MicroPeak' > $@
141         echo "Class-Path: AltosLib.jar AltosUILib.jar $(JCOMMON)/jcommon.jar $(JFREECHART)/jfreechart.jar" >> $@
142
143 Manifest-fat.txt:
144         echo 'Main-Class: org.altusmetrum.micropeak.MicroPeak' > $@
145         echo "Class-Path: AltosLib.jar AltosUILib.jar jcommon.jar jfreechart.jar" >> $@
146