1#
2# Makefile for sbr subdirectory
3#
4
5SHELL = /bin/sh
6
7top_srcdir = @top_srcdir@
8srcdir     = @srcdir@
9VPATH      = @srcdir@
10
11VERSION = `$(top_srcdir)/version.sh $(top_srcdir)`
12
13prefix      = @prefix@
14exec_prefix = @exec_prefix@
15bindir      = @bindir@
16libdir      = @libdir@
17etcdir      = @sysconfdir@
18
19CC       = @CC@
20CFLAGS   = @CFLAGS@
21DEFS     = @DEFS@
22# add include dir . for sigmsg.h and .. for config.h when building
23# in different directory
24INCLUDES = -I$(top_srcdir) -I. -I.. @CPPFLAGS@
25
26LEX    = @LEX@
27AWK    = @AWK@
28LORDER = @LORDER@
29TSORT  = @TSORT@
30RANLIB = @RANLIB@
31LIBTOOL = @LIBTOOL@
32GNU_LIBTOOL = @GNU_LIBTOOL@
33LINT    = @LINT@
34LINTFLAGS = @LINTFLAGS@
35
36COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CFLAGS)
37
38LOCALLIBS = ../config/config.o
39
40.SUFFIXES:
41.SUFFIXES: .c .o
42
43.c.o:
44	$(COMPILE) $<
45
46# this header file is parsed to generate signal messages (sigmsg.h)
47SIGNAL_H = @SIGNAL_H@
48
49# source for library functions
50SRCS = addrsbr.c ambigsw.c brkstring.c  \
51	charset.c concat.c context_del.c  \
52	context_find.c context_read.c  \
53	context_replace.c context_save.c \
54	cpydata.c crawl_folders.c  \
55	dtime.c dtimep.c  \
56	error.c execprog.c ext_hook.c folder_addmsg.c folder_delmsgs.c  \
57	folder_free.c folder_read.c  \
58	folder_realloc.c gans.c getans.c getanswer.c  \
59	getarguments.c \
60	fmt_addr.c fmt_compile.c fmt_new.c fmt_rfc2047.c  \
61	fmt_scan.c lock_file.c m_atoi.c \
62	m_convert.c m_draft.c m_getfld2.c m_gmprot.c  \
63	m_name.c \
64	makedir.c mts.c norm_charmap.c  \
65	path.c pidwait.c pidstatus.c  \
66	print_help.c print_sw.c print_version.c \
67	putenv.c mhbasename.c  \
68	readconfig.c seq_add.c seq_bits.c  \
69	seq_del.c seq_getnum.c seq_list.c seq_nameok.c  \
70	seq_print.c seq_read.c seq_save.c seq_setcur.c  \
71	seq_setprev.c seq_setunseen.c signals.c  \
72	smatch.c snprintb.c strcasecmp.c  \
73	strindex.c trim.c trimcpy.c uprf.c vfgets.c fmt_def.c  \
74	mf.c utils.c m_mktemp.c seq_msgstats.c \
75	unquote.c encode_rfc2047.c parse_msgs.c \
76	getthreadid.c
77
78OBJS =  $(SRCS:.c=.o)
79
80# ========= DEPENDENCIES FOR BUILDING ==========
81
82# default target
83all: libmh.a
84
85sigmsg.h: sigmsg.awk
86	$(AWK) -f $(srcdir)/sigmsg.awk $(SIGNAL_H) > $@
87
88lint: sigmsg.h
89	$(LINT) $(LINTFLAGS) $(INCLUDES) $(DEFS) $(SRCS)
90
91# Note that not all lexes support -o (it is not POSIX); also
92# some lexes will only accept '-n -t', not '-nt'.
93# Also, not all makes accept $< in non-pattern rules,
94# hence the explicit filenames here.
95dtimep.c: dtimep.lex
96	$(LEX) -n -t $(srcdir)/dtimep.lex > $@
97
98pidstatus.o: sigmsg.h
99
100libmh.a: $(OBJS) $(LOCALLIBS) version.c
101	rm -f $@
102	$(COMPILE) -DVERSION="\"$(VERSION)\"" -o version.o $(srcdir)/version.c
103	if test x$(LIBTOOL) != x -a x$(GNU_LIBTOOL) = x ; then \
104	  $(LIBTOOL) -static -c -o libmh.a $(OBJS) $(LOCALLIBS) version.o; \
105	else \
106	  ar cr libmh.a `$(LORDER) $(OBJS) $(LOCALLIBS) version.o | $(TSORT) 2>/dev/null`  ; \
107	  $(RANLIB) libmh.a  ; \
108	fi
109	rm -f version.o
110
111install:
112
113uninstall:
114
115# ========== DEPENDENCIES FOR CLEANUP ==========
116
117mostlyclean:
118	rm -f *.o *~
119
120clean: mostlyclean
121	rm -f libmh.a sigmsg.h
122
123distclean: clean
124	rm -f Makefile dtimep.c
125
126realclean: distclean
127
128superclean: realclean
129
130# ========== DEPENDENCIES FOR MAINTENANCE ==========
131
132subdir = sbr
133
134Makefile: Makefile.in ../config.status
135	cd .. && ./config.status $(subdir)/$@
136