1PKG_CONFIG               ?= PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(CROSS)pkg-config
2CURL_LIBS                ?= $(call PKG_LIBS,libcurl)
3CURL_CFLAGS              ?= $(call PKG_CFLAGS,libcurl)
4ifdef HAVE_LIBPNG_PNG_H
5PNG_LIBS                 ?= -lpng
6PNG_CFLAGS               ?=
7else
8PNG_CFLAGS               ?= -Isrc/libs/png -DPNG_NO_CONFIG_H
9PNG_SRCS                  = \
10	libs/png/png.c \
11	libs/png/pngerror.c \
12	libs/png/pngget.c \
13	libs/png/pngmem.c \
14	libs/png/pngpread.c \
15	libs/png/pngread.c \
16	libs/png/pngrio.c \
17	libs/png/pngrtran.c \
18	libs/png/pngrutil.c \
19	libs/png/pngset.c \
20	libs/png/pngtrans.c \
21	libs/png/pngwio.c \
22	libs/png/pngwrite.c \
23	libs/png/pngwtran.c \
24	libs/png/pngwutil.c
25endif
26ifdef HAVE_JPEGLIB_H
27JPEG_LIBS                ?= -ljpeg
28JPEG_CFLAGS              ?=
29else
30JPEG_CFLAGS              ?= -Isrc/libs/jpeg -DAVOID_TABLES
31JPEG_SRCS                 = \
32    libs/jpeg/jaricom.c \
33    libs/jpeg/jcapimin.c \
34    libs/jpeg/jcapistd.c \
35    libs/jpeg/jcarith.c \
36    libs/jpeg/jccoefct.c \
37    libs/jpeg/jccolor.c \
38    libs/jpeg/jcdctmgr.c \
39    libs/jpeg/jchuff.c \
40    libs/jpeg/jcinit.c \
41    libs/jpeg/jcmainct.c \
42    libs/jpeg/jcmarker.c \
43    libs/jpeg/jcmaster.c \
44    libs/jpeg/jcomapi.c \
45    libs/jpeg/jcparam.c \
46    libs/jpeg/jcprepct.c \
47    libs/jpeg/jcsample.c \
48    libs/jpeg/jctrans.c \
49    libs/jpeg/jdapimin.c \
50    libs/jpeg/jdapistd.c \
51    libs/jpeg/jdarith.c \
52    libs/jpeg/jdatadst.c \
53    libs/jpeg/jdatasrc.c \
54    libs/jpeg/jdcoefct.c \
55    libs/jpeg/jdcolor.c \
56    libs/jpeg/jddctmgr.c \
57    libs/jpeg/jdhuff.c \
58    libs/jpeg/jdinput.c \
59    libs/jpeg/jdmainct.c \
60    libs/jpeg/jdmarker.c \
61    libs/jpeg/jdmaster.c \
62    libs/jpeg/jdmerge.c \
63    libs/jpeg/jdpostct.c \
64    libs/jpeg/jdsample.c \
65    libs/jpeg/jdtrans.c \
66    libs/jpeg/jerror.c \
67    libs/jpeg/jfdctflt.c \
68    libs/jpeg/jfdctfst.c \
69    libs/jpeg/jfdctint.c \
70    libs/jpeg/jidctflt.c \
71    libs/jpeg/jidctint.c \
72    libs/jpeg/jquant1.c \
73    libs/jpeg/jquant2.c \
74    libs/jpeg/jutils.c \
75    libs/jpeg/jmemmgr.c
76
77ifeq ($(TARGET_OS),android)
78JPEG_SRCS += \
79	libs/jpeg/jmem-android.c \
80	libs/jpeg/jidctfst.S
81else
82JPEG_SRCS += \
83	libs/jpeg/jmemansi.c \
84	libs/jpeg/jidctfst.c
85endif
86endif
87ifdef HAVE_SDL2_SDL_H
88SDL_LIBS                 ?= $(call PKG_LIBS,sdl2)
89SDL_CFLAGS               ?= $(call PKG_CFLAGS,sdl2)
90else
91SDL_LIBS                 ?= $(call PKG_LIBS,sdl)
92SDL_CFLAGS               ?= $(call PKG_CFLAGS,sdl)
93endif
94ifdef HAVE_SDL2_TTF_SDL_TTF_H
95SDL_TTF_LIBS             ?= $(call PKG_LIBS,SDL2_ttf)
96SDL_TTF_CFLAGS           ?= $(call PKG_CFLAGS,SDL2_ttf)
97else
98ifdef HAVE_SDL2_SDL_H
99SDL_TTF_LIBS             ?=
100SDL_TTF_CFLAGS           ?= -Isrc/libs/SDL_ttf -Isrc/libs/SDL_ttf/external/freetype-2.4.12/include -DFT2_BUILD_LIBRARY
101SDL_TTF_SRCS              = \
102	libs/SDL_ttf/SDL_ttf.c \
103	libs/SDL_ttf/external/freetype-2.4.12/src/autofit/autofit.c \
104	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftbase.c \
105	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftbbox.c \
106	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftbdf.c \
107	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftbitmap.c \
108	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftcid.c \
109	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftdebug.c \
110	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftfstype.c \
111	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftgasp.c \
112	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftglyph.c \
113	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftgxval.c \
114	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftinit.c \
115	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftlcdfil.c \
116	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftmm.c \
117	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftotval.c \
118	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftpatent.c \
119	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftpfr.c \
120	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftstroke.c \
121	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftsynth.c \
122	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftsystem.c \
123	libs/SDL_ttf/external/freetype-2.4.12/src/base/fttype1.c \
124	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftwinfnt.c \
125	libs/SDL_ttf/external/freetype-2.4.12/src/base/ftxf86.c \
126	libs/SDL_ttf/external/freetype-2.4.12/src/bdf/bdf.c \
127	libs/SDL_ttf/external/freetype-2.4.12/src/bzip2/ftbzip2.c \
128	libs/SDL_ttf/external/freetype-2.4.12/src/cache/ftcache.c \
129	libs/SDL_ttf/external/freetype-2.4.12/src/cff/cff.c \
130	libs/SDL_ttf/external/freetype-2.4.12/src/cid/type1cid.c \
131	libs/SDL_ttf/external/freetype-2.4.12/src/gzip/ftgzip.c \
132	libs/SDL_ttf/external/freetype-2.4.12/src/lzw/ftlzw.c \
133	libs/SDL_ttf/external/freetype-2.4.12/src/pcf/pcf.c \
134	libs/SDL_ttf/external/freetype-2.4.12/src/pfr/pfr.c \
135	libs/SDL_ttf/external/freetype-2.4.12/src/psaux/psaux.c \
136	libs/SDL_ttf/external/freetype-2.4.12/src/pshinter/pshinter.c \
137	libs/SDL_ttf/external/freetype-2.4.12/src/psnames/psmodule.c \
138	libs/SDL_ttf/external/freetype-2.4.12/src/raster/raster.c \
139	libs/SDL_ttf/external/freetype-2.4.12/src/sfnt/sfnt.c \
140	libs/SDL_ttf/external/freetype-2.4.12/src/smooth/smooth.c \
141	libs/SDL_ttf/external/freetype-2.4.12/src/truetype/truetype.c \
142	libs/SDL_ttf/external/freetype-2.4.12/src/type1/type1.c \
143	libs/SDL_ttf/external/freetype-2.4.12/src/type42/type42.c \
144	libs/SDL_ttf/external/freetype-2.4.12/src/winfonts/winfnt.c
145else
146SDL_TTF_LIBS             ?= $(call PKG_LIBS,SDL_ttf)
147SDL_TTF_CFLAGS           ?= $(call PKG_CFLAGS,SDL_ttf)
148endif
149endif
150ifdef HAVE_SDL2_MIXER_SDL_MIXER_H
151SDL_MIXER_LIBS           ?= $(call PKG_LIBS,SDL2_mixer)
152SDL_MIXER_CFLAGS         ?= $(call PKG_CFLAGS,SDL2_mixer)
153else
154ifdef HAVE_SDL2_SDL_H
155SDL_MIXER_LIBS           ?=
156SDL_MIXER_CFLAGS         ?= -Isrc/libs/vorbis -Isrc/libs/vorbis/src -Isrc/libs/vorbis/include -Isrc/libs/ogg/include -Isrc/libs/SDL_mixer -DOGG_MUSIC -DWAV_MUSIC -DHAVE_SDL_MIXER_H
157SDL_MIXER_SRCS            = \
158	libs/vorbis/src/analysis.c \
159	libs/vorbis/src/bitrate.c \
160	libs/vorbis/src/block.c \
161	libs/vorbis/src/codebook.c \
162	libs/vorbis/src/envelope.c \
163	libs/vorbis/src/floor0.c \
164	libs/vorbis/src/floor1.c \
165	libs/vorbis/src/info.c \
166	libs/vorbis/src/lookup.c \
167	libs/vorbis/src/lpc.c \
168	libs/vorbis/src/lsp.c \
169	libs/vorbis/src/mapping0.c \
170	libs/vorbis/src/mdct.c \
171	libs/vorbis/src/psy.c \
172	libs/vorbis/src/registry.c \
173	libs/vorbis/src/res0.c \
174	libs/vorbis/src/sharedbook.c \
175	libs/vorbis/src/smallft.c \
176	libs/vorbis/src/synthesis.c \
177	libs/vorbis/src/vorbisenc.c \
178	libs/vorbis/src/vorbisfile.c \
179	libs/vorbis/src/window.c \
180	libs/ogg/src/framing.c \
181	libs/ogg/src/bitwise.c \
182	libs/SDL_mixer/dynamic_flac.c \
183	libs/SDL_mixer/dynamic_fluidsynth.c \
184	libs/SDL_mixer/dynamic_mod.c \
185	libs/SDL_mixer/dynamic_mp3.c \
186	libs/SDL_mixer/dynamic_ogg.c \
187	libs/SDL_mixer/effect_position.c \
188	libs/SDL_mixer/effects_internal.c \
189	libs/SDL_mixer/effect_stereoreverse.c \
190	libs/SDL_mixer/fluidsynth.c \
191	libs/SDL_mixer/load_aiff.c \
192	libs/SDL_mixer/load_flac.c \
193	libs/SDL_mixer/load_ogg.c \
194	libs/SDL_mixer/load_voc.c \
195	libs/SDL_mixer/mixer.c \
196	libs/SDL_mixer/music.c \
197	libs/SDL_mixer/music_cmd.c \
198	libs/SDL_mixer/music_flac.c \
199	libs/SDL_mixer/music_mad.c \
200	libs/SDL_mixer/music_mod.c \
201	libs/SDL_mixer/music_modplug.c \
202	libs/SDL_mixer/music_ogg.c \
203	libs/SDL_mixer/wavestream.c
204else
205SDL_MIXER_LIBS           ?= $(call PKG_LIBS,SDL_mixer)
206SDL_MIXER_CFLAGS         ?= $(call PKG_CFLAGS,SDL_mixer)
207endif
208endif
209OPENGL_CFLAGS            ?= $(call PKG_CFLAGS,gl,GL)
210OPENGL_LIBS              ?= $(call PKG_LIBS,gl,GL)
211OPENAL_CFLAGS            ?= $(call PKG_CFLAGS,openal)
212OPENAL_LIBS              ?= $(call PKG_LIBS,openal)
213ifdef HAVE_THEORA_THEORA_H
214THEORA_CFLAGS            ?= $(call PKG_CFLAGS,theora)
215THEORA_LIBS              ?= $(call PKG_LIBS,theora)
216else
217
218endif
219GLIB_CFLAGS              ?= $(call PKG_CFLAGS,glib-2.0)
220GLIB_LIBS                ?= $(call PKG_LIBS,glib-2.0)
221GDK_PIXBUF_CFLAGS        ?= $(call PKG_CFLAGS,gdk-pixbuf-2.0)
222GDK_PIXBUF_LIBS          ?= $(call PKG_LIBS,gdk-pixbuf-2.0)
223GTK_CFLAGS               ?= $(call PKG_CFLAGS,gtk+-2.0)
224GTK_LIBS                 ?= $(call PKG_LIBS,gtk+-2.0)
225GTK_SOURCEVIEW_CFLAGS    ?= $(call PKG_CFLAGS,gtksourceview-2.0)
226GTK_SOURCEVIEW_LIBS      ?= $(call PKG_LIBS,gtksourceview-2.0)
227GTK_GLEXT_CFLAGS         ?= $(call PKG_CFLAGS,gtkglext-1.0)
228GTK_GLEXT_LIBS           ?= $(call PKG_LIBS,gtkglext-1.0)
229XML2_CFLAGS              ?= $(call PKG_CFLAGS,libxml-2.0)
230XML2_LIBS                ?= $(call PKG_LIBS,libxml-2.0)
231VORBIS_CFLAGS            ?= $(call PKG_CFLAGS,vorbis)
232VORBIS_LIBS              ?= $(call PKG_LIBS,vorbis)
233OGG_CFLAGS               ?= $(call PKG_CFLAGS,ogg)
234OGG_LIBS                 ?= $(call PKG_LIBS,ogg)
235MXML_CFLAGS              ?= $(call PKG_CFLAGS,mxml)
236MXML_LIBS                ?= $(call PKG_LIBS,mxml)
237PICOMODEL_CFLAGS         ?= $(call PKG_CFLAGS,picomodel)
238PICOMODEL_LIBS           ?= $(call PKG_LIBS,picomodel)
239INTL_LIBS                ?=
240ifdef HAVE_XVID_H
241XVID_CFLAGS              ?=
242XVID_LIBS                ?= -lxvidcore
243endif
244ifdef HAVE_BFD_H
245BFD_CFLAGS               ?=
246BFD_LIBS                 ?= -lbfd -liberty
247endif
248MUMBLE_LIBS              ?=
249MUMBLE_SRCS               = libs/mumble/libmumblelink.c
250MUMBLE_CFLAGS             = -Isrc/libs/mumble
251ifndef HAVE_MXML_MXML_H
252MXML_SRCS                 = libs/mxml/mxml-attr.c \
253                            libs/mxml/mxml-entity.c \
254                            libs/mxml/mxml-file.c \
255                            libs/mxml/mxml-index.c \
256                            libs/mxml/mxml-node.c \
257                            libs/mxml/mxml-private.c \
258                            libs/mxml/mxml-search.c \
259                            libs/mxml/mxml-set.c \
260                            libs/mxml/mxml-string.c
261MXML_CFLAGS               = -Isrc/libs/mxml
262MXML_LIBS                 =
263ifeq ($(findstring $(TARGET_OS), mingw32 mingw64),)
264MXML_LIBS                 = -lpthread
265endif
266else
267MXML_SRCS                 =
268endif
269ifndef HAVE_PICOMODEL_PICOMODEL_H
270PICOMODEL_SRCS            = libs/picomodel/picointernal.c \
271                            libs/picomodel/picomodel.c \
272                            libs/picomodel/picomodules.c \
273                            libs/picomodel/pm_ase.c \
274                            libs/picomodel/pm_md3.c \
275                            libs/picomodel/pm_obj.c \
276                            libs/picomodel/pm_md2.c
277PICOMODEL_CFLAGS          = -Isrc/libs/picomodel
278PICOMODEL_LIBS            =
279else
280PICOMODEL_SRCS            =
281endif
282