OpenWrt packages
Sign in or create your account | Project List | Help
OpenWrt packages Git Source Tree
Root/
1 | # |
2 | # Copyright (C) David Kuehling <dvdkhlng TA gmx TOD de> |
3 | # |
4 | # License GPLv2 or later. NO WARRANTY. |
5 | # |
6 | # OpenWRT package for the Allegro game and multimedia library |
7 | |
8 | # todo: |
9 | # |
10 | # * both shooter and skater try to load a demo.dat from /usr/bin. hack them to |
11 | # use usr/share subdirs? |
12 | # |
13 | # * similar problem with setup? |
14 | # |
15 | # * setup and shoot seem to need 8bpp video modes. can we hack them for |
16 | # 32bpp? Would it help to use a differnt video driver than just 'fbcon'? |
17 | # |
18 | include $(TOPDIR)/rules.mk |
19 | |
20 | PKG_NAME:=liballegro |
21 | PKG_VERSION:=4.4.2 |
22 | PKG_RELEASE:=3 |
23 | PKG_SOURCE:=allegro-$(PKG_VERSION).tar.gz |
24 | PKG_SOURCE_URL:=@SF/alleg/allegro/$(PKG_VERSION) |
25 | PKG_BUILD_DIR = $(BUILD_DIR)/allegro-$(PKG_VERSION) |
26 | HOST_BUILD_DIR = $(BUILD_DIR_HOST)/allegro-$(PKG_VERSION) |
27 | |
28 | PKG_MD5SUM:=4db71b0460fc99926ae91d223199c2e6 |
29 | PKG_INSTALL:=1 |
30 | |
31 | PKG_FIXUP:=libtool |
32 | PKG_REMOVE_FILES:= |
33 | |
34 | # PKG_BUILD_DEPENDS:=liballegro/host |
35 | |
36 | include $(INCLUDE_DIR)/host-build.mk |
37 | include $(INCLUDE_DIR)/package.mk |
38 | include $(INCLUDE_DIR)/cmake.mk |
39 | |
40 | define Package/liballegro/Default |
41 | SUBMENU:=Liballegro |
42 | SECTION:=libs |
43 | CATEGORY:=Libraries |
44 | TITLE:=The Allegro Game Programming Library |
45 | URL:=alleg.sf.net |
46 | # SUBMENU:=Editors |
47 | endef |
48 | |
49 | define Package/liballegro/Default/description |
50 | Allegro is a cross-platform library for computer games and multimedia |
51 | programming. |
52 | endef |
53 | |
54 | define Package/liballegro |
55 | $(call Package/liballegro/Default) |
56 | DEPENDS:=+alsa-lib |
57 | TITLE+= (library) |
58 | endef |
59 | |
60 | define Package/liballegro/description |
61 | $(call Package/liballegro/Default/description) |
62 | This package contains the Allegro library |
63 | endef |
64 | |
65 | define Package/liballegro-data |
66 | $(call Package/liballegro/Default) |
67 | TITLE+= (data) |
68 | endef |
69 | |
70 | define Package/liballegro-data/description |
71 | $(call Package/liballegro/Default/description) |
72 | This package contains various data files that are used by the Allegro library. |
73 | endef |
74 | |
75 | define Package/liballegro-png |
76 | $(call Package/liballegro/Default) |
77 | TITLE+= (PNG image support) |
78 | DEPENDS:=+liballegro +zlib +libpng |
79 | endef |
80 | |
81 | define Package/liballegro-png/description |
82 | $(call Package/liballegro/Default/description) |
83 | This package contains the libloadpng addon that allows interfacing allegro |
84 | Bitmaps with PNG files. Although the name of the library suggests otherwise |
85 | saving to PNG is supported as well as loading PNG files. |
86 | endef |
87 | |
88 | # note: jpgalleg contains its own jpeg implementation; libjpeg not needed! |
89 | define Package/liballegro-jpeg |
90 | $(call Package/liballegro/Default) |
91 | TITLE+= (JPEG image support) |
92 | DEPENDS:=+liballegro |
93 | endef |
94 | |
95 | define Package/liballegro-jpeg/description |
96 | $(call Package/liballegro/Default/description) |
97 | This package contains the libjpgalleg addon that allows interfacing allegro |
98 | Bitmaps with JPEG files. Saving to JPEG files is supported as well as loading. |
99 | endef |
100 | |
101 | define Package/liballegro-ogg |
102 | $(call Package/liballegro/Default) |
103 | TITLE+= (Ogg/Vorbis audio support) |
104 | DEPENDS:=+liballegro +libvorbisidec +libogg |
105 | endef |
106 | |
107 | define Package/liballegro-ogg/description |
108 | $(call Package/liballegro/Default/description) |
109 | This package contains the liblogg addon that allows play-back and mixing of |
110 | background music from Ogg Vorbis audio files. |
111 | endef |
112 | |
113 | define Package/liballegro-demo |
114 | $(call Package/liballegro/Default) |
115 | TITLE+= (demo) |
116 | DEPENDS:=+liballegro |
117 | endef |
118 | |
119 | define Package/liballegro-demo/description |
120 | $(call Package/liballegro/Default/description) |
121 | This package contains the Allegro demo game. |
122 | endef |
123 | |
124 | define Package/liballegro-setup |
125 | $(call Package/liballegro/Default) |
126 | TITLE+= (setup) |
127 | DEPENDS:=+liballegro |
128 | endef |
129 | |
130 | define Package/liballegro-setup/description |
131 | $(call Package/liballegro/Default/description) |
132 | This package contains the Allegro setup program |
133 | endef |
134 | |
135 | define Package/liballegro-examples |
136 | $(call Package/liballegro/Default) |
137 | TITLE+= (examples) |
138 | DEPENDS:=+liballegro |
139 | endef |
140 | |
141 | define Package/liballegro-examples/description |
142 | $(call Package/liballegro/Default/description) |
143 | This package contains the Allegro example programs named "ex*" |
144 | endef |
145 | |
146 | define Package/liballegro-utils |
147 | $(call Package/liballegro/Default) |
148 | TITLE+= (utils) |
149 | DEPENDS:=+liballegro +PACKAGE_liballegro-jpeg:liballegro-jpeg |
150 | endef |
151 | |
152 | define Package/liballegro-utils/description |
153 | $(call Package/liballegro/Default/description) |
154 | This package contains the setup and test tool that ship with Allegro. |
155 | endef |
156 | |
157 | HOST_CONFIGURE_ARGS += |
158 | CONFIGURE_ARGS += |
159 | |
160 | TARGET_CPPFLAGS += |
161 | |
162 | define Build/Prepare |
163 | $(call Build/Prepare/Default) |
164 | endef |
165 | |
166 | HOST_CMAKE_FLAGS= \ |
167 | -DCMAKE_INSTALL_PREFIX=$(STAGING_DIR_HOST) \ |
168 | -DRT_LIBRARY= \ |
169 | -DDL_LIBRARY= \ |
170 | -DWANT_TOOLS=on \ |
171 | -DWANT_TESTS=off \ |
172 | -DWANT_MODULES=off \ |
173 | -DWANT_EXAMPLES=off \ |
174 | -DWANT_ALLEGROGL=off \ |
175 | -DWANT_LOADPNG=off \ |
176 | -DWANT_LOGG=off \ |
177 | -DWANT_JPGALLEG=off \ |
178 | -DWANT_X11=off \ |
179 | -DWANT_LINUX_CONSOLE=on \ |
180 | -DWANT_LINUX_FBCON=off \ |
181 | -DWANT_LINUX_VGA=off \ |
182 | -DWANT_LINUX_SVGALIB=off \ |
183 | -DWANT_ALSA=off \ |
184 | -DWANT_OSS=off \ |
185 | -DWANT_JACK=off \ |
186 | -DWANT_SGIAUDIO=off |
187 | |
188 | define Host/Configure |
189 | cd $(HOST_BUILD_DIR) && cmake $(HOST_CMAKE_FLAGS) . |
190 | endef |
191 | |
192 | ## On the host, we only need to compile the allegro develpment tools: |
193 | ## dat&friends |
194 | define Host/Compile |
195 | $(call Host/Compile/Default, VERBOSE=1 -j4) |
196 | endef |
197 | |
198 | define Host/Install |
199 | $(call Host/Install/Default) |
200 | # $(INSTALL_BIN) $(HOST_BUILD_DIR)/lib-src/make-docfile $(STAGING_DIR_HOST)/bin/liballegro-make-docfile |
201 | # $(INSTALL_BIN) $(HOST_BUILD_DIR)/src/prefix-args $(STAGING_DIR_HOST)/bin/liballegro-prefix-args |
202 | endef |
203 | |
204 | # workaround for cmake.mk bug |
205 | ifneq ($(CONFIG_CCACHE),) |
206 | CMAKE_C_COMPILER:=ccache |
207 | CMAKE_CXX_COMPILER:=ccache |
208 | endif |
209 | |
210 | EXTRA_CFLAGS = -DSETUP_SCREEN_W=320 -DSETUP_SCREEN_H=240 -DSETUP_CFG_FILE=\\\"/etc/allegrorc\\\" |
211 | TARGET_LDFLAGS = -L$(STAGING_DIR)/usr/lib -ldl -lrt |
212 | |
213 | CMAKE_OPTIONS = \ |
214 | -DRT_LIBRARY= \ |
215 | -DALLEGRO_USE_CONSTRUCTOR_EXITCODE=0 \ |
216 | -DRT_LIBRARY= \ |
217 | -DDL_LIBRARY= \ |
218 | -DWANT_TOOLS=on \ |
219 | -DWANT_TESTS=on \ |
220 | -DWANT_MODULES=on \ |
221 | -DWANT_EXAMPLES=on \ |
222 | -DWANT_ALLEGROGL=off \ |
223 | -DWANT_X11=off \ |
224 | -DWANT_LINUX_CONSOLE=on \ |
225 | -DWANT_LINUX_FBCON=on \ |
226 | -DWANT_LINUX_VGA=off \ |
227 | -DWANT_LINUX_SVGALIB=off \ |
228 | -DWANT_ALSA=on \ |
229 | -DWANT_OSS=off \ |
230 | -DWANT_JACK=off \ |
231 | -DWANT_SGIAUDIO=off \ |
232 | -DWANT_LOADPNG=$(if $(CONFIG_PACKAGE_liballegro-png),on,off) \ |
233 | -DWANT_JPGALLEG=$(if $(CONFIG_PACKAGE_liballegro-jpeg),on,off) \ |
234 | -DWANT_LOGG=$(if $(CONFIG_PACKAGE_liballegro-ogg),on,off) |
235 | |
236 | # todo: patch CMakeLists.txt to force addons to be compiled as shared libs? |
237 | # -DADDON_LINKAGE=SHARED |
238 | |
239 | MAKE_FLAGS += -j4 |
240 | |
241 | define Build/Configure |
242 | $(call Build/Configure/Default) |
243 | endef |
244 | |
245 | define Build/Compile |
246 | $(call Build/Compile/Default) |
247 | $(call Build/Compile/Default -C PKG_BUILD_DIR) |
248 | # ln -sf $(STAGING_DIR_HOST)/bin/liballegro-make-docfile $(PKG_BUILD_DIR)/lib-src/make-docfile |
249 | endef |
250 | |
251 | define Build/Install |
252 | $(call Build/Install/Default) |
253 | #$(INSTALL_DATA) ./files/... $(PKG_INSTALL_DIR)/usr/share/.. |
254 | endef |
255 | |
256 | define Build/InstallDev |
257 | $(INSTALL_DIR) $(1)/usr/include/ |
258 | $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/ |
259 | |
260 | $(INSTALL_DIR) $(1)/usr/lib |
261 | $(INSTALL_DIR) $(1)/usr/lib/pkgconfig |
262 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* \ |
263 | $(1)/usr/lib/ |
264 | -$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.a \ |
265 | $(1)/usr/lib/ |
266 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* \ |
267 | $(1)/usr/lib/pkgconfig/ |
268 | # $(SED) 's,-I$$$${includedir},,g' $(1)/usr/lib/pkgconfig/plplotd.pc |
269 | # $(SED) 's,-L$$$${libdir},,g' $(1)/usr/lib/pkgconfig/plplotd.pc |
270 | endef |
271 | |
272 | define Package/liballegro/install |
273 | $(INSTALL_DIR) $(1)/usr/lib $(1)/etc |
274 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/liballeg* $(1)/usr/lib/ |
275 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/allegro $(1)/usr/lib/ |
276 | $(CP) ./files/allegrorc $(1)/etc/ |
277 | endef |
278 | |
279 | define Package/liballegro-data/install |
280 | $(INSTALL_DIR) $(1)/usr/share/allegro |
281 | $(CP) $(PKG_BUILD_DIR)/{keyboard.dat,language.dat} $(1)/usr/share/allegro |
282 | # readme file is used by the allegro 'shooter' demo |
283 | $(INSTALL_DIR) $(1)/usr/share/allegro/docs/{txt,src} |
284 | $(CP) $(PKG_BUILD_DIR)/docs/txt/readme.txt \ |
285 | $(1)/usr/share/allegro/docs/txt |
286 | $(CP) $(PKG_BUILD_DIR)/docs/src/thanks._tx \ |
287 | $(1)/usr/share/allegro/docs/src |
288 | endef |
289 | |
290 | define Package/liballegro-png/install |
291 | $(INSTALL_DIR) $(1)/usr/lib/ |
292 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/libloadpng* $(1)/usr/lib/ |
293 | endef |
294 | |
295 | define Package/liballegro-jpeg/install |
296 | $(INSTALL_DIR) $(1)/usr/lib/ |
297 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/libjpgalleg* $(1)/usr/lib/ |
298 | endef |
299 | |
300 | define Package/liballegro-ogg/install |
301 | $(INSTALL_DIR) $(1)/usr/lib/ |
302 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblogg* $(1)/usr/lib/ |
303 | endef |
304 | |
305 | define Package/liballegro-demo/install |
306 | $(INSTALL_DIR) $(1)/usr/bin |
307 | $(INSTALL_DIR) $(1)/usr/share/allegro |
308 | $(CP) $(PKG_BUILD_DIR)/demos/shooter/shooter $(1)/usr/bin/ |
309 | $(CP) $(PKG_BUILD_DIR)/demos/shooter/demo.dat $(1)/usr/share/allegro/shooter.dat |
310 | $(CP) $(PKG_BUILD_DIR)/demos/skater/skater $(1)/usr/bin/ |
311 | $(CP) $(PKG_BUILD_DIR)/demos/skater/demo.dat $(1)/usr/share/allegro/skater.dat |
312 | endef |
313 | |
314 | define Package/liballegro-setup/install |
315 | $(INSTALL_DIR) $(1)/usr/bin |
316 | $(INSTALL_DIR) $(1)/usr/share/allegro/ |
317 | $(CP) $(PKG_BUILD_DIR)/setup/setup $(1)/usr/bin/allegro-setup |
318 | $(CP) $(PKG_BUILD_DIR)/setup/setup.dat $(1)/usr/share/allegro/ |
319 | endef |
320 | |
321 | define Package/liballegro-examples/install |
322 | $(INSTALL_DIR) $(1)/usr/bin/allegro |
323 | $(CP) $(PKG_BUILD_DIR)/examples/* $(1)/usr/bin/allegro/ |
324 | rm $(1)/usr/bin/allegro/{*.c,*.h,*.txt,*.cmake} |
325 | rm -r $(1)/usr/bin/allegro/CMakeFiles |
326 | endef |
327 | |
328 | define Package/liballegro-utils/install |
329 | $(INSTALL_DIR) $(1)/usr/bin |
330 | $(CP) $(PKG_INSTALL_DIR)/usr/bin $(1)/usr |
331 | endef |
332 | |
333 | |
334 | $(eval $(call HostBuild)) |
335 | $(eval $(call BuildPackage,liballegro)) |
336 | $(eval $(call BuildPackage,liballegro-data)) |
337 | $(eval $(call BuildPackage,liballegro-png)) |
338 | $(eval $(call BuildPackage,liballegro-jpeg)) |
339 | $(eval $(call BuildPackage,liballegro-ogg)) |
340 | $(eval $(call BuildPackage,liballegro-demo)) |
341 | $(eval $(call BuildPackage,liballegro-setup)) |
342 | $(eval $(call BuildPackage,liballegro-examples)) |
343 | $(eval $(call BuildPackage,liballegro-utils)) |
344 | |
345 | |
346 | # The following comments configure the Emacs editor. Just ignore them. |
347 | # Local Variables: |
348 | # compile-command: "cd ~/src/nanonote/allegro-4.4.2 && ~/bin/quilt-export target && make -C ~/h/src/qi/openwrt-xburst package/liballegro/compile -j2 V=99" |
349 | # End: |
350 |