source: Makefile.in @ 0154e2d

barnowl_perlaimdebianowlrelease-1.4release-1.5release-1.6release-1.7release-1.8release-1.9
Last change on this file since 0154e2d was afbf668, checked in by Erik Nygren <nygren@mit.edu>, 17 years ago
pexec will now incrimentally display data as it is output by the child process. Additionally, commands running under pexec may now be killed by quitting out of the popless window. Added muxevents select loop dispatcher. File descriptors may be registered with muxevents and handlers will be dispatched to when data is available for non-blocking read/write/except. Switched the stderr_redir stuff to use muxevents.
  • Property mode set to 100644
File size: 2.8 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@ -L./libfaim -lfaim
13CFLAGS=@CFLAGS@ -I. -I./libfaim -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     perlconfig.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 \
25     aim.c buddy.c buddylist.c timer.c style.c stylefunc.c errqueue.c \
26     zbuddylist.c muxevents.c popexec.c
27OWL_SRC = owl.c
28TESTER_SRC = tester.c
29
30BASE_OBJS = $(BASE_SRCS:.c=.o)
31
32GEN_C = varstubs.c perlglue.c perlwrap.c
33GEN_H = owl_prototypes.h
34GEN_O = $(GEN_C:.c=.o)
35
36OBJS = $(BASE_OBJS) $(GEN_O)
37
38AUTOGEN=$(GEN_C) $(GEN_H)
39#AUTOGEN=$(GEN_C)
40
41
42owl: $(AUTOGEN) $(OBJS) owl.o libfaim
43        ./athstatic $(CC) -o owl owl.o $(OBJS) $(LDFLAGS) $(LIBS)
44
45tester: $(AUTOGEN) $(OBJS) tester.o
46        ./athstatic $(CC) -o tester tester.o $(OBJS) $(LDFLAGS) $(LIBS)
47
48test: tester
49        ./tester reg
50
51clean: libfaimclean
52        $(RM) owl tester *.o $(AUTOGEN) owl_prototypes.h.new
53
54distclean: clean libfaimdistclean
55        $(RM) config.cache config.log config.status Makefile config.h TAGS *~ core
56
57proto: owl_prototypes.h
58
59perlglue.c: perlglue.xs
60        perl $(XSUBPPDIR)/xsubpp -typemap $(XSUBPPDIR)/typemap -prototypes perlglue.xs > perlglue.c
61
62varstubs.c: variable.c stubgen.pl
63        perl stubgen.pl > varstubs.c
64
65perlwrap.c: perlwrap.pm encapsulate.pl
66        perl encapsulate.pl perlwrap.pm owl_perlwrap_codebuff > perlwrap.c
67
68# Only move owl_prototypes.h into place if the new one is different
69owl_prototypes.h: codelist.pl varstubs.c $(BASE_SRCS)
70        perl codelist.pl > owl_prototypes.h.new
71        @cmp -s owl_prototypes.h.new $@ || { \
72         test -f $@ && echo 'Interfaces changed!'; \
73         echo mv -f owl_prototypes.h.new $@; \
74              mv -f owl_prototypes.h.new $@; }
75#owl_prototypes.h:
76
77.PHONY: tags clean distclean proto test
78
79tags: TAGS
80
81TAGS: $(BASE_SRCS) $(OWL_SRC) $(TESTER_SRC) $(GEN_C) owl.h $(GEN_H)
82        etags $(BASE_SRCS) $(OWL_SRC) $(TESTER_SRC) $(GEN_C) owl.h $(GEN_H)
83
84$(BASE_OBJS) varstubs.h:: owl.h config.h owl_prototypes.h
85#$(BASE_OBJS) varstubs.h:: owl.h config.h
86
87libfaim: libfaim/libfaim.a
88
89libfaim/libfaim.a:
90        (cd libfaim; $(MAKE))
91
92libfaimclean:
93        (cd libfaim; $(MAKE) clean)
94
95libfaimdistclean:
96        (cd libfaim; $(MAKE) distclean)
97
98all: owl
99
100install: all installdirs
101        ${INSTALL_PROGRAM} owl ${bindir}/owl
102        ${INSTALL_DATA} doc/owl.1 ${mandir}/man1/owl.1
103
104installdirs: mkinstalldirs
105        ${srcdir}/mkinstalldirs ${bindir} ${mandir}/man1 ${datadir}/owl
Note: See TracBrowser for help on using the repository browser.