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