4 # Architecture dependant stuff
7 datadir="$(HOMEDRIVE)/Documents\ and\ Settings/$(USERNAME)/Application\ Data"
9 TEST_OBJECTS+=$(X264GTK_O)
13 datadir=${prefix}/share
18 XGETTEXT=xgettext$(EXE)
20 ENCODE_BIN = x264_gtk_encode$(EXE)
23 PO_FILES = $(shell ls *.po)
24 MO_FILES = $(PO_FILES:%.po=%.mo)
25 ALL_LINGUAS = $(PO_FILES:%.po=%)
39 x264_gtk_encode_encode.o \
40 x264_gtk_encode_main_window.o \
41 x264_gtk_encode_status_window.o \
44 OBJECTS_ALL = $(OBJECTS_LIB) $(OBJECTS_TEST) $(OBJECTS_ENCODE)
45 SOURCES_ALL = $(OBJECTS_ALL:%.o=%.c)
47 X264GTK_PC = x264gtk.pc
49 EXTERNAL_DEPS= ../muxers.o ../matroska.o ../libx264.a
52 all: $(ENCODE_BIN) $(TEST_BIN) $(MO_FILES) $(X264GTK_PC)
54 # Already provides iconv/intl
55 CPPFLAGS = -g `pkg-config --cflags gtk+-2.0 gthread-2.0` -I.. -DX264_DATA_DIR=\"${datadir}\"
56 LDFLAGS += `pkg-config --libs gtk+-2.0 gthread-2.0` ../libx264.a
60 x264_gtk.pot: $(SOURCES_ALL)
61 @echo " T: x264_gtk.pot"
62 @$(XGETTEXT) -o x264_gtk.pot -k'_' -s --from-code iso-8859-1 \
63 --default-domain=x264_gtk $(SOURCES_ALL)
65 %.mo: %.po x264_gtk.pot
67 @msgmerge --update $< x264_gtk.pot
73 @echo " C: $(@D)/$(<F)"
74 @$(CC) -c $(CPPFLAGS) $(CFLAGS) $< -o $@
78 @echo " C: $(@D)/$(<F)"
83 # Creation of the icon pixmap
85 @gdk-pixbuf-csource --name=x264_icon --stream x264.ico > x264_icon.h
89 libx264gtk.a: $(OBJECTS_LIB)
91 @ar rc libx264gtk.a $(OBJECTS_LIB)
94 $(SONAMEGTK): $(OBJECTS_LIB)
96 @$(CC) -shared -o $@ $(OBJECTS_LIB) -Wl,-soname,$(SONAMEGTK) $(LDFLAGS)
99 $(TEST_BIN): $(OBJECTS_LIB) $(OBJECTS_TEST)
102 @$(CC) -o $(TEST_BIN) $(OBJECTS_LIB) $(OBJECTS_TEST) $(LDFLAGS) $(ICONV_LIB)
104 # Program : x264_gtk_encode
105 $(ENCODE_BIN): x264_icon.h libx264gtk.a $(SONAMEGTK) $(OBJECTS_ENCODE) $(EXTERNAL_DEPS) $(X264GTK_O)
107 @$(CC) -o $(ENCODE_BIN) $(OBJECTS_LIB) $(OBJECTS_ENCODE) $(EXTERNAL_DEPS) $(LDFLAGS) $(X264GTK_O)
111 @echo " S: $(X264GTK_PC)"
113 @echo "prefix=$(DESTDIR)${prefix}" > $(X264GTK_PC)
114 @echo "exec_prefix=$(DESTDIR)${exec_prefix}" >> $(X264GTK_PC)
115 @echo "libdir=$(DESTDIR)${libdir}" >> $(X264GTK_PC)
116 @echo "includedir=$(DESTDIR)${includedir}" >> $(X264GTK_PC)
117 @echo "" >> $(X264GTK_PC)
118 @echo "Name: Gtk+ interface for X264" >> $(X264GTK_PC)
119 @echo "Description: Gtk+ interface to configure X264" >> $(X264GTK_PC)
120 @echo "Requires: x264" >> $(X264GTK_PC)
121 @echo "Version: 0.1" >> $(X264GTK_PC)
122 @echo "Libs: -L$(DESTDIR)$(libdir) -lx264gtk" >> $(X264GTK_PC)
123 @echo "Cflags: -I$(DESTDIR)$(includedir)" >> $(X264GTK_PC)
127 @rm -f *.o *.mo x264_gtk.pot $(TEST_BIN) $(ENCODE_BIN) libx264gtk.a $(SONAMEGTK) x264_icon.h
131 @rm -f config.mak $(X264GTK_PC)
134 install: $(ENCODE_BIN)
135 @echo " D: $(DESTDIR)$(includedir)"
136 @install -d "$(DESTDIR)$(includedir)"
137 @echo " I: $(DESTDIR)$(includedir)/x264_gtk.h"
138 @install -m 644 x264_gtk.h "$(DESTDIR)$(includedir)"
139 @echo " I: $(DESTDIR)$(includedir)/x264_gtk_enum.h"
140 @install -m 644 x264_gtk_enum.h "$(DESTDIR)$(includedir)"
141 @echo " D: $(DESTDIR)$(libdir)"
142 @install -d "$(DESTDIR)$(libdir)"
143 @echo " I: $(DESTDIR)$(libdir)/libx264gtk.a"
144 @install -m 644 libx264gtk.a "$(DESTDIR)$(libdir)"
145 @echo " I: $(DESTDIR)$(libdir)/libx264gtk.so"
146 @$(if $(SONAMEGTK), ln -sf $(SONAMEGTK) $(DESTDIR)$(libdir)/libx264gtk.so)
147 @$(if $(SONAMEGTK), install -m 755 $(SONAMEGTK) $(DESTDIR)$(libdir))
148 @echo " D: $(DESTDIR)$(bindir)"
149 @install -d "$(DESTDIR)$(bindir)"
150 @echo " I: $(DESTDIR)$(bindir)/$(ENCODE_BIN)"
151 @install $(ENCODE_BIN) "$(DESTDIR)$(bindir)"
152 @echo " D: $(DESTDIR)${datadir}/x264"
153 @install -d "$(DESTDIR)${datadir}/x264"
154 @echo " I: $(DESTDIR)${datadir}/x264/x264.png"
155 @install -m 644 x264.png "$(DESTDIR)${datadir}/x264"
156 @for L in $(ALL_LINGUAS); do \
157 echo " D: $(DESTDIR)${prefix}/share/locale/$$L/LC_MESSAGES"; \
158 install -d "$(DESTDIR)${prefix}/share/locale/$$L/LC_MESSAGES"; \
159 echo " I: $(DESTDIR)${prefix}/share/locale/$$L/LC_MESSAGES/x264_gtk.mo"; \
160 install -m 644 $$L.mo "$(DESTDIR)${prefix}/share/locale/$$L/LC_MESSAGES/x264_gtk.mo"; \
162 @echo " D: $(DESTDIR)${libdir}/pkgconfig"
163 @install -d "$(DESTDIR)${libdir}/pkgconfig"
164 @echo " I: $(DESTDIR)${libdir}/pkgconfig/$(X264GTK_PC)"
165 @install -m 644 $(X264GTK_PC) "$(DESTDIR)${libdir}/pkgconfig"
169 @echo " U: $(DESTDIR)$(includedir)/x264_gtk.h"
170 @rm -f "$(DESTDIR)$(includedir)/x264_gtk.h"
171 @echo " U: $(DESTDIR)$(includedir)/x264_gtk_enum.h"
172 @rm -f "$(DESTDIR)$(includedir)/x264_gtk_enum.h"
173 @echo " U: $(DESTDIR)$(libdir)/libx264gtk.a"
174 @rm -f "$(DESTDIR)$(libdir)/libx264gtk.a"
175 @echo " U: $(DESTDIR)$(libdir)/libx264gtk.so"
176 @$(if $(SONAMEGTK), rm -f "$(DESTDIR)$(libdir)/$(SONAMEGTK)")
177 @rm -f "$(DESTDIR)$(libdir)/libx264gtk.so"
178 @echo " U: $(DESTDIR)$(bindir)/$(ENCODE_BIN)"
179 @rm -f "$(DESTDIR)$(bindir)/$(ENCODE_BIN)"
180 @echo " U: $(DESTDIR)${datadir}/x264"
181 @rm -rf "$(DESTDIR)${datadir}/x264"
182 @for L in $(ALL_LINGUAS); do \
183 echo " U: $(DESTDIR)${prefix}/share/locale/$$L/LC_MESSAGES/x264_gtk.mo"; \
184 rm -f "$(DESTDIR)${prefix}/share/locale/$$L/LC_MESSAGES/x264_gtk.mo"; \
186 @echo " U: $(DESTDIR)${libdir}/pkgconfig/$(X264GTK_PC)"
187 @rm -f "$(DESTDIR)${libdir}/pkgconfig/$(X264GTK_PC)"
190 x264_gtk.o: x264_gtk.h x264gtk.rc x264.ico x264_gtk_bitrate.h x264_gtk_bitrate.o x264_gtk_rc.h x264_gtk_rc.o x264_gtk_mb.h x264_gtk_mb.o x264_gtk_more.h x264_gtk_more.o x264_gtk_cqm.h x264_gtk_cqm.o x264_gtk_i18n.h
191 x264_gtk_bitrate.o: x264_gtk_private.h x264_gtk_enum.h x264_gtk_bitrate.c x264_gtk_i18n.h
192 x264_gtk_rc.o: x264_gtk_private.h x264_gtk_rc.c x264_gtk_i18n.h
193 x264_gtk_mb.o: x264_gtk_private.h x264_gtk_mb.c x264_gtk_i18n.h
194 x264_gtk_more.o: x264_gtk_private.h x264_gtk_more.c x264_gtk_i18n.h
195 x264_gtk_cqm.o: x264_gtk_private.h x264_gtk_cqm.c x264_gtk_i18n.h
196 x264_gtk_encode_encode.o: x264_gtk_encode_private.h x264_gtk_encode_encode.c x264_gtk_i18n.h
197 x264_gtk_encode_status_window.o: x264_gtk_encode_private.h x264_gtk_encode_status_window.c x264_gtk_demuxers.h x264_gtk_i18n.h
198 x264_gtk_encode_main_window.o: x264_gtk_encode_private.h x264_gtk_encode_encode.o x264_gtk_encode_status_window.o x264_gtk.o x264_gtk_encode_main_window.c x264_gtk_demuxers.h x264_gtk_i18n.h
199 x264_gtk_encode.o: x264_gtk_encode_main_window.o x264_gtk_encode.c x264_gtk_i18n.h
200 test.o: x264_gtk.o test.c x264_gtk_i18n.h