1#export
2
3
4# Directories
5#ROOT_DIR=/Users/darco/Projects/GTK
6ROOT_DIR=$(shell pwd)
7PREFIX_DIR=$(ROOT_DIR)/output
8#PREFIX_DIR=/Applications/SynfigStudio.app/Contents/synfig
9PACKAGETMP_DIR=$(ROOT_DIR)/pkg_out
10#PREFIX_DIR=/usr/local
11
12GETTEXT_VER=0.14.5
13GETTEXT_DIR=$(ROOT_DIR)/gettext-$(GETTEXT_VER)
14GETTEXT_DL=http://mirrors.kernel.org/gnu/gettext/gettext-$(GETTEXT_VER).tar.gz
15
16LIBICONV_VER=1.9.1
17LIBICONV_DIR=$(ROOT_DIR)/libiconv-$(LIBICONV_VER)
18LIBICONV_DL=http://mirrors.kernel.org/gnu/libiconv/libiconv-$(GETTEXT_VER).tar.gz
19
20GLIB_VER=2.4.7
21GLIB_VER=2.8.6
22GLIB_DIR=$(ROOT_DIR)/glib-$(GLIB_VER)
23GLIB_DL=ftp://ftp.gtk.org/pub/gtk/v2.8/glib-$(GLIB_VER).tar.bz2
24
25PANGO_VER=1.4.1
26PANGO_VER=1.10.4
27PANGO_DIR=$(ROOT_DIR)/pango-$(PANGO_VER)
28PANGO_DL=http://ftp.gtk.org/pub/gtk/v2.8/pango-$(PANGO_VER).tar.bz2
29
30CAIRO_VER=1.0.2
31CAIRO_DIR=$(ROOT_DIR)/cairo-$(CAIRO_VER)
32CAIRO_DL=http://cairographics.org/releases/cairo-$(CAIRO_VER).tar.gz
33
34ATK_VER=1.6.1
35ATK_VER=1.10.3
36ATK_DIR=$(ROOT_DIR)/atk-$(ATK_VER)
37ATK_DL=http://ftp.gtk.org/pub/gtk/v2.8/atk-$(ATK_VER).tar.bz2
38
39GTK_VER=2.4.13
40GTK_VER=2.8.13
41GTK_DIR=$(ROOT_DIR)/gtk+-$(GTK_VER)
42GTK_DL=http://ftp.gtk.org/pub/gtk/v2.8/gtk+-$(GTK_VER).tar.bz2
43
44LIBPNG_VER=1.2.10
45LIBPNG_DIR=$(ROOT_DIR)/libpng-$(LIBPNG_VER)
46LIBPNG_DL=ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-$(LIBPNG_VER).tar.bz2
47
48LIBJPEG_VER=6b
49LIBJPEG_DIR=$(ROOT_DIR)/jpeg-$(LIBJPEG_VER)
50
51LIBTIFF_VER=3.5.7
52LIBTIFF_DIR=$(ROOT_DIR)/tiff-v$(LIBTIFF_VER)
53
54LIBSIGC_DIR=$(ROOT_DIR)/libsigc++-1.2.4
55#LIBSIGC2_DIR=$(ROOT_DIR)/libsigc++-2.0.5
56
57LIBSIGC2_VER=2.0.16
58LIBSIGC2_DIR=$(ROOT_DIR)/libsigc++-$(LIBSIGC2_VER)
59LIBSIGC2_DL=http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.0/libsigc++-$(LIBSIGC2_VER).tar.gz
60
61
62GLIBMM_VER=2.4.5
63GLIBMM_VER=2.8.5
64GLIBMM_DIR=$(ROOT_DIR)/glibmm-$(GLIBMM_VER)
65GLIBMM_DL=http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.8/glibmm-$(GLIBMM_VER).tar.gz
66
67GTKMM_VER=2.4.7
68GTKMM_VER=2.8.3
69GTKMM_DIR=$(ROOT_DIR)/gtkmm-$(GTKMM_VER)
70GTKMM_DL=http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.8/gtkmm-$(GTKMM_VER).tar.gz
71
72LIBXML2_VER=2.6.23
73LIBXML2_DIR=$(ROOT_DIR)/libxml2-$(LIBXML2_VER)
74
75LIBXMLPP_VER=1.0.4
76LIBXMLPP_DIR=$(ROOT_DIR)/libxml++-$(LIBXMLPP_VER)
77LIBXMLPP_DL=http://ftp.gnome.org/pub/GNOME/sources/libxml++/1.0/libxml++-$(LIBXMLPP_VER).tar.gz
78
79
80FONTCONFIG_VER=2.2.96
81FONTCONFIG_DIR=$(ROOT_DIR)/fontconfig-$(FONTCONFIG_VER)
82
83INSTALL_PREFIX=/usr/local
84
85# Other
86prefix="$(PREFIX_DIR)"
87TEMP_FILE=$(ROOT_DIR)/tempfile.xxx
88PKG_CONFIG_PATH="$(PREFIX_DIR)"/lib/pkgconfig:/usr/X11R6/lib/pkgconfig:/usr/lib/pkgconfig
89PREFIX_SYMBOL=@PREFIX@
90
91#export DYLD_LIBRARY_PATH="$(PREFIX_DIR)"/lib:/lib:/usr/local/lib:/lib:/usr/lib
92export LD_PREBIND=1
93export LD_PREBIND_ALLOW_OVERLAP=1
94export LD_PREBIND_ALL_TWOLEVEL_MODULES=1
95export MACOSX_DEPLOYMENT_TARGET=10.4
96export CPP=gcc -E
97
98# Programs
99#MAKE=export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET) && make
100MAKE=make -j2
101CP=cp
102MV=mv
103MKDIR=mkdir
104GREP=grep
105STRIP=strip
106FIND=find
107CHMOD=chmod
108PRINTF=printf
109SED=/sw/bin/sed
110PACKAGE=./package
111CURL=curl -f
112UNTARZ=tar xvzf
113UNTARJ=tar xvjf
114CAT=cat
115
116OFLAGS=
117ARCHFLAGS=-arch i386 -arch ppc
118
119#ARCHFLAGS=-arch i386
120
121#OFLAGS=-faltivec -maltivec
122#ARCHFLAGS=-arch ppc
123
124CFLAGS=-I"$(PREFIX_DIR)"/include -no-cpp-precomp $(OFLAGS) $(ARCHFLAGS)
125CC=gcc $(CFLAGS)
126CC3=gcc $(CFLAGS)
127CXXFLAGS=$(CFLAGS)
128CXX=g++ $(CXXFLAGS)
129CXXCPP=g++ -E
130CPP=gcc -E
131LDFLAGS=$(ARCHFLAGS) -L"$(PREFIX_DIR)"/lib -prebind_all_twolevel_modules -twolevel_namespace -bind_at_load -undefined dynamic_lookup
132LFLAGS=$(LDFLAGS)
133
134
135DESTDIR_FIX=for filename in `$(FIND) . | $(GREP) Makefile | $(GREP) -v -e Makefile.am -e Makefile.in` ; do { echo Patching $$filename ... && sed 's:LIBDIR=\\"$$(libdir)\\":LIBDIR=\\"$(INSTALL_PREFIX)/lib\\":g;s:DATA_PREFIX=\\"$$(prefix)\\":DATA_PREFIX=\\"$(INSTALL_PREFIX)\\":g; s:LOCALEDIR=\\"$$(localedir)\\":LOCALEDIR=\\"$(INSTALL_PREFIX)/share/locale\\":g; s:LOCALE_ALIAS_PATH=\\"$$(aliaspath)\\":LOCALE_ALIAS_PATH=\\"$(INSTALL_PREFIX)/share/locale\\":g;s:SYSCONFDIR=\\"$$(sysconfdir)\\":SYSCONFDIR=\\"$(INSTALL_PREFIX)/etc\\":g;' < $$filename > $(TEMP_FILE) && cp $(TEMP_FILE) $$filename ; } ; done ;
136
137ENDIAN_FIX=$(PRINTF) "\#ifdef __BIG_ENDIAN__\n\
138\#define WORDS_BIGENDIAN\n\
139\#endif\n\
140\#undef G_ATOMIC_I486\n\
141\#undef G_ATOMIC_POWERPC\n\
142\#ifdef __i386__\n\
143\#define G_ATOMIC_I486\n\
144\#endif\n\
145\#ifdef __ppc__\n\
146\#define G_ATOMIC_POWERPC\n\
147\#endif\n\
148" >> config.h
149
150ENVIRONMENT="ARCHFLAGS=$(ARCHFLAGS)" "CC=$(CC)" "CXX=$(CXX)" "CXXCPP=$(CXXCPP)" "CPP=$(CPP)" "PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)" "LDFLAGS=$(LDFLAGS)" "MACOSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET)"
151
152# Flags
153CONFIG_FLAGS=--prefix="$(PREFIX_DIR)" --disable-static --enable-shared $(ENVIRONMENT)
154
155# Targets
156all: gettext glib libpng libjpeg cairo pango atk gtk libsigc2 glibmm gtkmm libxmlpp
157
158packages: gettext-pkg glib-pkg pango-pkg atk-pkg libpng-pkg libjpeg-pkg cairo-pkg gtk-pkg libsigc2-pkg glibmm-pkg gtkmm-pkg libxmlpp-pkg
159clean: gettext-clean glib-clean libpng-clean libjpeg-clean cairo-clean pango-clean atk-clean gtk-clean libsigc2-clean glibmm-clean gtkmm-clean libxmlpp-clean
160	$(RM) -r gtkmm.pkg
161
162clean-all: clean
163	$(RM) -r output
164
165strip:
166	$(STRIP) "$(PREFIX_DIR)"/lib/*.dylib
167
168setup-uninstall:
169	$(PRINTF) "\
170#!/bin/bash\n\
171cd @PREFIX@\n\
172sudo for file in "'`'"cat bin/uninstall_gtk_list.txt"'`'"\n\
173do\n\
174	printf .\n\
175	rm $$file\n\
176done\n\
177" > "$(PREFIX_DIR)"/bin/uninstall_gtk
178	$(CHMOD) +x "$(PREFIX_DIR)"/bin/uninstall_gtk
179	cd "$(PREFIX_DIR)" && find . | tac > bin/uninstall_gtk_list.txt
180
181#PACKAGE_PREP="for filename in `find . | $(GREP) -e '\.la' -e '\.pc' -e '[-]config' -e '\.loaders' -e '\.immodules'` ; do [ -d $$filename ] || { $(GREP) -l '$(ROOT_DIR)' $$filename && $(SED) 's;"$(PREFIX_DIR)";@PREFIX@;g;s:-L$(ROOT_DIR)/gettext-0.11.5/intl::g;' < $$filename > $(TEMP_FILE) && $(CP) $(TEMP_FILE) $$filename ;} ; done; $(RM) $(TEMP_FILE)"
182
183PACKAGE_PREP=for filename in `find | $(GREP) -e '\.la' -e '\.pc' -e '[-]config' -e '\.loaders' -e '\.immodules'` ; do [ -d $$filename ] || { $(SED) 's;$(PACKAGETMP_DIR);@PREFIX@;g;s;"$(PREFIX_DIR)";@PREFIX@;g;s:-L$(ROOT_DIR)/gettext-0.11.5/intl::g;' < $$filename > $(TEMP_FILE) && $(CP) $(TEMP_FILE) $$filename && echo $$filename ;} ; done; $(RM) $(TEMP_FILE) ; $(RM) -R share/doc
184
185package-prep: setup-uninstall
186	-cd "$(PREFIX_DIR)" && $(PACKAGE_PREP)
187#	-cd "$(PREFIX_DIR)" && for filename in `$(CAT) "$(PREFIX_DIR)"/bin/uninstall_gtk_list.txt | $(GREP) -e "\.la" -e "\.pc" -e -config -e "\.loaders" -e "\.immodules"` ;\
188#		do [ -d $$filename ] || { \
189#			$(GREP) -l "$(ROOT_DIR)" $$filename && \
190#			$(SED) "s;"$(PREFIX_DIR)";@PREFIX@;g;s:-L$(ROOT_DIR)/gettext-0.11.5/intl::g;" \
191#			< $$filename > $(TEMP_FILE) && \
192#			$(CP) $(TEMP_FILE) $$filename \
193#	;} ; done
194#	$(RM) $(TEMP_FILE)
195
196
197package:
198	$(PACKAGE) "$(PREFIX_DIR)" gtkmm.info -r PkgResource -bzip
199#	-[ -d gtkmm.xpm ] && mv gtkmm.xpm gtkmm.pkg
200
201gettext: gettext-$(GETTEXT_VER)
202	cd $(GETTEXT_DIR) && ./configure $(CONFIG_FLAGS) "LDFLAGS=$(LDFLAGS) -L$(GETTEXT_DIR)/intl" --with-libiconv-prefix=/usr/lib
203	cd $(GETTEXT_DIR) && $(ENDIAN_FIX)
204#	$(SED) "s/__USER_LABEL_PREFIX__/_/g;" < $(GETTEXT_DIR)/intl/libgnuintl.h > $(TEMP_FILE)
205#	$(CP) $(TEMP_FILE) $(GETTEXT_DIR)/intl/libgnuintl.h
206#	$(RM) $(TEMPFILE)
207#cd $(GETTEXT_DIR) && $(DESTDIR_FIX)
208	$(MAKE) -C $(GETTEXT_DIR)
209	$(MAKE) -C $(GETTEXT_DIR) install
210
211gettext-pkg:
212	$(RM) -r $(ROOT_DIR)/pkg_out
213	$(MAKE) -C $(GETTEXT_DIR) install-strip prefix=$(ROOT_DIR)/pkg_out
214	-cd $(ROOT_DIR)/pkg_out && $(PACKAGE_PREP)
215	$(SED) "s/@PACKAGE@/gettext/g;s/@VERSION@/$(GETTEXT_VER)/;" < package.info > gettext.info
216	$(PACKAGE) $(ROOT_DIR)/pkg_out gettext.info -r PkgResource -bzip
217	$(RM) -r $(ROOT_DIR)/pkg_out
218	mv $(ROOT_DIR)/gettext.pkg packages
219
220gettext-clean:
221	$(MAKE) -C $(GETTEXT_DIR) clean
222
223gettext-$(GETTEXT_VER):
224	$(CURL) $(GETTEXT_DL) -o gettext-$(GETTEXT_VER).tar.gz
225	$(UNTARZ) gettext-$(GETTEXT_VER).tar.gz
226
227libiconv:
228	cd $(LIBICONV_DIR) && ./configure $(CONFIG_FLAGS)
229	cd $(LIBICONV_DIR) && $(ENDIAN_FIX)
230	cd $(LIBICONV_DIR) && $(DESTDIR_FIX)
231	$(MAKE) -C $(LIBICONV_DIR)
232	$(MAKE) -C $(LIBICONV_DIR) install
233
234libiconv-clean:
235	$(MAKE) -C $(LIBICONV_DIR) clean
236
237glib: glib-$(GLIB_VER)
238	cd $(GLIB_DIR) && ./configure $(CONFIG_FLAGS)
239	cd $(GLIB_DIR) && $(ENDIAN_FIX)
240	cd $(GLIB_DIR) && $(DESTDIR_FIX)
241	$(MAKE) -C $(GLIB_DIR)
242	$(MAKE) -C $(GLIB_DIR) install-strip
243
244glib-pkg:
245	$(RM) -r $(ROOT_DIR)/pkg_out
246	$(MAKE) -C $(GLIB_DIR) install-strip prefix=$(ROOT_DIR)/pkg_out
247	-cd $(ROOT_DIR)/pkg_out && $(PACKAGE_PREP)
248	$(SED) "s/@PACKAGE@/glib/g;s/@VERSION@/$(GLIB_VER)/;" < package.info > glib.info
249	$(PACKAGE) $(ROOT_DIR)/pkg_out glib.info -r PkgResource -bzip
250	$(RM) -r $(ROOT_DIR)/pkg_out
251	mv $(ROOT_DIR)/glib.pkg packages
252
253glib-clean:
254	$(MAKE) -C $(GLIB_DIR) clean
255
256glib-$(GLIB_VER):
257	$(CURL) $(GLIB_DL) -o glib-$(GLIB_VER).tar.bz2
258#	$(UNTARZ) glib-$(GLIB_VER).tar.gz
259	$(UNTARJ) glib-$(GLIB_VER).tar.bz2
260
261
262
263
264cairo: cairo-$(CAIRO_VER)
265	cd $(CAIRO_DIR) && ./configure $(CONFIG_FLAGS)
266	cd $(CAIRO_DIR) && $(ENDIAN_FIX)
267	cd $(CAIRO_DIR) && $(DESTDIR_FIX)
268	$(MAKE) -C $(CAIRO_DIR)
269	$(MAKE) -C $(CAIRO_DIR) install-strip
270
271cairo-pkg:
272	$(RM) -r $(ROOT_DIR)/pkg_out
273	$(MAKE) -C $(CAIRO_DIR) install-strip prefix=$(ROOT_DIR)/pkg_out
274	-cd $(ROOT_DIR)/pkg_out && $(PACKAGE_PREP)
275	$(SED) "s/@PACKAGE@/cairo/g;s/@VERSION@/$(CAIRO_VER)/;" < package.info > cairo.info
276	$(PACKAGE) $(ROOT_DIR)/pkg_out cairo.info -r PkgResource -bzip
277	$(RM) -r $(ROOT_DIR)/pkg_out
278	mv $(ROOT_DIR)/cairo.pkg packages
279
280cairo-clean:
281	$(MAKE) -C $(CAIRO_DIR) clean
282
283cairo-$(CAIRO_VER):
284	$(CURL) $(CAIRO_DL) -o cairo-$(CAIRO_VER).tar.gz
285	$(UNTARZ) cairo-$(CAIRO_VER).tar.gz
286
287
288
289
290pango: pango-$(PANGO_VER)
291	cd $(PANGO_DIR) && ./configure $(CONFIG_FLAGS)
292	cd $(PANGO_DIR) && $(ENDIAN_FIX)
293	cd $(PANGO_DIR) && $(DESTDIR_FIX)
294	$(MAKE) -C $(PANGO_DIR)
295	$(MAKE) -C $(PANGO_DIR) install-strip
296
297pango-pkg:
298	$(RM) -r $(ROOT_DIR)/pkg_out
299	$(MAKE) -C $(PANGO_DIR) install-strip prefix=$(ROOT_DIR)/pkg_out
300	-cd $(ROOT_DIR)/pkg_out && $(PACKAGE_PREP)
301	$(SED) "s/@PACKAGE@/pango/g;s/@VERSION@/$(PANGO_VER)/;" < package.info > pango.info
302	$(PACKAGE) $(ROOT_DIR)/pkg_out pango.info -r PkgResource -bzip
303	$(RM) -r $(ROOT_DIR)/pkg_out
304	mv $(ROOT_DIR)/pango.pkg packages
305
306pango-clean:
307	$(MAKE) -C $(PANGO_DIR) clean
308
309pango-$(PANGO_VER):
310	$(CURL) $(PANGO_DL) -o pango-$(PANGO_VER).tar.bz2
311	$(UNTARJ) pango-$(PANGO_VER).tar.bz2
312
313atk: atk-$(ATK_VER)
314	cd $(ATK_DIR) && ./configure $(CONFIG_FLAGS)
315	cd $(ATK_DIR) && $(ENDIAN_FIX)
316	cd $(ATK_DIR) && $(DESTDIR_FIX)
317	$(MAKE) -C $(ATK_DIR)
318	$(MAKE) -C $(ATK_DIR) install-strip
319
320atk-pkg:
321	$(RM) -r $(ROOT_DIR)/pkg_out
322	$(MAKE) -C $(ATK_DIR) install-strip prefix=$(ROOT_DIR)/pkg_out
323	-cd $(ROOT_DIR)/pkg_out && $(PACKAGE_PREP)
324	$(SED) "s/@PACKAGE@/atk/g;s/@VERSION@/$(ATK_VER)/;" < package.info > atk.info
325	$(PACKAGE) $(ROOT_DIR)/pkg_out atk.info -r PkgResource -bzip
326	$(RM) -r $(ROOT_DIR)/pkg_out
327	mv $(ROOT_DIR)/atk.pkg packages
328
329atk-clean:
330	$(MAKE) -C $(ATK_DIR) clean
331
332atk-$(ATK_VER):
333	$(CURL) $(ATK_DL) -o atk-$(ATK_VER).tar.bz2
334	$(UNTARJ) atk-$(ATK_VER).tar.bz2
335
336libpng: libpng-$(LIBPNG_VER)
337	cd $(LIBPNG_DIR) && ./configure $(CONFIG_FLAGS)
338	cd $(LIBPNG_DIR) && $(ENDIAN_FIX)
339	cd $(LIBPNG_DIR) && $(DESTDIR_FIX)
340	$(MAKE) -C $(LIBPNG_DIR)
341	$(MAKE) -C $(LIBPNG_DIR) install-strip
342#	$(MAKE) -C $(LIBPNG_DIR) -f makefile.macosx prefix="$(PREFIX_DIR)" $(ENVIRONMENT)
343#	$(MAKE) -C $(LIBPNG_DIR) -f makefile.macosx install prefix="$(PREFIX_DIR)" $(ENVIRONMENT)
344#	$(MAKE) -C $(LIBPNG_DIR) -f makefile.macosx shared prefix="$(PREFIX_DIR)" $(ENVIRONMENT)
345#	$(MAKE) -C $(LIBPNG_DIR) -f makefile.macosx install-shared prefix="$(PREFIX_DIR)" $(ENVIRONMENT)
346#	$(MV) "$(PREFIX_DIR)"/lib/libpng.dylib "$(PREFIX_DIR)"/lib/libpng.dylib.xxx
347
348libpng-pkg:
349	$(RM) -r $(ROOT_DIR)/pkg_out
350	$(MKDIR) $(ROOT_DIR)/pkg_out
351	$(MAKE) -C $(LIBPNG_DIR) -f makefile.macosx install prefix=$(ROOT_DIR)/pkg_out
352	-cd $(ROOT_DIR)/pkg_out && $(PACKAGE_PREP)
353	$(SED) "s/@PACKAGE@/libpng/g;s/@VERSION@/$(LIBPNG_VER)/;" < package.info > libpng.info
354	$(PACKAGE) $(ROOT_DIR)/pkg_out libpng.info -r PkgResource -bzip
355	$(RM) -r $(ROOT_DIR)/pkg_out
356	mv $(ROOT_DIR)/libpng.pkg packages
357
358libpng-clean:
359	$(MAKE) -C $(LIBPNG_DIR) clean
360
361libpng-$(LIBPNG_VER):
362	$(CURL) $(LIBPNG_DL) -o libpng-$(LIBPNG_VER).tar.bz2
363	$(UNTARJ) libpng-$(LIBPNG_VER).tar.bz2
364
365
366gtk: gtk+-$(GTK_VER)
367	-$(MV) "$(PREFIX_DIR)"/lib/libjpeg.dylib.xxx "$(PREFIX_DIR)"/lib/libjpeg.dylib
368	-$(MV) "$(PREFIX_DIR)"/lib/libpng.dylib.xxx "$(PREFIX_DIR)"/lib/libpng.dylib
369	$(SED) -ibak "s/ libjpeg.dylib//" "$(PREFIX_DIR)"/lib/libjpeg.la
370	cd $(GTK_DIR) && ./configure $(CONFIG_FLAGS)  LIBS="-L/usr/X11R6/lib -lfontconfig -lxinerama" --without-libtiff
371	cd $(GTK_DIR) && $(ENDIAN_FIX)
372	-$(MV) "$(PREFIX_DIR)"/lib/libjpeg.dylib "$(PREFIX_DIR)"/lib/libjpeg.dylib.xxx
373	-$(MV) "$(PREFIX_DIR)"/lib/libpng.dylib "$(PREFIX_DIR)"/lib/libpng.dylib.xxx
374	cd $(GTK_DIR) && $(DESTDIR_FIX)
375	$(MAKE) -C $(GTK_DIR)
376	$(MAKE) -C $(GTK_DIR) install-strip
377	$(SED) -ibak "s:dependency_libs='':dependency_libs='-L/usr/X11R6/lib -lX11 -lXinerama':" "$(PREFIX_DIR)"/lib/libgdk-x11-2.0.la
378
379gtk-pkg:
380	$(RM) -r $(ROOT_DIR)/pkg_out
381	$(MAKE) -C $(GTK_DIR) install-strip prefix=$(ROOT_DIR)/pkg_out
382	-cd $(ROOT_DIR)/pkg_out && $(PACKAGE_PREP)
383	$(SED) "s/@PACKAGE@/gtk/g;s/@VERSION@/$(GTK_VER)/;" < package.info > gtk.info
384	$(PACKAGE) $(ROOT_DIR)/pkg_out gtk.info -r PkgResource -bzip
385	#$(RM) -r $(ROOT_DIR)/pkg_out
386	mv $(ROOT_DIR)/gtk.pkg packages
387
388gtk-clean:
389	$(MAKE) -C $(GTK_DIR) clean
390
391gtk+-$(GTK_VER):
392	$(CURL) $(GTK_DL) -o gtk+-$(GTK_VER).tar.bz2
393	$(UNTARJ) gtk+-$(GTK_VER).tar.bz2
394
395libjpeg:
396	cd $(LIBJPEG_DIR) && ./configure $(CONFIG_FLAGS)
397	$(CP) $(GLIB_DIR)/libtool $(LIBJPEG_DIR)
398	$(MAKE) -C $(LIBJPEG_DIR)
399	$(MAKE) -C $(LIBJPEG_DIR) install
400	$(MV) "$(PREFIX_DIR)"/lib/libjpeg.dylib "$(PREFIX_DIR)"/lib/libjpeg.dylib.xxx
401#	$(RM) "$(PREFIX_DIR)"/lib/libjpeg.dylib
402
403libjpeg-pkg:
404	$(RM) -r $(ROOT_DIR)/pkg_out
405	$(MKDIR) $(ROOT_DIR)/pkg_out
406	$(MKDIR) $(ROOT_DIR)/pkg_out/include
407	$(MKDIR) $(ROOT_DIR)/pkg_out/lib
408	$(MKDIR) $(ROOT_DIR)/pkg_out/bin
409	$(MKDIR) $(ROOT_DIR)/pkg_out/man
410	$(MKDIR) $(ROOT_DIR)/pkg_out/man/man1
411	$(MKDIR) $(ROOT_DIR)/pkg_out/share
412	$(MAKE) -C $(LIBJPEG_DIR) install prefix=$(ROOT_DIR)/pkg_out
413	-cd $(ROOT_DIR)/pkg_out && $(PACKAGE_PREP)
414	$(SED) "s/@PACKAGE@/libjpeg/g;s/@VERSION@/$(LIBJPEG_VER)/;" < package.info > libjpeg.info
415	$(PACKAGE) $(ROOT_DIR)/pkg_out libjpeg.info -r PkgResource -bzip
416	$(RM) -r $(ROOT_DIR)/pkg_out
417	mv $(ROOT_DIR)/libjpeg.pkg packages
418
419libjpeg-clean:
420	$(MAKE) -C $(LIBJPEG_DIR) clean
421
422
423libtiff:
424	MAKE=make && cd $(LIBTIFF_DIR) && ./configure --prefix="$(PREFIX_DIR)" --noninteractive --with-CC="$(CC3)" --with-CFLAGS="$(CFLAGS)"
425	$(MAKE) -C $(LIBTIFF_DIR) -e
426	$(MAKE) -C $(LIBTIFF_DIR) install
427
428libtiff-pkg:
429	$(RM) -r $(ROOT_DIR)/pkg_out
430	$(MAKE) -C $(LIBTIFF_DIR) install-strip prefix=$(ROOT_DIR)/pkg_out
431	-cd $(ROOT_DIR)/pkg_out && $(PACKAGE_PREP)
432	$(SED) "s/@PACKAGE@/libtiff/g;s/@VERSION@/$(LIBTIFF_VER)/;" < package.info > libtiff.info
433	$(PACKAGE) $(ROOT_DIR)/pkg_out libtiff.info -r PkgResource -bzip
434	$(RM) -r $(ROOT_DIR)/pkg_out
435	mv $(ROOT_DIR)/libtiff.pkg packages
436
437libtiff-clean:
438	$(MAKE) -C $(LIBTIFF_DIR) clean
439
440#LDFLAGS=-L"$(PREFIX_DIR)"/lib -prebind -flat_namespace # -fcoalesce-templates
441
442libsigc:
443	#cd $(LIBSIGC_DIR) && ./configure $(CONFIG_FLAGS) LDFLAGS="$(LDFLAGS) -lstdc++ -lsupc++" "CC=g++ $(CFLAGS)"
444	cd $(LIBSIGC_DIR) && ./configure $(CONFIG_FLAGS) LDFLAGS="$(LDFLAGS) -lstdc++" "CC=g++ $(CFLAGS)"
445	cd $(LIBSIGC_DIR) && $(ENDIAN_FIX)
446	$(MAKE) -C $(LIBSIGC_DIR)
447	$(MAKE) -C $(LIBSIGC_DIR) install-strip
448
449libsigc-pkg:
450	$(RM) -r $(ROOT_DIR)/pkg_out
451	$(MAKE) -C $(LIBSIGC_DIR) install-strip prefix=$(ROOT_DIR)/pkg_out
452	-cd $(ROOT_DIR)/pkg_out && $(PACKAGE_PREP)
453	$(SED) "s/@PACKAGE@/libsigc/g;s/@VERSION@/$(LIBSIGC_VER)/;" < package.info > libsigc.info
454	$(PACKAGE) $(ROOT_DIR)/pkg_out libsigc.info -r PkgResource -bzip
455	$(RM) -r $(ROOT_DIR)/pkg_out
456	mv $(ROOT_DIR)/libsigc.pkg packages
457
458libsigc-clean:
459	$(MAKE) -C $(LIBSIGC_DIR) clean
460
461
462glibmm: glibmm-$(GLIBMM_VER)
463	#cd $(GLIBMM_DIR) && ./configure $(CONFIG_FLAGS) "LDFLAGS=$(LDFLAGS) -L/usr/X11R6/lib -lXinerama -lstdc++ -lsupc++"  "CC=g++ $(CFLAGS)"
464	cd $(GLIBMM_DIR) && ./configure $(CONFIG_FLAGS) "LDFLAGS=$(LDFLAGS) -L/usr/X11R6/lib -lXinerama -lstdc++"  "CC=g++ $(CFLAGS)"
465	cd $(GLIBMM_DIR) && $(ENDIAN_FIX)
466	cd $(GLIBMM_DIR) && $(DESTDIR_FIX)
467	$(MAKE) -C $(GLIBMM_DIR)
468	$(MAKE) -C $(GLIBMM_DIR) install-strip
469
470glibmm-pkg:
471	$(RM) -r $(ROOT_DIR)/pkg_out
472	$(MAKE) -C $(GLIBMM_DIR) install-strip prefix=$(ROOT_DIR)/pkg_out
473	-cd $(ROOT_DIR)/pkg_out && $(PACKAGE_PREP)
474	$(SED) "s/@PACKAGE@/glibmm/g;s/@VERSION@/$(GLIBMM_VER)/;" < package.info > glibmm.info
475	$(PACKAGE) $(ROOT_DIR)/pkg_out glibmm.info -r PkgResource -bzip
476	$(RM) -r $(ROOT_DIR)/pkg_out
477	mv $(ROOT_DIR)/glibmm.pkg packages
478
479gibmm-clean:
480	$(MAKE) -C $(GLIBMM_DIR) clean
481
482glibmm-$(GLIBMM_VER):
483	$(CURL) $(GLIBMM_DL) -o glibmm-$(GLIBMM_VER).tar.gz
484	$(UNTARZ) glibmm-$(GLIBMM_VER).tar.gz
485
486
487gtkmm: gtkmm-$(GTKMM_VER)
488	#cd $(GTKMM_DIR) && ./configure $(CONFIG_FLAGS) "LDFLAGS=$(LDFLAGS) -L/usr/X11R6/lib -lXinerama -lstdc++ -lsupc++"  "CC=g++ $(CFLAGS)" --enable-examples=no --enable-demos=no --enable-docs=no
489	cd $(GTKMM_DIR) && ./configure $(CONFIG_FLAGS) "LDFLAGS=$(LDFLAGS) -L/usr/X11R6/lib -lXinerama -lstdc++"  "CC=g++ $(CFLAGS)"
490	cd $(GTKMM_DIR) && $(DESTDIR_FIX)
491	$(MAKE) -C $(GTKMM_DIR)
492	$(MAKE) -C $(GTKMM_DIR) install-strip
493
494gtkmm-pkg:
495	$(RM) -r $(ROOT_DIR)/pkg_out
496	$(MAKE) -C $(GTKMM_DIR) install-strip prefix=$(ROOT_DIR)/pkg_out
497	-cd $(ROOT_DIR)/pkg_out && $(PACKAGE_PREP)
498	$(SED) "s/@PACKAGE@/gtkmm/g;s/@VERSION@/$(GTKMM_VER)/;" < package.info > gtkmm.info
499	$(PACKAGE) $(ROOT_DIR)/pkg_out gtkmm.info -r PkgResource -bzip
500	$(RM) -r $(ROOT_DIR)/pkg_out
501	mv $(ROOT_DIR)/gtkmm.pkg packages
502
503gtkmm-clean:
504	$(MAKE) -C $(GTKMM_DIR) clean
505
506gtkmm-$(GTKMM_VER):
507	$(CURL) $(GTKMM_DL) -o gtkmm-$(GTKMM_VER).tar.gz
508	$(UNTARZ) gtkmm-$(GTKMM_VER).tar.gz
509
510
511libsigc2: libsigc++-$(LIBSIGC2_VER)
512	#cd $(LIBSIGC2_DIR) && ./configure $(CONFIG_FLAGS) LDFLAGS="$(LDFLAGS) -lstdc++ -lsupc++" "CC=g++ $(CFLAGS)"
513	cd $(LIBSIGC2_DIR) && ./configure $(CONFIG_FLAGS) LDFLAGS="$(LDFLAGS) -lstdc++" "CC=g++ $(CFLAGS)"
514	cd $(LIBSIGC2_DIR) && $(ENDIAN_FIX)
515	$(MAKE) -C $(LIBSIGC2_DIR)
516	$(MAKE) -C $(LIBSIGC2_DIR) install-strip
517
518libsigc2-pkg:
519	$(RM) -r $(ROOT_DIR)/pkg_out
520	$(MAKE) -C $(LIBSIGC2_DIR) install-strip prefix=$(ROOT_DIR)/pkg_out
521	-cd $(ROOT_DIR)/pkg_out && $(PACKAGE_PREP)
522	$(SED) "s/@PACKAGE@/libsigc2/g;s/@VERSION@/$(LIBSIGC2_VER)/;" < package.info > libsigc2.info
523	$(PACKAGE) $(ROOT_DIR)/pkg_out libsigc2.info -r PkgResource -bzip
524	$(RM) -r $(ROOT_DIR)/pkg_out
525	mv $(ROOT_DIR)/libsigc2.pkg packages
526
527libsigc2-clean:
528	$(MAKE) -C $(LIBSIGC2_DIR) clean
529
530libsigc++-$(LIBSIGC2_VER):
531	$(CURL) $(LIBSIGC2_DL) -o libsigc2-$(LIBSIGC2_VER).tar.gz
532	$(UNTARZ) libsigc2-$(LIBSIGC2_VER).tar.gz
533
534LDFLAGS=-L"$(PREFIX_DIR)"/lib -prebind -prebind_all_twolevel_modules -twolevel_namespace -bind_at_load
535CONFIG_FLAGS=--prefix="$(PREFIX_DIR)" --disable-static --enable-shared "CC=$(CC)" "CXX=$(CXX)" "CXXCPP=$(CXXCPP)" "PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)" "LDFLAGS=$(LDFLAGS)" "MACOSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET)"
536
537libxml2:
538	cd $(LIBXML2_DIR) && ./configure $(CONFIG_FLAGS)
539	cd $(LIBXML2_DIR) && $(ENDIAN_FIX)
540	cd $(LIBXML2_DIR) && $(DESTDIR_FIX)
541	$(MAKE) -C $(LIBXML2_DIR)
542	$(MAKE) -C $(LIBXML2_DIR) install-strip
543
544libxml2-pkg:
545	$(RM) -r $(ROOT_DIR)/pkg_out
546	$(MAKE) -C $(LIBXML2_DIR) install-strip prefix=$(ROOT_DIR)/pkg_out
547	-cd $(ROOT_DIR)/pkg_out && $(PACKAGE_PREP)
548	$(SED) "s/@PACKAGE@/libxml2/g;s/@VERSION@/$(LIBXML2_VER)/;" < package.info > libxml2.info
549	$(PACKAGE) $(ROOT_DIR)/pkg_out libxml2.info -r PkgResource -bzip
550	$(RM) -r $(ROOT_DIR)/pkg_out
551	mv $(ROOT_DIR)/libxml2.pkg packages
552
553libxml2-clean:
554	$(MAKE) -C $(LIBXML2_DIR) clean
555
556
557fontconfig:
558	cd $(FONTCONFIG_DIR) && ./configure $(CONFIG_FLAGS) --disable-docs --without-docdir HASDOCBOOK=no
559	cd $(FONTCONFIG_DIR) && $(ENDIAN_FIX)
560	cd $(FONTCONFIG_DIR) && $(DESTDIR_FIX)
561	$(MAKE) -C $(FONTCONFIG_DIR)
562	$(MAKE) -C $(FONTCONFIG_DIR) install-strip
563
564fontconfig-pkg:
565	$(RM) -r $(ROOT_DIR)/pkg_out
566	$(MAKE) -C $(FONTCONFIG_DIR) install-strip prefix=$(ROOT_DIR)/pkg_out
567	-cd $(ROOT_DIR)/pkg_out && $(PACKAGE_PREP)
568	$(SED) "s/@PACKAGE@/fontconfig/g;s/@VERSION@/$(FONTCONFIG_VER)/;" < package.info > fontconfig.info
569	$(PACKAGE) $(ROOT_DIR)/pkg_out fontconfig.info -r PkgResource -bzip
570	$(RM) -r $(ROOT_DIR)/pkg_out
571	mv $(ROOT_DIR)/fontconfig.pkg packages
572
573fontconfig-clean:
574	$(MAKE) -C $(FONTCONFIG_DIR) clean
575
576LDFLAGS=-L"$(PREFIX_DIR)"/lib -prebind -prebind_all_twolevel_modules -twolevel_namespace -bind_at_load
577CONFIG_FLAGS=--prefix="$(PREFIX_DIR)" --disable-static --enable-shared "CC=$(CC)" "CXX=$(CXX)" "CXXCPP=$(CXXCPP)" "PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)" "LDFLAGS=$(LDFLAGS)" "MACOSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET)"
578
579libxmlpp: $(LIBXMLPP_DIR)
580	cd $(LIBXMLPP_DIR) && ./configure $(CONFIG_FLAGS)
581	cd $(LIBXMLPP_DIR) && $(ENDIAN_FIX)
582	cd $(LIBXMLPP_DIR) && $(DESTDIR_FIX)
583	$(MAKE) -C $(LIBXMLPP_DIR)
584	$(MAKE) -C $(LIBXMLPP_DIR) install-strip
585
586libxmlpp-pkg:
587	$(RM) -r $(ROOT_DIR)/pkg_out
588	$(MAKE) -C $(LIBXMLPP_DIR) install-strip prefix=$(ROOT_DIR)/pkg_out
589	-cd $(ROOT_DIR)/pkg_out && $(PACKAGE_PREP)
590	$(SED) "s/@PACKAGE@/libxmlpp/g;s/@VERSION@/$(LIBXMLPP_VER)/;" < package.info > libxmlpp.info
591	$(PACKAGE) $(ROOT_DIR)/pkg_out libxmlpp.info -r PkgResource -bzip
592	$(RM) -r $(ROOT_DIR)/pkg_out
593	mv $(ROOT_DIR)/libxmlpp.pkg packages
594
595libxmlpp-clean:
596	$(MAKE) -C $(LIBXMLPP_DIR) clean
597
598$(LIBXMLPP_DIR):
599	$(CURL) $(LIBXMLPP_DL) -o libxmlpp-$(LIBXMLPP_VER).tar.gz
600	$(UNTARZ) libxmlpp-$(LIBXMLPP_VER).tar.gz
601
602.PHONY: package
603