#! /bin/sh ## $Revision: 1.1.1.1 $ ## Script to build an easy-to-ship single directory that contains ## everything needed to build rnews on a machine. ## Optional first argument is the destination architecture, like "sun4" DIR=rnews.${1-dist} if [ -d ${DIR} ] ; then echo ${DIR} exists! exit 1 fi mkdir ${DIR} ## Copy the files. for I in \ config/subst.c config/subst.sh config/config.data \ doc/rnews.1 doc/inn.conf.5 frontends/rnews.c \ include/clibrary.h include/configdata.h include/libinn.h \ include/logging.h include/macros.h include/mydir.h include/mystring.h \ include/mymemory.h include/nntp.h include/paths.h \ lib/closeonexec.c lib/findheader.c lib/getconfig.c lib/getfqdn.c \ lib/localopen.c lib/remopen.c lib/sendarticle.c lib/sendpass.c \ lib/strerror.c lib/waitnb.c lib/xmemerr.c lib/xmalloc.c \ lib/xrealloc.c \ site/inn.conf site/passwd.nntp ; do \ cp $I ${DIR} done ## Write the Makefile. We duplicate the RCS revision string of the ## script into the Makefile on purpose. cat <<\EOF >${DIR}/Makefile ## $Revision: 1.1.1.1 $ SHELL = /bin/sh MAKE = make ## Configuration dependencies -- edit as appropriate DEFS = CFLAGS = $(DEFS) -g LDFLAGS = -Bstatic LINTFLAGS=-b -h $(DEFS) ## Manual pages -- install as appropriate for your system DOC = rnews.1 inn.conf.5 ## Configuration files -- install in /usr/lib/news CONF = inn.conf passwd.nntp ## Program sources. HEADERS = \ clibrary.h configdata.h libinn.h macros.h nntp.h paths.h SOURCES = \ closeonexec.c findheader.c getconfig.c getfqdn.c localopen.c \ remopen.c rnews.c sendarticle.c sendpass.c strerror.c waitnb.c \ xmalloc.c xmemerr.c xrealloc.c OBJECTS = \ closeonexec.o findheader.o getconfig.o getfqdn.o localopen.o \ remopen.o rnews.o sendarticle.o sendpass.o strerror.o waitnb.o \ xmalloc.o xmemerr.o xrealloc.o ## First target, just compile everything. all: rnews $(DOC) $(CONF) date >all ## Edit these lines as appropriate for your system install: all cp rnews /usr/bin/rnews cp $(CONF) /usr/lib/news cp rnews.1 /usr/man/man1 cp inn.conf.5 /usr/man/man5 ## Clean up, remove non-essentials. clobber clean: rm -f rnews core tags lint a.out *.o lint: rnews lint $(LINTFLAGS) $(SOURCES) >lint rnews: $(OBJECTS) rm -f rnews $(CC) $(LDFLAGS) -o rnews $(CFLAGS) $(OBJECTS) subst: subst.c subst.sh make c || make sh || { rm -f subst ; echo Failed 1>&2 ; } config: subst config.data $(DOC) $(HEADERS) Makefile ./subst -f config.data $(DOC) $(HEADERS) Makefile date >config c: @rm -f subst $(CC) -o subst subst.c sh: @rm -f subst cp subst.sh subst chmod +x subst ## Dependencies. Default list, below, is probably good enough. depend: Makefile $(SOURCES) makedepend $(DEFS) $(SOURCES) # DO NOT DELETE THIS LINE -- make depend depends on it. $(OBJECTS): $(HEADERS) EOF