source: Makefile.am @ 5a57386

release-1.6release-1.7release-1.8release-1.9
Last change on this file since 5a57386 was 5a57386, checked in by Nelson Elhage <nelhage@mit.edu>, 11 years ago
Define DATADIR and BINDIR in the Makefile, not config.h This is the recommended way to do it, and deals with the fact that DATADIR and BINDIR themselves expand to variable references.
  • Property mode set to 100644
File size: 2.5 KB
Line 
1ACLOCAL_AMFLAGS = -I m4
2
3GIT_DESCRIPTION := $(if $(wildcard .git),$(shell git describe --match='barnowl-*' HEAD 2>/dev/null))
4GIT_FLAGS := $(if $(GIT_DESCRIPTION),-DGIT_VERSION=$(GIT_DESCRIPTION:barnowl-%=%))
5
6bin_PROGRAMS = barnowl.bin
7if ENABLE_ZCRYPT
8bin_PROGRAMS += zcrypt
9endif
10
11zcrypt_SOURCES = zcrypt.c filterproc.c
12
13check_PROGRAMS = tester perl_tester
14
15barnowl_bin_SOURCES = $(BASE_SRCS) \
16     owl.h owl_perl.h config.h \
17     owl.c filterproc.c \
18     $(GEN_C) $(GEN_H)
19
20barnowl_bin_LDADD = libfaim/libfaim.a
21
22tester_SOURCES = $(BASE_SRCS) \
23     owl.h owl_perl.h config.h \
24     $(GEN_C) $(GEN_H) \
25     tester.c
26
27tester_LDADD = libfaim/libfaim.a
28
29perl_tester_SOURCES = $(BASE_SRCS) \
30     owl.h owl_perl.h config.h \
31     $(GEN_C) $(GEN_H) \
32     perl_tester.c
33
34perl_tester_LDADD = libfaim/libfaim.a
35
36TESTS=runtests.sh
37
38CPPFLAGS = -I$(top_srcdir)/ \
39           -I$(top_srcdir)/libfaim/ \
40           -DDATADIR='"$(datadir)"' \
41           -DBINDIR='"$(bindir)"' \
42           $(GIT_FLAGS)
43
44BASE_SRCS=list.c message.c mainwin.c popwin.c zephyr.c messagelist.c \
45     commands.c global.c text.c fmtext.c editwin.c util.c logging.c \
46     perlconfig.c keys.c functions.c zwrite.c viewwin.c help.c filter.c \
47     regex.c history.c view.c dict.c variable.c filterelement.c pair.c \
48     keypress.c keymap.c keybinding.c cmd.c context.c \
49     aim.c buddy.c buddylist.c style.c errqueue.c \
50     zbuddylist.c popexec.c obarray.c select.c wcwidth.c \
51     glib_compat.c
52
53GEN_C = varstubs.c perlglue.c
54GEN_H = owl_prototypes.h
55
56BUILT_SOURCES = $(GEN_C) $(GEN_H)
57
58# Only copy file into place if file.new is different
59%: %.new
60        @diff -U0 $@ $< || { \
61         test -f $@ && echo '$@ changed!'; \
62         echo cp -f $< $@; \
63              cp -f $< $@; }
64
65proto: owl_prototypes.h
66
67perlglue.c: perlglue.xs $(TYPEMAP)
68        $(AM_V_GEN)perl $(XSUBPPDIR)/xsubpp $(XSUBPPFLAGS) -prototypes perlglue.xs > perlglue.c
69
70varstubs.c: stubgen.pl variable.c
71        $(AM_V_GEN)perl $< $(sort $(filter-out $<,$+)) > $@
72
73owl_prototypes.h.new: codelist.pl varstubs.c $(BASE_SRCS)
74        $(AM_V_GEN)perl $< $(sort $(filter-out $<,$+)) > $@
75
76# For emacs flymake-mode
77check-syntax: proto
78        $(CC) $(CFLAGS) -Wall -Wextra -pedantic -fsyntax-only $(CHK_SOURCES)
79
80install-data-local:
81        $(mkinstalldirs) ${DESTDIR}${pkgdatadir}/lib
82        (cd perl/lib && tar -cf - . ) | (cd ${DESTDIR}${pkgdatadir}/lib && tar -xf - )
83
84do_transform = $(shell echo '$(1)' | sed '$(transform)')
85install-exec-hook:
86        mv -f $(DESTDIR)$(bindir)/$(call do_transform,barnowl.bin) \
87              $(DESTDIR)$(bindir)/$(call do_transform,barnowl)
88
89SUBDIRS = libfaim perl
Note: See TracBrowser for help on using the repository browser.