Makefile.am 9.65 KB
Newer Older
1
## Makefile.am for gtk+/gdk
2
include $(top_srcdir)/Makefile.decl
3
-include $(INTROSPECTION_MAKEFILE)
Johan Dahlin's avatar
Johan Dahlin committed
4 5
INTROSPECTION_GIRS =
INTROSPECTION_SCANNER_ARGS = \
6
   --add-include-path=../gdk
Johan Dahlin's avatar
Johan Dahlin committed
7 8
INTROSPECTION_COMPILER_ARGS = \
   --includedir=$(srcdir) \
9
   --includedir=.
Elliot Lee's avatar
Elliot Lee committed
10

11
SUBDIRS = $(gdktarget) . tests
Benjamin Otte's avatar
Benjamin Otte committed
12
DIST_SUBDIRS = win32 x11 quartz tests
Tor Lillqvist's avatar
Tor Lillqvist committed
13

14 15
CLEANFILES =

16
EXTRA_DIST +=			\
17 18 19
	keynames.txt		\
	keyname-table.h		\
	gen-keyname-table.pl	\
20
	gdkconfig.h.win32 	\
21
	gdkkeysyms-update.pl	\
22
	gdk.def 		\
23
	gdkmarshalers.list	\
24
	gdkmedialib.h		\
25
	gdkwindowimpl.h		\
Tim Janik's avatar
Tim Janik committed
26
	makeenums.pl		\
27 28
	makefile.msc		\
	gdk.symbols		\
29 30
	gdkenumtypes.c.template	\
	gdkenumtypes.h.template	\
31
	abicheck.sh
32

33
INCLUDES =                              \
Owen Taylor's avatar
Owen Taylor committed
34
	-DG_LOG_DOMAIN=\"Gdk\"		\
Manish Singh's avatar
Manish Singh committed
35
	-DGDK_COMPILATION		\
Owen Taylor's avatar
Owen Taylor committed
36 37
	-I$(top_srcdir)			\
	-I$(top_builddir)/gdk		\
38 39
	$(GTK_DEBUG_FLAGS) 		\
	$(GDK_DEP_CFLAGS)
40

41
gtarget=$(gdktarget)
Elliot Lee's avatar
Elliot Lee committed
42

Tor Lillqvist's avatar
Tor Lillqvist committed
43 44 45 46
if PLATFORM_WIN32
no_undefined = -no-undefined
endif

47
# libtool stuff: set version and export symbols for resolving
48 49
# since automake doesn't support conditionalized libsomething_la_LDFLAGS
# we use the general approach here
50
LDADD = \
51
	$(GTK_LINK_FLAGS)						\
52
	-version-info $(LT_VERSION_INFO)		 		\
Owen Taylor's avatar
Owen Taylor committed
53 54 55
	-export-dynamic 						\
	-rpath $(libdir) 						\
	$(no_undefined)							\
56 57
	$(LIBTOOL_EXPORT_OPTIONS)

58 59 60 61 62 63
if USE_MEDIALIB
medialib_sources =  \
    gdkmedialib.c
else
medialib_sources =
endif
64 65 66 67

#
# setup source file variables
#
Owen Taylor's avatar
Started  
Owen Taylor committed
68
#
69
# GDK header files for public installation (non-generated)
Owen Taylor's avatar
Started  
Owen Taylor committed
70
#
71
gdk_public_h_sources =				\
72
	gdk.h					\
73
	gdkapplaunchcontext.h			\
74
	gdkcairo.h				\
75 76
	gdkcolor.h				\
	gdkcursor.h				\
77 78
	gdkdevice.h				\
	gdkdevicemanager.h			\
79
	gdkdisplay.h				\
80
	gdkdisplaymanager.h			\
81 82 83 84 85
	gdkdnd.h				\
	gdkdrawable.h				\
	gdkevents.h				\
	gdkinput.h				\
	gdkkeys.h				\
86
	gdkkeysyms.h				\
87 88 89
	gdkpango.h				\
	gdkpixbuf.h				\
	gdkpixmap.h				\
90
	gdkprivate.h				\
91
	gdkproperty.h				\
92
	gdkscreen.h				\
93
	gdkselection.h				\
94
	gdkspawn.h				\
95
	gdktestutils.h				\
96 97
	gdktypes.h				\
	gdkvisual.h				\
98
	gdkwindow.h
99

100 101 102
gdk_built_public_sources =			\
	gdkenumtypes.h

103 104 105 106
gdk_private_headers =				\
	gdkinternals.h				\
	gdkdeviceprivate.h			\
	gdkintl.h				\
Benjamin Otte's avatar
Benjamin Otte committed
107
	gdkpoly-generic.h
108

109
gdk_c_sources =                 \
110
	$(medialib_sources)     \
111
	gdk.c			\
112
	gdkapplaunchcontext.c	\
113
	gdkcairo.c		\
114 115
	gdkcolor.c		\
	gdkcursor.c		\
116 117
	gdkdevice.c		\
	gdkdevicemanager.c	\
118
	gdkdisplay.c		\
119
	gdkdisplaymanager.c	\
120
	gdkdnd.c		\
121 122 123
	gdkdraw.c		\
	gdkevents.c     	\
	gdkglobals.c		\
124 125
	gdkkeys.c		\
	gdkkeyuni.c		\
126
	gdkoffscreenwindow.c	\
127
	gdkpango.c		\
Owen Taylor's avatar
Owen Taylor committed
128 129
	gdkpixbuf-drawable.c	\
	gdkpixbuf-render.c	\
130
	gdkpixmap.c		\
131
	gdkrectangle.c		\
132
	gdkscreen.c		\
133 134
	gdkselection.c		\
	gdkvisual.c		\
135 136
	gdkwindow.c		\
	gdkwindowimpl.c
137

138 139 140 141
gdk_built_sources =				\
	gdkenumtypes.c				\
	gdkmarshalers.h 			\
	gdkmarshalers.c				\
142
	$(gdk_built_public_sources)
143

144
#
145
# setup GDK sources and their dependencies
146
#
147

148
gdkincludedir = $(includedir)/gtk-3.0/gdk
149
gdkinclude_HEADERS = $(gdk_public_h_sources) $(gdk_built_public_sources)
150

Matthias Clasen's avatar
Matthias Clasen committed
151 152 153
common_sources = 		\
	$(gdk_private_headers)	\
	$(gdk_c_sources)	\
154
	gdkenumtypes.c		\
155
	gdkmarshalers.c		\
156
	gdkmarshalers.h
157

158
libgdk_x11_3_0_la_SOURCES = $(common_sources)
159
libgdk_x11_3_0_la_LIBADD = x11/libgdk-x11.la $(GDK_DEP_LIBS)
160
libgdk_x11_3_0_la_LDFLAGS = $(LDADD)
161

162
libgdk_quartz_3_0_la_SOURCES = $(common_sources) gdkkeynames.c
163
libgdk_quartz_3_0_la_LIBADD = quartz/libgdk-quartz.la $(GDK_DEP_LIBS)
164
libgdk_quartz_3_0_la_LDFLAGS = $(LDADD)
Anders Carlsson's avatar
Anders Carlsson committed
165

166
libgdk_win32_3_0_la_SOURCES = $(common_sources) gdkkeynames.c
167
libgdk_win32_3_0_la_LIBADD = win32/libgdk-win32.la $(GDK_DEP_LIBS)
168 169
libgdk_win32_3_0_la_DEPENDENCIES = win32/libgdk-win32.la win32/rc/gdk-win32-res.o gdk.def
libgdk_win32_3_0_la_LDFLAGS = -Wl,win32/rc/gdk-win32-res.o -export-symbols $(srcdir)/gdk.def $(LDADD)
170

171 172
if HAVE_INTROSPECTION

Matthias Clasen's avatar
Matthias Clasen committed
173 174 175 176
introspection_files = 		\
	$(gdk_public_h_sources)	\
	$(gdk_c_sources)	\
        gdkenumtypes.c		\
177
        gdkenumtypes.h
178

179
Gdk-3.0.gir: $(gdktargetlib) Makefile
180
Gdk_3_0_gir_SCANNERFLAGS = --warn-all
181
Gdk_3_0_gir_INCLUDES = Gio-2.0 GdkPixbuf-2.0 Pango-1.0 cairo-1.0
182
Gdk_3_0_gir_LIBS = $(gdktargetlib)
183
Gdk_3_0_gir_FILES = $(introspection_files)
184 185
Gdk_3_0_gir_CFLAGS = $(INCLUDES)
INTROSPECTION_GIRS += Gdk-3.0.gir
186

187
if USE_X11
Matthias Clasen's avatar
Matthias Clasen committed
188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224
x11_introspection_files = 		\
	x11/checksettings.c		\
	x11/gdkapplaunchcontext-x11.c	\
	x11/gdkasync.c			\
	x11/gdkcolor-x11.c		\
	x11/gdkcursor-x11.c		\
	x11/gdkdevice-core.c		\
	x11/gdkdevicemanager-core.c	\
	x11/gdkdevicemanager-x11.c	\
	x11/gdkdevicemanager-xi2.c	\
	x11/gdkdevicemanager-xi.c	\
	x11/gdkdevice-xi2.c		\
	x11/gdkdevice-xi.c		\
	x11/gdkdisplay-x11.c		\
	x11/gdkdnd-x11.c		\
	x11/gdkdrawable-x11.c		\
	x11/gdkeventsource.c		\
	x11/gdkeventtranslator.c	\
	x11/gdkgeometry-x11.c		\
	x11/gdkglobals-x11.c		\
	x11/gdkim-x11.c			\
	x11/gdkinput.c			\
	x11/gdkkeys-x11.c		\
	x11/gdkmain-x11.c		\
	x11/gdkpixmap-x11.c		\
	x11/gdkproperty-x11.c		\
	x11/gdkscreen-x11.c		\
	x11/gdkselection-x11.c		\
	x11/gdksettings.c		\
	x11/gdkspawn-x11.c		\
	x11/gdktestutils-x11.c		\
	x11/gdkvisual-x11.c		\
	x11/gdkwindow-x11.c		\
	x11/gdkxftdefaults.c		\
	x11/gdkxid.c			\
	x11/xsettings-client.c		\
	x11/xsettings-common.c		\
225 226
        x11/gdkx.h

Colin Walters's avatar
Colin Walters committed
227
GdkX11-3.0.gir: $(gdktargetlib) Gdk-3.0.gir Makefile
228
GdkX11_3_0_gir_SCANNERFLAGS = --warn-all --identifier-prefix=Gdk --symbol-prefix=gdk
229
GdkX11_3_0_gir_INCLUDES = Gio-2.0 Gdk-3.0 GdkPixbuf-2.0 Pango-1.0 xlib-2.0
230
GdkX11_3_0_gir_LIBS = $(gdktargetlib)
231
GdkX11_3_0_gir_FILES = $(x11_introspection_files)
Matthias Clasen's avatar
Matthias Clasen committed
232
GdkX11_3_0_gir_CFLAGS = $(INCLUDES) -L$(top_builddir)/gdk
233 234 235
INTROSPECTION_GIRS += GdkX11-3.0.gir
endif # USE_X11

236
girdir = $(datadir)/gir-1.0
Javier Jardon's avatar
Javier Jardon committed
237
gir_DATA = $(INTROSPECTION_GIRS)
238

239
typelibsdir = $(libdir)/girepository-1.0
240
typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
241

Javier Jardon's avatar
Javier Jardon committed
242
CLEANFILES += $(gir_DATA) $(typelibs_DATA)
243 244

endif # HAVE_INTROSPECTION
245

246
if OS_WIN32
247
install-def-file: gdk.def
248
	$(INSTALL) $(srcdir)/gdk.def $(DESTDIR)$(libdir)/gdk-win32-3.0.def
249
uninstall-def-file:
250
	-rm $(DESTDIR)$(libdir)/gdk-win32-3.0.def
251
else
252 253
install-def-file:
uninstall-def-file:
254 255 256 257 258 259
endif

if MS_LIB_AVAILABLE
noinst_DATA = gdk-win32-$(GTK_API_VERSION).lib

gdk-win32-$(GTK_API_VERSION).lib: libgdk-win32-$(GTK_API_VERSION).la gdk.def
260
	lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgdk-win32-$(GTK_API_VERSION)-@LT_CURRENT_MINUS_AGE@.dll -def:gdk.def -out:$@
261 262 263 264 265 266 267 268 269 270 271

install-ms-lib:
	$(INSTALL) gdk-win32-$(GTK_API_VERSION).lib $(DESTDIR)$(libdir)

uninstall-ms-lib:
	-rm $(DESTDIR)$(libdir)/gdk-win32-$(GTK_API_VERSION).lib
else
install-ms-lib:
uninstall-ms-lib:
endif

272 273
# This places the generated .def file in srcdir, since it is expected to be there.
# (The one from a tarball is)
274
gdk.def: gdk.symbols
275
	(echo -e EXPORTS; $(CPP) -P -DALL_FILES -DGDK_WINDOWING_WIN32 -DINCLUDE_VARIABLES - <$(srcdir)/gdk.symbols | sed -e '/^$$/d' -e 's/^/	/' -e 's/G_GNUC_[^ ]*//g') > $(srcdir)/gdk.def
276

Matthias Clasen's avatar
Matthias Clasen committed
277
TESTS_ENVIRONMENT = srcdir="$(srcdir)"
Matthias Clasen's avatar
Matthias Clasen committed
278
if OS_LINUX
279
TESTS = abicheck.sh
280 281
endif

Tor Lillqvist's avatar
Tor Lillqvist committed
282

283
lib_LTLIBRARIES = $(gdktargetlib)
284

Benjamin Otte's avatar
Benjamin Otte committed
285
EXTRA_LTLIBRARIES = libgdk-x11-3.0.la libgdk-win32-3.0.la libgdk-quartz-3.0.la
286

287 288
MAINTAINERCLEANFILES = $(gdk_built_sources) stamp-gdkenumtypes.h
EXTRA_DIST += $(gdk_built_sources)
Matt Wilson's avatar
Matt Wilson committed
289
EXTRA_HEADERS =
290 291 292 293

#
# Rule to install gdkconfig.h header file
#
294
configexecincludedir = $(libdir)/gtk-3.0/include
295
#configexecinclude_DATA = gdkconfig.h
296

297
install-exec-local: gdkconfig.h
298 299 300 301
	$(mkinstalldirs) $(DESTDIR)$(configexecincludedir)
	file=$(DESTDIR)$(configexecincludedir)/gdkconfig.h; \
	if test -r $$file && cmp -s gdkconfig.h $$file; then :; \
	else $(INSTALL_DATA) gdkconfig.h $$file; fi
302

303 304 305 306 307
install-exec-hook:
if DISABLE_EXPLICIT_DEPS
	$(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$(gdktargetlib)
endif

308
#note: not gdkconfig.h
309 310
BUILT_SOURCES = \
	$(gdk_built_sources)			\
311 312 313
	gdkconfig.h

gdkenumtypes.h: stamp-gdkenumtypes.h
314
	@true
315 316
stamp-gdkenumtypes.h: @REBUILD@ $(gdk_public_h_sources) gdkenumtypes.h.template
	( cd $(srcdir) && $(GLIB_MKENUMS) --template gdkenumtypes.h.template \
317
		$(gdk_public_h_sources) ) >> xgen-geth \
318
	&& (cmp -s xgen-geth gdkenumtypes.h || cp xgen-geth gdkenumtypes.h ) \
319 320
	&& rm -f xgen-geth \
	&& echo timestamp > $(@F)
321 322
gdkenumtypes.c: @REBUILD@ $(gdk_public_h_sources) gdkenumtypes.c.template
	( cd $(srcdir) && $(GLIB_MKENUMS) --template gdkenumtypes.c.template \
323
		$(gdk_public_h_sources) ) > xgen-getc \
324
	&& cp xgen-getc gdkenumtypes.c  \
325
	&& rm -f xgen-getc
326

327 328 329
# 
# Marshaller generation
#
330
gdkmarshalers.h: @REBUILD@ gdkmarshalers.list
Matthias Clasen's avatar
Matthias Clasen committed
331
	$(GLIB_GENMARSHAL) --prefix=_gdk_marshal $(srcdir)/gdkmarshalers.list --header > gdkmarshalers-h.tmp \
332 333 334
	&& mv gdkmarshalers-h.tmp gdkmarshalers.h \
	|| ( rm -f gdkmarshalers-h.tmp && exit 1)
gdkmarshalers.c: @REBUILD@ gdkmarshalers.list
335
	$(GLIB_GENMARSHAL) --prefix=_gdk_marshal $(srcdir)/gdkmarshalers.list --body > gdkmarshalers-c.tmp	\
336 337
	&& mv gdkmarshalers-c.tmp gdkmarshalers.c \
	|| ( rm -f gdkmarshalers-c.tmp && exit 1 )
338

339
gdkconfig.h: stamp-gc-h
340 341
	@if test -f gdkconfig.h; then :; \
	else rm -f stamp-gc-h; $(MAKE) stamp-gc-h; fi
342 343
stamp-gc-h: $(top_builddir)/config.status
	cd $(top_builddir) && $(SHELL) ./config.status gdk/gdkconfig.h
344 345
	echo timestamp > stamp-gc-h

346 347 348
dist-hook: ../build/win32/vs9/gdk.vcproj

../build/win32/vs9/gdk.vcproj: ../build/win32/vs9/gdk.vcprojin
349
	for F in $(libgdk_win32_3_0_la_SOURCES); do \
350 351 352 353 354 355 356 357
		case $$F in \
		*.c) echo '   <File RelativePath="..\..\..\gdk\'$$F'" />' \
		     ;; \
		esac; \
	done >libgdk.sourcefiles
	$(CPP) -P - <$(top_srcdir)/build/win32/vs9/gdk.vcprojin >$@
	rm libgdk.sourcefiles

358 359
DISTCLEANFILES = gdkconfig.h stamp-gc-h

360
install-data-local: install-ms-lib install-def-file
Tor Lillqvist's avatar
Tor Lillqvist committed
361

362
uninstall-local: uninstall-ms-lib uninstall-def-file
363 364 365 366 367 368 369 370
	rm -f $(DESTDIR)$(configexecincludedir)/gdkconfig.h

# if srcdir!=builddir, clean out maintainer-clean files from builddir
# this allows dist to pass.
distclean-local:
	if test $(srcdir) != .; then \
	  rm -f $(MAINTAINERCLEANFILES); \
	fi
Tor Lillqvist's avatar
Tor Lillqvist committed
371

Elliot Lee's avatar
Elliot Lee committed
372 373 374 375 376 377
.PHONY: files

files:
	@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
	  echo $$p; \
	done
378 379

-include $(top_srcdir)/git.mk