/[zanavi_public1]/navit/navit/Makefile.am
ZANavi

Contents of /navit/navit/Makefile.am

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (show annotations) (download)
Fri Oct 28 21:19:04 2011 UTC (12 years, 5 months ago) by zoff99
File size: 16791 byte(s)
import files
1 include $(top_srcdir)/Makefile.inc
2 comma=,
3 SUBDIRS=fib-1.1 support
4 if PLUGINS
5 SUBDIRS += .
6 endif
7 DIST_SUBDIRS=autoload binding map maptool fib-1.1 font fonts gui graphics osd plugin speech support vehicle xpm maps
8 SUBDIRS+=autoload binding map font gui graphics osd plugin speech vehicle xpm
9
10 MODULES = $(wildcard $(top_builddir)/navit/binding/*/*.la $(top_builddir)/navit/font/*/*.la $(top_builddir)/navit/graphics/*/*.la $(top_builddir)/navit/gui/*/*.la $(top_builddir)/navit/map/*/*.la $(top_builddir)/navit/osd/*/*.la $(top_builddir)/navit/speech/*/*.la $(top_builddir)/navit/vehicle/*/*.la)
11
12 if FONTS
13 SUBDIRS += fonts
14 endif
15 if !PLUGINS
16 SUBDIRS += .
17 endif
18
19 if MAPTOOL
20 SUBDIRS += maptool
21 endif
22
23 if BUILD_SAMPLEMAP
24 SUBDIRS += maps
25 endif
26
27
28 AM_CPPFLAGS = -I$(top_srcdir)/navit/fib-1.1 @NAVIT_CFLAGS@ @ZLIB_CFLAGS@ -DPREFIX=\"@prefix@\" -DLIBDIR=\"@libdir@\" -DMODULE=navit
29 BUILT_SOURCES = version.h navit_config.h
30
31 if BIN_NAVIT
32 bin_PROGRAMS = navit
33 endif
34
35 if SHARED_LIBNAVIT
36 lib_LTLIBRARIES = lib@LIBNAVIT@.la
37 lib@LIBNAVIT@_la_LDFLAGS = -avoid-version @MODULE_LDFLAGS@ @NAVIT_SOCKET_LDFLAGS@ -no-undefined -Wl,--no-undefined
38 else
39 noinst_LTLIBRARIES = lib@LIBNAVIT@.la
40 endif
41 lib@LIBNAVIT@_la_LIBADD = @NAVIT_LIBS@ @WORDEXP_LIBS@ @ZLIB_LIBS@ @INTLLIBS@ -Lfib-1.1 -lfib @MODULE_LIBADD@ @CRYPTO_LIBS@
42
43 if SUPPORT_WIN32CE
44 lib@LIBNAVIT@_la_LIBADD += -Lsupport/libc -lsupport_libc
45 endif
46
47 pkgdata_DATA = navit.xml
48
49 EXTRA_DIST = navit_shipped.xml navit.dtd
50
51 lib@LIBNAVIT@_la_SOURCES = announcement.c atom.c attr.c cache.c callback.c command.c compass.c config_.c coord.c country.c data_window.c debug.c \
52 event.c event_glib.h file.c graphics.c gui.c item.c layout.c log.c main.c map.c \
53 linguistics.c mapset.c maptype.c menu.c messages.c bookmarks.c bookmarks.h navit.c navigation.c osd.c param.c phrase.c plugin.c popup.c \
54 profile.c projection.c roadprofile.c route.c routech.c search.c speech.c start_real.c transform.c track.c \
55 util.c vehicle.c vehicleprofile.c xmlconfig.c announcement.h atom.h attr.h attr_def.h cache.h callback.h color.h command.h compass.h config_.h coord.h country.h \
56 android.h data.h data_window.h data_window_int.h debug.h destination.h draw_info.h endianess.h event.h \
57 file.h graphics.h gtkext.h gui.h item.h item_def.h keys.h log.h layer.h layout.h linguistics.h main.h map-share.h map.h\
58 map_data.h mapset.h maptype.h menu.h messages.h navigation.h navit.h osd.h \
59 param.h phrase.h plugin.h point.h plugin_def.h projection.h popup.h route.h profile.h roadprofile.h search.h speech.h start_real.h \
60 transform.h track.h types.h util.h vehicle.h vehicleprofile.h window.h xmlconfig.h zipfile.h \
61 navit_nls.h sunriset.c sunriset.h glib_slice.h
62
63 XSLTS=@XSLTS@
64 navit.xml: navit_shipped.xml $(foreach xslt, $(subst $(comma), ,$(XSLTS)), $(addsuffix .xslt,$(addprefix xslt/,$(xslt)))) navit_android_xml
65 cp $< navit.xml.new
66 if [ ! -f navit.dtd ]; then cp -f $(top_srcdir)/navit/navit.dtd .; fi
67 for i in $^; do if [ "$${i%.xslt}" != "$$i" ]; then echo "Applying $$i" ; @SAXON@ -snone navit.xml.new $$i >navit.xml.tmp || exit ; mv navit.xml.tmp navit.xml.new || exit ; fi ; done
68 mv navit.xml.new navit.xml
69 rm -f navit.xml.tmp
70
71 navit_android_xml: navit_shipped.xml
72 if SUPPORT_ANDROID
73 # new android xml files for (mdpi,ldpi,hdpi)
74 cp $(srcdir)/navit_shipped.xml navit_android.xml.new
75 if [ ! -f navit.dtd ]; then cp -f $(top_srcdir)/navit/navit.dtd .; fi
76
77 # # now apply any other xslt files (this would allow for pedestrian plugin)
78 # for i in $(foreach xslt, $(subst $(comma), ,$(XSLTS)), $(addsuffix .xslt,$(addprefix xslt/,$(xslt)))); do if [ "$${i%.xslt}" != "$$i" ]; then j=`basename $$i` ; if [ "$$j" != "android.xslt" ] ; then echo "Android: Applying $$i" ; @SAXON@ -snone navit_android.xml.new $(srcdir)/"$$i" >navit_android.xml.new.tmp || exit ; mv navit_android.xml.new.tmp navit_android.xml.new || exit ; fi ; fi ; done
79 # # for now disable pedestrian plugin (zoff99)
80
81 @SAXON@ -snone navit_android.xml.new $(srcdir)/xslt/android_mdpi.xslt >navit_android_mdpi.xml.tmp
82 @SAXON@ -snone navit_android.xml.new $(srcdir)/xslt/android_ldpi.xslt >navit_android_ldpi.xml.tmp
83 @SAXON@ -snone navit_android.xml.new $(srcdir)/xslt/android_hdpi.xslt >navit_android_hdpi.xml.tmp
84 rm -f navit_android.xml.new
85 rm -f navit_android.xml.new.tmp
86 mv navit_android_mdpi.xml.tmp navit_android_mdpi.xml
87 mv navit_android_ldpi.xml.tmp navit_android_ldpi.xml
88 mv navit_android_hdpi.xml.tmp navit_android_hdpi.xml
89 rm -f navit_android_mdpi.xml.tmp
90 rm -f navit_android_ldpi.xml.tmp
91 rm -f navit_android_hdpi.xml.tmp
92 else
93 echo "no Android support"
94 endif
95
96 if SUPPORT_ANDROID
97 lib@LIBNAVIT@_la_SOURCES += android.c
98 navit_SOURCES =
99 navit_LDADD =
100
101 v_int = $$(cat $(srcdir)/android/Android_Market_Version_int.txt|grep v_int|cut -d ":" -f 2)
102 v_name = "1.0.0-"$$(LANG=C svnversion $(top_srcdir) 2> /dev/null|tr -d ":A-Z" 2> /dev/null)
103
104 android/AndroidManifest.xml: android/AndroidManifest.xml.in
105 mkdir -p $(builddir)/android
106 mkdir -p $(builddir)/android/res2/drawable-hdpi
107 mkdir -p $(builddir)/android/res2/drawable-mdpi
108 mkdir -p $(builddir)/android/res2/drawable-ldpi
109
110 sed '0,/<uses-sdk/!d' <$< >$@
111 for i in $(subst $(comma), ,@ANDROID_PERMISSIONS@); do echo " <uses-permission android:name=\"android.permission.$$i\" />" >>$@; done
112 sed '0,/<uses-sdk/d' <$< >>$@
113 sed -e "s/@ANDROID_VERSION_INT@/$(v_int)/" <$@ >android/AndroidManifest.xml.tmp
114 mv android/AndroidManifest.xml.tmp $@
115 sed -e "s/@ANDROID_VERSION_NAME@/$(v_name)/" <$@ >android/AndroidManifest.xml.tmp
116 mv android/AndroidManifest.xml.tmp $@
117
118 android/build.xml: android/AndroidManifest.xml android/dummy.txt
119 # this is needed, otherwise somehow the files cant be deleted
120 mkdir -p $(builddir)/android/src/
121 if [ "$(builddir)" != "$(srcdir)" ]; then chmod -R u+w $(builddir)/android/src/; fi
122 if [ "$(builddir)" != "$(srcdir)" ]; then rm -Rf $(builddir)/android/src/; fi
123 if [ "$(builddir)" != "$(srcdir)" ]; then cp -rpf $(srcdir)/android/* $(builddir)/android; fi
124 touch $(srcdir)/android/dummy.txt
125 touch $(builddir)/android/dummy.txt
126 android update project -t @ANDROID_PROJECT@ -p android
127
128 apkg-all: all android/build.xml navit.xml
129 mkdir -p android/libs/armeabi
130 cp .libs/*.so android/libs/armeabi/libnavit.so
131 for i in */*/.libs/*.so ; do sed 's&lib_data_data_com\.zoffcc\.applications\.zanavi_lib_&/data/data/com.zoffcc.applications.zanavi/lib/lib&' <$$i >android/libs/armeabi/$$(basename $$i); done
132
133 mkdir -p android/res/drawable-ldpi
134 mkdir -p android/res/drawable-mdpi
135 mkdir -p android/res/drawable-hdpi
136 for i in $(shell cd $(srcdir)/xpm && echo *.xpm); do convert $(srcdir)/xpm/$$i android/res/drawable-mdpi/$${i%.xpm}.png; done
137 for i in $(shell cd $(srcdir)/xpm && echo *.xpm); do convert -resize 75% $(srcdir)/xpm/$$i android/res/drawable-ldpi/$${i%.xpm}.png; done
138 for i in $(shell cd $(srcdir)/xpm && echo *.xpm); do convert -resize 150% $(srcdir)/xpm/$$i android/res/drawable-hdpi/$${i%.xpm}.png; done
139
140 for i in $(shell cd $(srcdir)/xpm && echo *.png); do convert $(srcdir)/xpm/$$i android/res/drawable-mdpi/$$( echo $$i | tr "[A-Z]" "[a-z]") ; done
141 for i in $(shell cd $(srcdir)/xpm && echo *.png); do convert -resize 75% $(srcdir)/xpm/$$i android/res/drawable-ldpi/$$( echo $$i | tr "[A-Z]" "[a-z]") ; done
142 for i in $(shell cd $(srcdir)/xpm && echo *.png); do convert -resize 150% $(srcdir)/xpm/$$i android/res/drawable-hdpi/$$( echo $$i | tr "[A-Z]" "[a-z]") ; done
143
144 mkdir -p android/res2/drawable-hdpi
145 mkdir -p android/res2/drawable-mdpi
146 mkdir -p android/res2/drawable-ldpi
147 if [ "$(builddir)" != "$(srcdir)" ]; then for i in $(shell cd $(builddir)/xpm && echo *.png); do convert $(builddir)/xpm/$$i android/res2/drawable-mdpi/$$( echo $$i | tr "[A-Z]" "[a-z]") ; done ; fi
148 if [ "$(builddir)" != "$(srcdir)" ]; then for i in $(shell cd $(builddir)/xpm && echo *.png); do convert -resize 75% $(builddir)/xpm/$$i android/res2/drawable-ldpi/$$( echo $$i | tr "[A-Z]" "[a-z]") ; done ; fi
149 if [ "$(builddir)" != "$(srcdir)" ]; then for i in $(shell cd $(builddir)/xpm && echo *.png); do convert -resize 150% $(builddir)/xpm/$$i android/res2/drawable-hdpi/$$( echo $$i | tr "[A-Z]" "[a-z]") ; done ; fi
150
151 # only use needed pngs to make size of apk smaller
152 if [ "$(builddir)" != "$(srcdir)" ]; then for i in flag_bk_tr.png flag_bk_wh.png mini_roundabout.png gui_active_32_32.png gui_arrow_right_32_32.png gui_arrow_left_32_32.png icon_32_32.png unknown_32_32.png gui_zoom_out_64_64.png gui_zoom_in_64_64.png gui_map_32_32.png gui_home_32_32.png gui_actions_64_64.png gui_settings_64_64.png gui_tools_64_64.png gui_about_64_64.png gui_inactive_32_32.png ; do cp -v $(builddir)/android/res2/drawable-hdpi/$$i android/res/drawable-hdpi/ ; done ; fi
153 if [ "$(builddir)" != "$(srcdir)" ]; then for i in flag_bk_tr.png flag_bk_wh.png mini_roundabout.png gui_active_32_32.png gui_arrow_right_32_32.png gui_arrow_left_32_32.png icon_32_32.png unknown_32_32.png gui_zoom_out_64_64.png gui_zoom_in_64_64.png gui_map_32_32.png gui_home_32_32.png gui_actions_64_64.png gui_settings_64_64.png gui_tools_64_64.png gui_about_64_64.png gui_inactive_32_32.png ; do cp -v $(builddir)/android/res2/drawable-mdpi/$$i android/res/drawable-mdpi/ ; done ; fi
154 if [ "$(builddir)" != "$(srcdir)" ]; then for i in flag_bk_tr.png flag_bk_wh.png mini_roundabout.png gui_active_32_32.png gui_arrow_right_32_32.png gui_arrow_left_32_32.png icon_32_32.png unknown_32_32.png gui_zoom_out_64_64.png gui_zoom_in_64_64.png gui_map_32_32.png gui_home_32_32.png gui_actions_64_64.png gui_settings_64_64.png gui_tools_64_64.png gui_about_64_64.png gui_inactive_32_32.png ; do cp -v $(builddir)/android/res2/drawable-ldpi/$$i android/res/drawable-ldpi/ ; done ; fi
155 # gui icons
156 if [ "$(builddir)" != "$(srcdir)" ]; then for i in $(shell cd android/res2/drawable-hdpi && echo gui*64_64*png); do cp -v $(builddir)/android/res2/drawable-hdpi/$$i android/res/drawable-hdpi/ ; done ; fi
157 if [ "$(builddir)" != "$(srcdir)" ]; then for i in $(shell cd android/res2/drawable-mdpi && echo gui*64_64*png); do cp -v $(builddir)/android/res2/drawable-mdpi/$$i android/res/drawable-mdpi/ ; done ; fi
158 if [ "$(builddir)" != "$(srcdir)" ]; then for i in $(shell cd android/res2/drawable-ldpi && echo gui*64_64*png); do cp -v $(builddir)/android/res2/drawable-ldpi/$$i android/res/drawable-ldpi/ ; done ; fi
159 # nav icons
160 if [ "$(builddir)" != "$(srcdir)" ]; then for i in $(shell cd android/res2/drawable-hdpi && echo nav_*png); do cp -v $(builddir)/android/res2/drawable-hdpi/$$i android/res/drawable-hdpi/ ; done ; fi
161 if [ "$(builddir)" != "$(srcdir)" ]; then for i in $(shell cd android/res2/drawable-mdpi && echo nav_*png); do cp -v $(builddir)/android/res2/drawable-mdpi/$$i android/res/drawable-mdpi/ ; done ; fi
162 if [ "$(builddir)" != "$(srcdir)" ]; then for i in $(shell cd android/res2/drawable-ldpi && echo nav_*png); do cp -v $(builddir)/android/res2/drawable-ldpi/$$i android/res/drawable-ldpi/ ; done ; fi
163 # POIs
164 if [ "$(builddir)" != "$(srcdir)" ]; then for i in traffic_signals.png bank.png fuel.png gui_select_street_32_32.png gui_select_town_32_32.png gui_select_country_32_32.png ; do cp -v $(builddir)/android/res2/drawable-hdpi/$$i android/res/drawable-hdpi/ ; done ; fi
165 if [ "$(builddir)" != "$(srcdir)" ]; then for i in traffic_signals.png bank.png fuel.png gui_select_street_32_32.png gui_select_town_32_32.png gui_select_country_32_32.png ; do cp -v $(builddir)/android/res2/drawable-mdpi/$$i android/res/drawable-mdpi/ ; done ; fi
166 if [ "$(builddir)" != "$(srcdir)" ]; then for i in traffic_signals.png bank.png fuel.png gui_select_street_32_32.png gui_select_town_32_32.png gui_select_country_32_32.png ; do cp -v $(builddir)/android/res2/drawable-ldpi/$$i android/res/drawable-ldpi/ ; done ; fi
167 # rest of nav_ icons
168 if [ "$(builddir)" != "$(srcdir)" ]; then cp -v $(builddir)/android/res2/drawable-hdpi/nav_destination_bk_59_59.png android/res/drawable-hdpi/nav_destination_bk.png ; fi
169 if [ "$(builddir)" != "$(srcdir)" ]; then cp -v $(builddir)/android/res2/drawable-mdpi/nav_destination_bk_59_59.png android/res/drawable-mdpi/nav_destination_bk.png ; fi
170 if [ "$(builddir)" != "$(srcdir)" ]; then cp -v $(builddir)/android/res2/drawable-ldpi/nav_destination_bk_59_59.png android/res/drawable-ldpi/nav_destination_bk.png ; fi
171
172 # clean up
173 # rm android/res2/drawable-hdpi/*
174 # rm android/res2/drawable-mdpi/*
175 # rm android/res2/drawable-ldpi/*
176
177
178 mkdir -p android/res/raw
179 for i in $(shell cd ../po && echo *.mo); do cp ../po/$$i android/res/raw/$$( echo $$i | tr "[A-Z]" "[a-z]") ; done
180 # cp navit.xml android/res/raw
181 cp navit_android_mdpi.xml android/res/raw/navitmdpi.xml
182 cp navit_android_ldpi.xml android/res/raw/navitldpi.xml
183 cp navit_android_hdpi.xml android/res/raw/navithdpi.xml
184
185 # cleanup svn dirs, they should never be in build dir
186 if [ "$(builddir)" != "$(srcdir)" ]; then find $(builddir) -type d -name '\.svn' -exec rm -Rf {} \; ; fi; echo "ignore the find errors!!"
187
188 if [ "$(DO_RELEASE_BUILD)" != "1" ]; then mkdir -p android/libs/armeabi ; fi
189 if [ "$(DO_RELEASE_BUILD)" != "1" ]; then install -p $(NDK)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/gdbserver android/libs/armeabi/gdbserver ; fi
190 if [ "$(DO_RELEASE_BUILD)" != "1" ]; then mkdir -p android/libs/armeabi ; fi
191 if [ "$(DO_RELEASE_BUILD)" != "1" ]; then mkdir -p android/obj/local/armeabi ; fi
192 if [ "$(DO_RELEASE_BUILD)" != "1" ]; then cp android/libs/armeabi/*.so android/obj/local/armeabi/ ; fi
193 if [ "$(DO_RELEASE_BUILD)" != "1" ]; then echo "set solib-search-path $(builddir)/obj/local/armeabi" > android/libs/armeabi/gdb.setup ; fi
194 if [ "$(DO_RELEASE_BUILD)" != "1" ]; then echo "directory $(NDK)/platforms/android-""$(AND_API_LEVEL_C)""/arch-arm/usr/include $(NDK)/sources/cxx-stl/system" >> android/libs/armeabi/gdb.setup ; fi
195
196 # strip libs if release build is selected
197 if [ "$(DO_RELEASE_BUILD)" == "1" ]; then echo "stripping libs ..."; arm-linux-androideabi-strip --strip-unneeded $(builddir)/android/libs/armeabi/* ; echo "done" ; fi
198
199
200 apkg: apkg-all
201 touch $(srcdir)/android/dummy.txt
202 touch $(builddir)/android/dummy.txt
203 cd android && ant debug
204 # zipalign is already run automatically
205
206 apkg-release: apkg-all
207 touch $(srcdir)/android/dummy.txt
208 touch $(builddir)/android/dummy.txt
209 cd android && ant release
210 # jarsigner $$(cat ~/.keys_args) android/bin/Navit-unsigned.apk mykey
211 zipalign -f 4 android/bin/Navit-unsigned.apk android/bin/Navit-aligned.apk
212 cp android/bin/Navit-aligned.apk android/bin/Navit-debug.apk
213 else
214 navit_SOURCES = start.c
215 navit_LDADD = lib@LIBNAVIT@.la
216
217 endif
218
219 if EVENT_GLIB
220 lib@LIBNAVIT@_la_SOURCES += event_glib.c
221 endif
222
223 if !PLUGINS
224 lib@LIBNAVIT@_la_SOURCES += builtin.c
225 lib@LIBNAVIT@_la_LIBADD += $(MODULES)
226 endif
227
228 navit_LDFLAGS = -export-dynamic
229
230 navit_LDADD += @NAVIT_LIBS@ @WORDEXP_LIBS@ @ZLIB_LIBS@ @CRYPTO_LIBS@ @INTLLIBS@
231
232 if SUPPORT_WIN32
233 navit_LDADD += resource.rsc
234 if SUPPORT_WIN32CE
235 navit_LDADD += -lcommctrl -Lsupport/libc
236 else
237 navit_LDADD += -lgdi32 -lcomctl32 -lwinmm
238 endif
239
240
241 resource.rsc: $(top_srcdir)/navit/gui/win32/resources/resource.rc
242 $(WINDRES) -I $(top_srcdir)/navit/gui/win32/resources $(top_srcdir)/navit/gui/win32/resources/resource.rc resource.rsc
243 endif
244
245 .PHONY: version.h.tmp
246
247 version.h.tmp:
248 echo "#include \"config.h\"" >version.h.tmp
249 if SOURCE_MODE_SVN
250 echo "#define SVN_VERSION \"$$(LANG=C svnversion $(top_srcdir) 2>/dev/null)\"" >>version.h.tmp
251 else
252 echo "#define SVN_VERSION \"@SOURCE_MODE@\"" >>version.h.tmp
253 endif
254 echo "#define NAVIT_VARIANT \"@NAVIT_VARIANT@\"" >>version.h.tmp
255 if ! diff version.h.tmp version.h >/dev/null 2>/dev/null; \
256 then \
257 mv version.h.tmp version.h; \
258 fi
259
260 version.h: version.h.tmp
261
262 navit_config.h: ../config.h
263 cp ../config.h navit_config.h.tmp
264 if ! diff navit_config.h.tmp navit_config.h >/dev/null 2>/dev/null; \
265 then \
266 mv navit_config.h.tmp navit_config.h; \
267 fi
268
269
270 distclean-local:
271 rm -f version.h version.h.tmp navit_config.h navit_config.h.tmp builtin.c support-builtin.c navit.xml
272 if [ "$(top_builddir)" != "$(top_srcdir)" ]; then rm -f navit.dtd; fi
273
274 builtin.c: $(top_builddir)/config.h
275 ls $(top_builddir)/navit/*/*/*.la | sed -e "s/\.la/_init(void);/" -e "s/.*lib/extern void module_/" >builtin.c
276 echo "extern void builtin_init(void);" >>builtin.c
277 echo "void builtin_init(void) {" >>builtin.c
278 ls $(top_builddir)/navit/*/*/*.la | sed -e "s/\.la/_init();/" -e "s/.*\\/lib/ module_/" >>builtin.c
279 echo "}" >>builtin.c
280 support-builtin.c: $(top_builddir)/config.h
281 ls $(top_builddir)/navit/support/*/*.la | sed -e "s/\.la/_init(void);/" -e "s/.*lib/extern void module_/" >support-builtin.c
282 echo "extern void builtin_init(void);" >>support-builtin.c
283 echo "void builtin_init(void) {" >>support-builtin.c
284 ls $(top_builddir)/navit/support/*/*.la | sed -e "s/\.la/_init();/" -e "s/.*\\/lib/ module_/" >>support-builtin.c
285 echo "}" >>support-builtin.c

   
Visit the ZANavi Wiki