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