]> Pileus Git - grits/blob - src/Makefile.am
957bff1f4f244639f7f863f86ef621cc802556db
[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 # Library
37 lib_LTLIBRARIES = libgrits.la
38
39 libgrits_la_SOURCES = grits.h \
40         grits-viewer.c  grits-viewer.h  \
41         grits-prefs.c   grits-prefs.h   \
42         grits-opengl.c  grits-opengl.h  \
43         grits-plugin.c  grits-plugin.h  \
44         grits-marshal.c grits-marshal.h \
45         grits-util.c    grits-util.h    \
46         roam.c          roam.h          \
47         gtkgl.c         gtkgl.h         \
48         gpqueue.c       gpqueue.h
49 libgrits_la_CPPFLAGS = $(AM_CPPFLAGS) \
50         -DPKGDATADIR="\"$(DOTS)$(datadir)/$(GRITS_SUBDIR)\"" \
51         -DPLUGINSDIR="\"$(DOTS)$(libdir)/$(GRITS_SUBDIR)\""
52 libgrits_la_LIBADD  = $(AM_LDADD) -lm \
53         objects/libgrits-objects.la \
54         data/libgrits-data.la
55 libgrits_la_LDFLAGS = $(AM_LDFLAGS) \
56         -version-info $(LIB_VERSION)
57
58 # Demo program
59 bin_PROGRAMS = grits-demo
60
61 grits_demo_SOURCES = grits-demo.c
62 grits_demo_LDADD   = $(AM_LDADD) libgrits.la
63
64 # Test programs
65 noinst_PROGRAMS = grits-test tile-test
66
67 grits_test_SOURCES = grits-test.c
68 grits_test_LDADD   = $(AM_LDADD) libgrits.la
69
70 tile_test_SOURCES = tile-test.c
71 tile_test_LDADD   = $(AM_LDADD) libgrits.la
72
73 # Clean
74 MAINTAINERCLEANFILES = Makefile.in
75
76 # Generated code 
77 BUILT_SOURCES = grits-marshal.c grits-marshal.h
78
79 .list.c:
80         glib-genmarshal --prefix=grits_cclosure_marshal --body   $< > $@
81 .list.h:
82         glib-genmarshal --prefix=grits_cclosure_marshal --header $< > $@
83
84 # Debugging rules
85 BUILT_SOURCES += .libs/$(GRITS_SUBDIR)
86
87 .libs/$(GRITS_SUBDIR):
88         mkdir -p .libs
89         ln -sf ../plugins/.libs $@
90
91 test: all
92         G_MESSAGES_DEBUG=all \
93         ./grits-test
94
95 gdb: all
96         G_MESSAGES_DEBUG=all \
97         gdb ./.libs/grits-test
98
99 ddd: all
100         G_MESSAGES_DEBUG=all \
101         ddd ./grits-test
102
103 memcheck: all
104         G_SLICE=always-malloc                   \
105         G_DEBUG=gc-friendly,resident-modules    \
106         valgrind --track-origins=yes            \
107                  --leak-check=full              \
108                  --leak-resolution=high         \
109                  --num-callers=50               \
110                  --suppressions=gtk.suppression \
111                  --suppressions=/usr/lib/valgrind/default.supp \
112                  .libs/grits-test               \
113         2> valgrind.out