]> Pileus Git - grits/blob - src/Makefile.am
fd2fceb520e65316b3680c6a058bf924ce411a42
[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 test: all .libs/$(GRITS_SUBDIR)
86         ./grits-test
87
88 gdb: all .libs/$(GRITS_SUBDIR)
89         gdb ./grits-test
90
91 ddd: all .libs/$(GRITS_SUBDIR)
92         ddd ./grits-test
93
94 .libs/$(GRITS_SUBDIR): plugins/.libs
95         ln -sf ../plugins/.libs .libs/$(GRITS_SUBDIR)
96
97 memcheck: all
98         G_SLICE=always-malloc                   \
99         G_DEBUG=gc-friendly,resident-modules    \
100         valgrind --track-origins=yes            \
101                  --leak-check=full              \
102                  --leak-resolution=high         \
103                  --num-callers=50               \
104                  --suppressions=gtk.suppression \
105                  --suppressions=/usr/lib/valgrind/default.supp \
106                  .libs/grits-test               \
107         2> valgrind.out