]> Pileus Git - grits/blob - src/Makefile.am
Add cube GtkGL example
[grits] / src / Makefile.am
1 SUBDIRS = data objects . plugins
2
3 AM_CFLAGS   = -Wall --std=gnu99 -I$(top_srcdir)/src
4 AM_CPPFLAGS = $(GLIB_CFLAGS) $(GTK_CFLAGS) $(GL_CFLAGS) $(SOUP_CFLAGS)
5 AM_LDADD    = $(GLIB_LIBS) $(GTK_LIBS) $(GL_LIBS) $(SOUP_LIBS)
6 AM_LDFLAGS  = 
7
8 # System dependant flags
9 if SYS_WIN
10 AM_LDFLAGS += -mwindows -no-undefined
11 endif
12 if SYS_MAC
13 AM_CFLAGS  += -ObjC
14 AM_LDFLAGS += -framework AppKit
15 else
16 AM_LDFLAGS += -Wl,--as-needed -Wl,--no-undefined
17 endif
18
19 # Headers
20 grits_includedir = $(includedir)/grits
21 grits_include_HEADERS = \
22         grits.h         \
23         grits-viewer.h  \
24         grits-prefs.h   \
25         grits-opengl.h  \
26         grits-plugin.h  \
27         grits-util.h    \
28         gtkgl.h         \
29         gpqueue.h       \
30         roam.h
31
32 # Pkg-config
33 pkgconfigdir = $(libdir)/pkgconfig
34 pkgconfig_DATA = grits.pc
35
36 # GTK 2/3 compatability
37 EXTRA_DIST = compat.h
38
39 # Library
40 lib_LTLIBRARIES = libgrits.la
41
42 libgrits_la_SOURCES = grits.h \
43         grits-viewer.c  grits-viewer.h  \
44         grits-prefs.c   grits-prefs.h   \
45         grits-opengl.c  grits-opengl.h  \
46         grits-plugin.c  grits-plugin.h  \
47         grits-marshal.c grits-marshal.h \
48         grits-util.c    grits-util.h    \
49         roam.c          roam.h          \
50         gtkgl.c         gtkgl.h         \
51         gpqueue.c       gpqueue.h
52 libgrits_la_CPPFLAGS = $(AM_CPPFLAGS) \
53         -DPKGDATADIR="\"$(DOTS)$(datadir)/$(GRITS_SUBDIR)\"" \
54         -DPLUGINSDIR="\"$(DOTS)$(libdir)/$(GRITS_SUBDIR)\""
55 libgrits_la_LIBADD  = $(AM_LDADD) -lm \
56         objects/libgrits-objects.la \
57         data/libgrits-data.la
58 libgrits_la_LDFLAGS = $(AM_LDFLAGS) \
59         -version-info $(LIB_VERSION)
60
61 # Demo program
62 bin_PROGRAMS = grits-demo
63
64 grits_demo_SOURCES = grits-demo.c
65 grits_demo_LDADD   = $(AM_LDADD) libgrits.la
66
67 # Test programs
68 noinst_PROGRAMS = grits-test tile-test
69
70 grits_test_SOURCES = grits-test.c
71 grits_test_LDADD   = $(AM_LDADD) libgrits.la
72
73 tile_test_SOURCES = tile-test.c
74 tile_test_LDADD   = $(AM_LDADD) libgrits.la
75
76 # Clean
77 MAINTAINERCLEANFILES = Makefile.in
78
79 # Generated code 
80 BUILT_SOURCES = grits-marshal.c grits-marshal.h
81
82 .list.c:
83         glib-genmarshal --prefix=grits_cclosure_marshal --body   $< > $@
84 .list.h:
85         glib-genmarshal --prefix=grits_cclosure_marshal --header $< > $@
86
87 # Debugging rules
88 BUILT_SOURCES += .libs/$(GRITS_SUBDIR)
89
90 .libs/$(GRITS_SUBDIR):
91         mkdir -p .libs
92         ln -sf ../plugins/.libs $@
93
94 test: all
95         G_MESSAGES_DEBUG=all \
96         ./grits-test
97
98 gdb: all
99         G_MESSAGES_DEBUG=all \
100         gdb ./.libs/grits-test
101
102 ddd: all
103         G_MESSAGES_DEBUG=all \
104         ddd ./grits-test
105
106 memcheck: all
107         G_SLICE=always-malloc                   \
108         G_DEBUG=gc-friendly,resident-modules    \
109         valgrind --track-origins=yes            \
110                  --leak-check=full              \
111                  --leak-resolution=high         \
112                  --num-callers=50               \
113                  --suppressions=gtk.suppression \
114                  --suppressions=/usr/lib/valgrind/default.supp \
115                  .libs/grits-test               \
116         2> valgrind.out