]> Pileus Git - ~andy/gtk/blob - gdk/Makefile.am
Require libtool-1.4, automake-1.4p1.
[~andy/gtk] / gdk / Makefile.am
1 ## Makefile.am for gtk+/gdk
2
3 SUBDIRS=$(gdktarget)
4 DIST_SUBDIRS=linux-fb nanox win32 x11
5
6 EXTRA_DIST =                    \
7         gdkconfig.h.win32       \
8         gdk.def                 \
9         makefile.mingw          \
10         makefile.mingw.in       \
11         makeenums.pl            \
12         makefile.msc
13
14 common_includes = @STRIP_BEGIN@         \
15         -DG_LOG_DOMAIN=\"Gdk\"          \
16         -I$(top_srcdir)                 \
17         -I$(top_builddir)/gdk           \
18         -I$(top_srcdir)/gdk-pixbuf      \
19         @GTK_DEBUG_FLAGS@               \
20         @GDK_DEP_CFLAGS@                \
21 @STRIP_END@
22
23 INCLUDES = $(common_includes)
24 gtarget=@gdktarget@
25
26 # libtool stuff: set version and export symbols for resolving
27 # since automake doesn't support conditionalized libsomething_la_LDFLAGS
28 # we use the general approach here
29 LDFLAGS = @STRIP_BEGIN@                                         \
30         -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)    \
31         -export-dynamic                                         \
32         -rpath @prefix@/lib                                     \
33         @LIBTOOL_EXPORT_OPTIONS@                                \
34         $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la         \
35         @GDK_DEP_LIBS@                                          \
36         -lm                                                     \
37 @STRIP_END@
38
39 #
40 # setup source file variables
41 #
42 #
43 # GDK header files for public installation (non-generated)
44 #
45 # Note: files added here may need to be be propagated to gdk_headers in gtk/Makefile.am
46 #
47 gdk_public_h_sources = @STRIP_BEGIN@ \
48         gdk.h           \
49         gdkcolor.h      \
50         gdkcompat.h     \
51         gdkcursor.h     \
52         gdkcursors.h    \
53         gdkdnd.h        \
54         gdkdrawable.h   \
55         gdkevents.h     \
56         gdkfont.h       \
57         gdkgc.h         \
58         gdkkeysyms.h    \
59         gdki18n.h       \
60         gdkimage.h      \
61         gdkinput.h      \
62         gdkkeys.h       \
63         gdkpango.h      \
64         gdkpixbuf.h     \
65         gdkpixmap.h     \
66         gdkproperty.h   \
67         gdkregion.h     \
68         gdkrgb.h        \
69         gdkselection.h  \
70         gdktypes.h      \
71         gdkvisual.h     \
72         gdkwindow.h     \
73 @STRIP_END@
74
75 gdk_headers = @STRIP_BEGIN@       \
76         $(gdk_public_h_sources)   \
77         gdkenumtypes.h            \
78         gdkprivate.h              \
79 @STRIP_END@
80
81 gdk_c_sources = @STRIP_BEGIN@   \
82         gdk.c                   \
83         gdkcolor.c              \
84         gdkcursor.c             \
85         gdkdraw.c               \
86         gdkevents.c             \
87         gdkfont.c               \
88         gdkgc.c                 \
89         gdkglobals.c            \
90         gdkkeys.c               \
91         gdkkeyuni.c             \
92         gdkimage.c              \
93         gdkinternals.h          \
94         gdkpango.c              \
95         gdkpixbuf-drawable.c    \
96         gdkpixbuf-render.c      \
97         gdkpixmap.c             \
98         gdkpoly-generic.h       \
99         gdkpolyreg-generic.c    \
100         gdkrgb.c                \
101         gdkrectangle.c          \
102         gdkregion-generic.c     \
103         gdkregion-generic.h     \
104         gdkwindow.c             \
105 @STRIP_END@
106
107 #
108 # setup GDK sources and their dependancies
109 #
110 extra = @gdktargetlib@
111
112 if USE_X11
113 libgdk_x11_includedir = $(includedir)/gtk-2.0/gdk
114
115 libgdk_x11_1_3_la_LIBADD = \
116         $(gtarget)/libgdk-$(gtarget).la 
117
118 libgdk_x11_include_HEADERS = $(gdk_headers)
119 libgdk_x11_1_3_la_SOURCES = $(gdk_c_sources) gdkenumtypes.c
120 endif
121
122 if USE_NANOX
123 libgdk_nanox_includedir = $(includedir)/gtk-2.0/gdk
124
125 libgdk_nanox_1_3_la_LIBADD = \
126         $(gtarget)/libgdk-$(gtarget).la 
127
128 libgdk_nanox_include_HEADERS = $(gdk_headers)
129 libgdk_nanox_1_3_la_SOURCES = $(gdk_c_sources) gdkenumtypes.c
130 endif
131
132 if USE_LINUX_FB
133 libgdk_linux_fb_includedir = $(includedir)/gtk-2.0/gdk
134
135 libgdk_linux_fb_1_3_la_LIBADD = \
136         $(gtarget)/libgdk-$(gtarget).la 
137
138 libgdk_linux_fb_include_HEADERS = $(gdk_headers)
139 libgdk_linux_fb_1_3_la_SOURCES = $(gdk_c_sources) gdkenumtypes.c
140 endif
141
142 # now define the real one to workaround automake's mishandling
143 lib_LTLIBRARIES = $(extra)
144
145 EXTRA_LTLIBRARIES = libgdk-x11-1.3.la libgdk-nanox-1.3.la libgdk-linux-fb-1.3.la
146
147 MAINTAINERCLEANFILES +=
148 EXTRA_HEADERS +=
149 EXTRA_DIST +=
150 EXTRA_DIST +=
151
152 #
153 # rules to generate built sources
154 #
155 # we only need to remake these headers once a new X version is released
156 X-derived-headers:
157         sed -e 's/^#define[     ]*XC\([^        ]*\)[   ]*\([^  ]*\)[   ]*.*$$/GDK\1 = \2,/' \
158             -e 'tb' -e 'd' -e ':b' \
159             -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
160             < @x_includes@/X11/cursorfont.h > gdkcursors.h ; \
161         sed -e 's/^#define[     ]*XK\([^        ]*\)[   ]*\([^  ]*\)[   ]*.*$$/#define GDK\1 \2/' \
162             -e 'tb' -e 'd' -e ':b' -e 's/ 0X/ 0x/' \
163             < @x_includes@/X11/keysymdef.h > gdkkeysyms.h
164
165 #
166 # Rule to install gdkconfig.h header file
167 #
168 configexecincludedir = $(libdir)/gtk-2.0/include
169 #configexecinclude_DATA = gdkconfig.h
170 install-exec-local: gdkconfig.h
171         $(mkinstalldirs) $(DESTDIR)$(configexecincludedir)
172         file=$(DESTDIR)$(configexecincludedir)/gdkconfig.h; \
173         if test -r $$file && cmp -s gdkconfig.h $$file; then :; \
174         else $(INSTALL_DATA) gdkconfig.h $$file; fi
175
176 #note: not gdkconfig.h
177 BUILT_SOURCES = stamp-gc-h @REBUILD@ gdkenumtypes.c gdkenumtypes.h
178
179 gdkenumtypes.h: @REBUILD@ $(gdk_public_h_sources) $(srcdir)/makeenums.pl
180         cd $(srcdir) \
181         && $(PERL) ./makeenums.pl include $(gdk_public_h_sources) > gdkenumtypes.h
182
183 gdkenumtypes.c: @REBUILD@ $(gdk_public_h_sources) $(srcdir)/makeenums.pl
184         cd $(srcdir) \
185         && $(PERL) ./makeenums.pl cfile $(gdk_public_h_sources) > gdkenumtypes.c
186
187 gdkconfig.h: stamp-gc-h
188         @if test -f gdkconfig.h; then :; \
189         else rm -f stamp-gc-h; $(MAKE) stamp-gc-h; fi
190 stamp-gc-h: ../config.status
191         cd .. && CONFIG_FILES= CONFIG_HEADERS= CONFIG_OTHER=gdk/gdkconfig.h ./config.status
192         echo timestamp > stamp-gc-h
193
194 .PHONY: files
195
196 files:
197         @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
198           echo $$p; \
199         done