source: Makefile.in @ f1e629d

barnowl_perlaimdebianowlrelease-1.4release-1.5release-1.6release-1.7release-1.8release-1.9
Last change on this file since f1e629d was f1e629d, checked in by Erik Nygren <nygren@mit.edu>, 17 years ago
New API for perl message formatting functions. Legacy variables are still supported for owl::format_msg and owl::receive_msg, but these functions are now also passed an owl::Message object which contains methods for accessing the contents of the message. See perlwrap.pm (and docs TBD) for the available methods. *** WARNING: The exact API for owl::Message has *** not yet stabilized. Added "style" command for creating new styles. Usage: style <name> perl <function_name> Added support for "show styles". Changed global style table from list to dictionary. Changed AIM password prompt from "Password:" to "AIM Password:". Messages are reformatted after a window resize to allow styles to take into account the width of the window. When perl throws an error, the message is put in the msgwin if possible. Added perl functions for: owl::getcurmsg() -- returns an owl::Message object for the active message in the current view. owl::getnumcols() -- returns the column width of the window owl::zephyr_getrealm() -- returns the zephyr realm owl::zephyr_getsender() -- returns the zephyr sender Made owl::COMMAND("foo"); be syntactic sugar for owl::command("COMMAND foo"); *** Is this a good or bad idea? *** This feature may be taken out before release. Added perlwrap.pm to contain perl code to be compiled into the binary. This is transformed into perlwrap.c by encapsulate.pl. Renamed readconfig.c to perlconfig.c and changed variables accordingly. Minor bugfixes in cmd.c and commands.c
  • Property mode set to 100644
File size: 2.7 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 buddylist.c timer.c style.c stylefunc.c
26OWL_SRC = owl.c
27TESTER_SRC = tester.c
28
29BASE_OBJS = $(BASE_SRCS:.c=.o)
30
31GEN_C = varstubs.c perlglue.c perlwrap.c
32GEN_H = owl_prototypes.h
33GEN_O = $(GEN_C:.c=.o)
34
35OBJS = $(BASE_OBJS) $(GEN_O)
36
37AUTOGEN=$(GEN_C) $(GEN_H)
38#AUTOGEN=$(GEN_C)
39
40
41owl: $(AUTOGEN) $(OBJS) owl.o libfaim
42        ./athstatic $(CC) -o owl owl.o $(OBJS) $(LDFLAGS) $(LIBS)
43
44tester: $(OBJS) tester.o
45        $(CC) -o tester tester.o $(OBJS) $(LDFLAGS) $(LIBS)
46
47test: tester
48        ./tester reg
49
50clean: libfaimclean
51        $(RM) owl tester *.o $(AUTOGEN) owl_prototypes.h.new
52
53distclean: clean libfaimdistclean
54        $(RM) config.cache config.log config.status Makefile config.h TAGS *~ core
55
56proto: owl_prototypes.h
57
58perlglue.c: perlglue.xs
59        perl $(XSUBPPDIR)/xsubpp -typemap $(XSUBPPDIR)/typemap -prototypes perlglue.xs > perlglue.c
60
61varstubs.c: variable.c stubgen.pl
62        perl stubgen.pl > varstubs.c
63
64perlwrap.c: perlwrap.pm encapsulate.pl
65        perl encapsulate.pl perlwrap.pm owl_perlwrap_codebuff > perlwrap.c
66
67# Only move owl_prototypes.h into place if the new one is different
68owl_prototypes.h: codelist.pl varstubs.c $(BASE_SRCS)
69        perl codelist.pl > owl_prototypes.h.new
70        @cmp -s owl_prototypes.h.new $@ || { \
71         echo 'Interfaces changed!'; \
72         echo mv -f owl_prototypes.h.new $@; \
73              mv -f owl_prototypes.h.new $@; }
74#owl_prototypes.h:
75
76.PHONY: tags clean distclean proto test
77
78tags: TAGS
79
80TAGS: $(BASE_SRCS) $(OWL_SRC) $(TESTER_SRC) $(GEN_C) owl.h $(GEN_H)
81        etags $(BASE_SRCS) $(OWL_SRC) $(TESTER_SRC) $(GEN_C) owl.h $(GEN_H)
82
83$(BASE_OBJS) varstubs.h:: owl.h config.h owl_prototypes.h
84#$(BASE_OBJS) varstubs.h:: owl.h config.h
85
86libfaim: libfaim/libfaim.a
87
88libfaim/libfaim.a:
89        (cd libfaim; $(MAKE))
90
91libfaimclean:
92        (cd libfaim; $(MAKE) clean)
93
94libfaimdistclean:
95        (cd libfaim; $(MAKE) distclean)
96
97all: owl
98
99install: all installdirs
100        ${INSTALL_PROGRAM} owl ${bindir}/owl
101        ${INSTALL_DATA} doc/owl.1 ${mandir}/man1/owl.1
102
103installdirs: mkinstalldirs
104        ${srcdir}/mkinstalldirs ${bindir} ${mandir}/man1 ${datadir}/owl
Note: See TracBrowser for help on using the repository browser.