source: Makefile.in @ aaf6071

barnowl_perlaimdebianowlrelease-1.10release-1.4release-1.5release-1.6release-1.7release-1.8release-1.9
Last change on this file since aaf6071 was aaf6071, checked in by James M. Kretchmar <kretch@mit.edu>, 21 years ago
General cleanup to Makefile.in
  • Property mode set to 100644
File size: 2.2 KB
Line 
1# $Id$
2
3srcdir = @srcdir@
4VPATH = @srcdir@
5prefix = @prefix@
6exec_prefix = @exec_prefix@
7datadir = @datadir@
8bindir = @bindir@
9mandir = @mandir@
10
11CC=@CC@
12LIBS=@LIBS@
13CFLAGS=@CFLAGS@ -DDATADIR=\"${datadir}\"
14LDFLAGS=@LDFLAGS@
15XSUBPPDIR=@XSUBPPDIR@
16INSTALL=@INSTALL@
17INSTALL_PROGRAM=@INSTALL_PROGRAM@
18INSTALL_DATA=@INSTALL_DATA@
19
20BASE_SRCS=list.c message.c mainwin.c popwin.c zephyr.c messagelist.c \
21     commands.c global.c text.c fmtext.c editwin.c util.c logging.c \
22     readconfig.c keys.c functions.c zwrite.c viewwin.c help.c filter.c \
23     regex.c history.c view.c dict.c variable.c filterelement.c pair.c \
24     keypress.c keymap.c keybinding.c cmd.c context.c zcrypt.c
25OWL_SRC = owl.c
26TESTER_SRC = tester.c
27
28BASE_OBJS = $(BASE_SRCS:.c=.o)
29
30GEN_C = varstubs.c perlglue.c
31GEN_H = owl_prototypes.h
32GEN_O = $(GEN_C:.c=.o)
33
34OBJS = $(BASE_OBJS) $(GEN_O)
35
36AUTOGEN=$(GEN_C) $(GEN_H)
37
38
39owl: $(AUTOGEN) $(OBJS) owl.o
40        ./athstatic $(CC) -o owl owl.o $(OBJS) $(LDFLAGS) $(LIBS)
41
42tester: $(OBJS) tester.o
43        $(CC) -o tester tester.o $(OBJS) $(LDFLAGS) $(LIBS)
44
45test: tester
46        ./tester reg
47
48clean:
49        $(RM) owl tester *.o $(AUTOGEN) owl_prototypes.h.new
50
51distclean: clean
52        $(RM) config.cache config.log config.status Makefile config.h TAGS *~ core
53
54proto: owl_prototypes.h
55
56perlglue.c: perlglue.xs
57        perl $(XSUBPPDIR)/xsubpp -typemap $(XSUBPPDIR)/typemap -prototypes perlglue.xs > perlglue.c
58
59varstubs.c: variable.c stubgen.pl
60        perl stubgen.pl > varstubs.c
61
62# Only move owl_prototypes.h into place if the new one is different
63owl_prototypes.h: codelist.pl varstubs.c $(BASE_SRCS)
64        perl codelist.pl | grep -v ZWRITEOPTIONS > owl_prototypes.h.new
65        @cmp -s owl_prototypes.h.new $@ || { \
66         echo 'Interfaces changed!'; \
67         echo mv -f owl_prototypes.h.new $@; \
68              mv -f owl_prototypes.h.new $@; }
69
70.PHONY: tags clean distclean proto test
71
72tags: TAGS
73
74TAGS: $(BASE_SRCS) $(OWL_SRC) $(TESTER_SRC) $(GEN_C) owl.h $(GEN_H)
75        etags $(BASE_SRCS) $(OWL_SRC) $(TESTER_SRC) $(GEN_C) owl.h $(GEN_H)
76
77$(BASE_OBJS) varstubs.h:: owl.h config.h owl_prototypes.h
78
79all: owl
80
81install: all installdirs
82        ${INSTALL_PROGRAM} owl ${bindir}/owl
83        ${INSTALL_DATA} doc/owl.1 ${mandir}/man1/owl.1
84
85
86installdirs: mkinstalldirs
87        ${srcdir}/mkinstalldirs ${bindir} ${mandir}/man1 ${datadir}/owl
Note: See TracBrowser for help on using the repository browser.