aboutsummaryrefslogtreecommitdiffstats
path: root/NEWS
Commit message (Expand)AuthorAgeFilesLines
...
* Change `interface' and `monitor' options to per-server.Eric S. Raymond1997-01-141-5/+4
* Expunge fix.Eric S. Raymond1997-01-141-0/+3
* Arrange not to save user params after a statement.Eric S. Raymond1997-01-141-0/+3
* Start 2.9 update.Eric S. Raymond1997-01-131-2/+4
* Fix --quit uin root mode bug.Eric S. Raymond1997-01-131-2/+0
* Fixed Alfredo Sanjuan's bug.Eric S. Raymond1997-01-131-0/+10
* Add to-do list.Eric S. Raymond1997-01-131-0/+7
* Ready to ship.Eric S. Raymond1997-01-111-0/+2
* Ready to ship.Eric S. Raymond1997-01-111-3/+3
* Eliminate bug reported by Steven TrainoffEric S. Raymond1997-01-111-0/+4
* Grab hostname from greeting line.Eric S. Raymond1997-01-101-0/+4
* Don't infinite-loop in defaults.Eric S. Raymond1997-01-101-0/+2
* Typo fix.Eric S. Raymond1997-01-101-1/+1
* ssh recipe connection.Eric S. Raymond1997-01-101-0/+2
* Stop netrc parser from complaining about blank lines.Eric S. Raymond1997-01-101-0/+13
* Ready to ship.Eric S. Raymond1997-01-091-3/+3
* Added localdomains option.Eric S. Raymond1997-01-091-0/+2
* Don't use SMTP leader's name for HELO line.Eric S. Raymond1997-01-091-0/+3
* Added the preconnect feature.Eric S. Raymond1997-01-081-0/+2
* We could ship this.Eric S. Raymond1997-01-081-1/+5
* Add netrc parsing.Eric S. Raymond1997-01-07<
# Makefile for fetchmail

# If you're running QNX, we can't assume a working autoconf.
# So just uncomment all the lines marked QNX.

VERS=1.3

# Ultrix 2.2 make doesn't expand the value of VPATH.
srcdir = @srcdir@
VPATH = @srcdir@

CC = @CC@

CFLAGS = @CFLAGS@
# CFLAGS =  -g2 -5	# QNX
LDFLAGS = @LDFLAGS@
# LDLAGS =  -g2 -5	# QNX
LEX = @LEX@
LEXFLAGS=
YACC = @YACC@
YACCFLAGS = -dt

# How to invoke ranlib.  This is only used by the `glob' subdirectory.
RANLIB = @RANLIB@

# NeXT 1.0a uses an old version of GCC, which required -D__inline=inline.
# See also `config.h'.
defines = -DRELEASE_ID=\"$(VERS)\" @DEFS@
# defines = -DHAVE_CONFIG_H -DQNX -DHAVE_UNISTD_H -DSTDC_HEADERS	# QNX

# If your system needs extra libraries loaded in, define them here.
LOADLIBS = @LIBS@ @LEXLIB@
# LOADLIBS = -lsocket3r -lunix3r	# QNX

# Any extra object files your system needs.
extras = @LIBOBJS@

# Extra sources/objects for library functions not provided on the host system.
EXTRASRC = @EXTRASRC@
EXTRAOBJ = @EXTRAOBJ@

# Common prefix for machine-independent installed files.
prefix = /usr/local
# Common prefix for machine-dependent installed files.
exec_prefix = $(prefix)

# Name under which to install fetchmail
instname = fetchmail
# Directory in which to install.
bindir = $(exec_prefix)/bin
# Directory to install the Info files in.
infodir = $(prefix)/info
# Number to put on the man page filename.
manext = 1
# Directory to install the man page in.
mandir = $(prefix)/man/man$(manext)

# Program to install `make'.
INSTALL_PROGRAM = @INSTALL_PROGRAM@
# Program to install the man page.
INSTALL_DATA = @INSTALL_DATA@
# Generic install program.
INSTALL = @INSTALL@

# Program to format Texinfo source into Info files.
MAKEINFO = makeinfo
# Program to format Texinfo source into DVI files.
TEXI2DVI = texi2dvi

# Programs to make tags files.
ETAGS = etags -tw
CTAGS = ctags -tw

popobjs = socket.o getpass.o pop2.o pop3.o imap.o fetchmail.o options.o	\
       rcfile_l.o rcfile_y.o rcfile.o daemon.o driver.o smtp.o xmalloc.o \
       md5c.o md5ify.o

objs = $(popobjs) $(extras)

srcs = $(srcdir)/socket.c $(srcdir)/getpass.c $(srcdir)/pop2.c 		\
       $(srcdir)/pop3.c $(srcdir)/imap.c $(srcdir)/fetchmail.c		\
       $(srcdir)/options.c $(srcdir)/rcfile.c $(srcdir)/daemon.c 	\
       $(srcdir)/driver.c $(srcdir)/smtp.c $(srcdir)/xmalloc.c 		\
       $(srcdir)/md5c.c $(srcdir)/md5ify.c

.SUFFIXES:
.SUFFIXES: .o .c .h .y .l .ps .dvi .info .texi

all: fetchmail
check: # No tests.
depend:
	test -f config.h || touch config.h
	test -f rcfile_y.h || touch rcfile_y.h
	makedepend -fMakefile.in *.c

# Some makes apparently use .PHONY as the default goal is it is before `all'.
.PHONY: all check

$(popobjs): fetchmail.h

fetchmail: $(srcdir)/rcfile_l.c $(srcdir)/rcfile_y.c $(objs)
	$(CC) $(LDFLAGS) $(objs) $(LOADLIBS) -o fetchmail


# -I. is needed to find config.h in the build directory.
.c.o:
	$(CC) $(defines) -c -I. -I$(srcdir) $(CFLAGS) $< $(OUTPUT_OPTION)

# lex rule
.l.o:

.l.c:
	$(LEX) $(LEXFLAGS) $<
	mv lex.yy.c $@

# yacc rule
.y.o:

.y.c:
	$(YACC) $(YACCFLAGS) $<
	mv y.tab.c $@
	mv -f y.tab.h $*.h

# For some losing Unix makes.
SHELL = /bin/sh
MAKE = make

FORCE:

tagsrcs = $(srcs) $(srcdir)/rcfile_l.c $(srcdir)/rcfile_y.c
TAGS: $(tagsrcs)
	$(ETAGS) $(tagsrcs)
tags: $(tagsrcs)
	$(CTAGS) $(tagsrcs)

.PHONY: install installdirs
install: installdirs \
	 $(bindir)/$(instname) $(mandir)/$(instname).$(manext) # $(infodir)/fetchmail.info

installdirs:
	$(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(mandir) # $(infodir)

$(bindir)/$(instname): fetchmail
	$(INSTALL_PROGRAM) fetchmail $@

$(infodir)/fetchmail.info: fetchmail.info
	if [ -r ./fetchmail.info ]; then dir=.; else dir=$(srcdir); fi; \
	for file in $${dir}/fetchmail.info*; do \
	  name="`basename $$file`"; \
	  $(INSTALL_DATA) $$file \
	    `echo $@ | sed "s,fetchmail.info\$$,$$name,"`; \
	done
# Run install-info only if it exists.
# Use `if' instead of just prepending `-' to the
# line so we notice real errors from install-info.
# We use `$(SHELL) -c' because some shells do not
# fail gracefully when there is an unknown command.
	if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
	  install-info --infodir=$(infodir) $$dir/fetchmail.info; \
	else true; fi

$(mandir)/$(instname).$(manext): fetchmail.man
	$(INSTALL_DATA) $(srcdir)/fetchmail.man $@


.PHONY: clean realclean distclean mostlyclean
clean: 
	-rm -f fetchmail *.o core fetchmail.dvi \
	       rcfile_l.c rcfile_y.h rcfile_y.c fetchmail.tar fetchmail.tar.gz

distclean: clean 
	-rm -f Makefile config.h
	-rm -f config.cache config.status config.log stamp-config
	-rm -f TAGS tags
	-rm -f fetchmail.log fetchmail.toc fetchmail.*aux

realclean: distclean # fetchmail.info*

mostlyclean: clean

Makefile: config.status $(srcdir)/Makefile.in
	$(SHELL) config.status

config.h: stamp-config 

stamp-config: config.status $(srcdir)/config.h.in
	$(SHELL) config.status
	touch stamp-config

configure: configure.in
	autoconf $(ACFLAGS)

# This tells versions [3.59,3.63) of GNU make not to export all variables.
.NOEXPORT:


# Special dependencies, not easily handled without explicit rules
$(srcdir)/rcfile_l.c: $(srcdir)/rcfile_l.l
$(srcdir)/rcfile_y.c: $(srcdir)/rcfile_y.y
	echo "expect \"conflicts:  5 shift/reduce\""
	$(YACC) $(YACCFLAGS) $<
	mv y.tab.c $@
	mv -f y.tab.h $*.h

parser = $(srcdir)/rcfile_l.l $(srcdir)/rcfile_y.y
headers = $(srcdir)/fetchmail.h $(srcdir)/socket.h $(srcdir)/smtp.h
extra = $(srcdir)/alloca.c $(srcdir)/getopt.[ch] $(srcdir)/getopt1.c \
	$(srcdir)/md5*.[ch] $(srcdir)/strcasecmp.c $(srcdir)/strdup.c
docs = $(srcdir)/COPYING $(srcdir)/README $(srcdir)/INSTALL $(srcdir)/NEWS \
	$(srcdir)/fetchmail.lsm $(srcdir)/RFC/*.txt \
	$(srcdir)/*.man	$(srcdir)/sample.rcfile
config = $(srcdir)/Makefile.in $(srcdir)/configure.in $(srcdir)/configure \
	$(srcdir)/config.guess $(srcdir)/config.h.in $(srcdir)/config.sub
scripts = $(srcdir)/install.sh $(srcdir)/mkinstalldirs
all = $(docs) $(config) $(srcs) $(parser) $(headers) $(extra) $(scripts) \
	$(srcdir)/MANIFEST

MANIFEST: $(srcdir)
	@echo $(all) | tr "[ \t]" '\n' | sort | sed "s/\\./fetchmail-$(VERS)/" >MANIFEST

fetchmail-$(VERS).tar: $(all)
	(cd ..; tar -cf fetchmail-$(VERS).tar `cat fetchmail-$(VERS)/MANIFEST`)
	mv ../fetchmail-$(VERS).tar fetchmail-$(VERS).tar
fetchmail-$(VERS).tar.gz: fetchmail-$(VERS).tar
	gzip -f fetchmail-$(VERS).tar

# The automatically generated dependencies below may omit config.h
# because it is included with ``#include <config.h>'' rather than
# ``#include "config.h"''.  So we add the explicit dependency to make sure.
$(objs): config.h

# Automatically generated dependencies will be put at the end of the file.