1# 2# Makefile for mailx 3# 4 5# 6# See the file INSTALL if you need help. 7# 8 9PREFIX = /usr/local 10BINDIR = $(PREFIX)/bin 11MANDIR = $(PREFIX)/share/man 12SYSCONFDIR = /etc 13 14MAILRC = $(SYSCONFDIR)/nail.rc 15MAILSPOOL = /var/mail 16SENDMAIL = /usr/lib/sendmail 17 18DESTDIR = 19 20UCBINSTALL = /usr/ucb/install 21 22# Define compiler, preprocessor, and linker flags here. 23# Note that some Linux/glibc versions need -D_GNU_SOURCE in CPPFLAGS, or 24# wcwidth() will not be available and multibyte characters will not be 25# displayed correctly. 26#CFLAGS = 27#CPPFLAGS = 28#LDFLAGS = 29#WARN = -Wall -Wno-parentheses -Werror 30 31# Some RedHat versions need INCLUDES = -I/usr/kerberos/include to compile 32# with OpenSSL, or to compile with GSSAPI authentication included. In the 33# latter case, they also need LDFLAGS = -L/usr/kerberos/lib. 34#INCLUDES = -I/usr/kerberos/include 35#LDFLAGS = -L/usr/kerberos/lib 36 37# If you want to include SSL support using Mozilla NSS instead of OpenSSL, 38# set something like the following paths. (You might also need to set LDFLAGS). 39#MOZINC = /usr/include/mozilla-seamonkey-1.0.5 40#INCLUDES = -I$(MOZINC)/nspr -I$(MOZINC)/nss 41# These paths are suitable to activate NSS support on Solaris, provided that 42# the packages SUNWmoznss, SUNWmoznss-devel, SUNWmoznspr, and SUNWmoznspr-devel 43# are installed. 44#MOZINC = /usr/sfw/include/mozilla 45#MOZLIB = /usr/sfw/lib/mozilla 46#INCLUDES = -I$(MOZINC)/nspr -I$(MOZINC)/nss 47#LDFLAGS = -L$(MOZLIB) -R$(MOZLIB) 48 49SHELL = /bin/sh 50 51# If you know that the IPv6 functions work on your machine, you can enable 52# them here. 53#IPv6 = -DHAVE_IPv6_FUNCS 54 55# 56# Binaries are stripped with this command after installation. 57# 58STRIP = strip 59 60########################################################################### 61########################################################################### 62# You should really know what you do if you change anything below this line 63########################################################################### 64########################################################################### 65 66FEATURES = -DMAILRC='"$(MAILRC)"' -DMAILSPOOL='"$(MAILSPOOL)"' \ 67 -DSENDMAIL='"$(SENDMAIL)"' $(IPv6) 68 69OBJ = aux.o base64.o cache.o cmd1.o cmd2.o cmd3.o cmdtab.o collect.o \ 70 dotlock.o edit.o fio.o getname.o getopt.o head.o hmac.o \ 71 imap.o imap_search.o junk.o lex.o list.o lzw.o \ 72 macro.o maildir.o main.o md5.o mime.o names.o nss.o \ 73 openssl.o pop3.o popen.o quit.o \ 74 send.o sendout.o smtp.o ssl.o strings.o temp.o thread.o tty.o \ 75 v7.local.o vars.o \ 76 version.o 77 78.SUFFIXES: .o .c .x 79.c.o: 80 $(CC) $(CFLAGS) $(CPPFLAGS) $(FEATURES) $(INCLUDES) $(WARN) -c $< 81 82.c.x: 83 $(CC) $(CFLAGS) $(CPPFLAGS) $(FEATURES) $(INCLUDES) $(WARN) -E $< >$@ 84 85.c: 86 $(CC) $(CFLAGS) $(CPPFLAGS) $(FEATURES) $(INCLUDES) $(WARN) \ 87 $(LDFLAGS) $< `grep '^[^#]' LIBS` $(LIBS) -o $@ 88 89all: mailx 90 91mailx: $(OBJ) LIBS 92 $(CC) $(LDFLAGS) $(OBJ) `grep '^[^#]' LIBS` $(LIBS) -o mailx 93 94$(OBJ): config.h def.h extern.h glob.h rcv.h 95imap.o: imap_gssapi.c 96md5.o imap.o hmac.o smtp.o aux.o pop3.o junk.o: md5.h 97nss.o: nsserr.c 98 99config.h LIBS: makeconfig 100 $(SHELL) ./makeconfig 101 102install: all 103 test -d $(DESTDIR)$(BINDIR) || mkdir -p $(DESTDIR)$(BINDIR) 104 $(UCBINSTALL) -c mailx $(DESTDIR)$(BINDIR)/mailx 105 $(STRIP) $(DESTDIR)$(BINDIR)/mailx 106 test -d $(DESTDIR)$(MANDIR)/man1 || mkdir -p $(DESTDIR)$(MANDIR)/man1 107 $(UCBINSTALL) -c -m 644 mailx.1 $(DESTDIR)$(MANDIR)/man1/mailx.1 108 test -d $(DESTDIR)$(SYSCONFDIR) || mkdir -p $(DESTDIR)$(SYSCONFDIR) 109 test -f $(DESTDIR)$(MAILRC) || \ 110 $(UCBINSTALL) -c -m 644 nail.rc $(DESTDIR)$(MAILRC) 111 112clean: 113 rm -f $(OBJ) mailx *~ core log 114 115mrproper: clean 116 rm -f config.h config.log LIBS 117 118PKGROOT = /var/tmp/mailx 119PKGTEMP = /var/tmp 120PKGPROTO = pkgproto 121 122mailx.pkg: all 123 rm -rf $(PKGROOT) 124 mkdir -p $(PKGROOT) 125 $(MAKE) DESTDIR=$(PKGROOT) install 126 rm -f $(PKGPROTO) 127 echo 'i pkginfo' >$(PKGPROTO) 128 (cd $(PKGROOT) && find . -print | pkgproto) | >>$(PKGPROTO) sed 's:^\([df] [^ ]* [^ ]* [^ ]*\) .*:\1 root root:; s:^f\( [^ ]* etc/\):v \1:; s:^f\( [^ ]* var/\):v \1:; s:^\(s [^ ]* [^ ]*=\)\([^/]\):\1./\2:' 129 rm -rf $(PKGTEMP)/$@ 130 pkgmk -a `uname -m` -d $(PKGTEMP) -r $(PKGROOT) -f $(PKGPROTO) $@ 131 pkgtrans -o -s $(PKGTEMP) `pwd`/$@ $@ 132 rm -rf $(PKGROOT) $(PKGPROTO) $(PKGTEMP)/$@ 133