# Makefile for psl
# This does little more than provide a convenient installation

BINDIR=/var/lib/news/psl
MANDIR=/usr/local/man/man1
PERL=/usr/bin/perl
DBZPERL=/usr/local/bin/dbzperl

FILES=  psl.README psl.1 psl-tools.1 \
       psl-init psl-salvage psl-subscribe psl-run \
        psl-aux.pl lockfiles.pl mkid.pl addgrps xmvjunk docheckg \
       psl-parm.proto perl.patch substman.pl Makefile COPYING
GFILES= getnews/README \
       getnews/getnews getnews/getnews-setup getnews/setup.mesg \
       getnews/setup.german.mesg getnews/messages getnews/mbc \
       getnews/Makefile

PROGSP=psl-init psl-salvage psl-subscribe addgrps xmvjunk docheckg
PROGSD=psl-run
PROGSN=psl-parm.pl psl-aux.pl lockfiles.pl
PROGS=$(PROGSP) $(PROGSD) $(PROGSN)
MANS=psl.1 psl-tools.1

all: $(PROGS)

getnews:
       cd getnews && $(MAKE) all PERL=$(PERL)

install: all
       [ -d $(BINDIR)  ] || mkdir $(BINDIR)
       for i in $(PROGSP); do \
               echo "#!$(PERL) -I$(BINDIR)" > $(BINDIR)/$$i; \
               grep -v '^\#!' $$i >> $(BINDIR)/$$i; \
               chmod +rx $(BINDIR)/$$i; \
       done
       for i in $(PROGSD); do \
               echo "#!$(DBZPERL) -I$(BINDIR)" > $(BINDIR)/$$i; \
               grep -v '^\#!' $$i >> $(BINDIR)/$$i; \
               chmod +rx $(BINDIR)/$$i; \
       done
       for i in $(PROGSN); do cp $$i $(BINDIR); chmod +r $(BINDIR)/$$i; done
       for i in $(MANS); do \
               $(PERL) substman.pl $$i > $(MANDIR)/$$i; \
               chmod a+r $(MANDIR)/$$i; \
       done

install.getnews:
       cd getnews; \
               $(MAKE) install BINDIR=$(BINDIR) MANDIR=$(MANDIR) PERL=$(PERL)

psl-parm.pl: psl-parm.proto
       cp psl-parm.proto psl-parm.pl
       chmod u+w psl-parm.pl
       @echo "First configure psl-parm.pl!"
       @exit 1

psl.tar: $(FILES)
       tar cvf psl.tar $(FILES)

#shar: $(FILES) $(GFILES)
#       cd ..; echo " "$(FILES)" "$(GFILES) | \
#               sed 's: : psl/:g' | xargs shar psl > psl.shar

shar: $(FILES) $(GFILES)
       cd ..; shar $(patsubst %,psl/%, $(FILES) $(GFILES)) > psl.shar

post: shar
       cat Blurb ../psl.shar > psl.post

clean:
       rm -f psl-parm.pl psl.post psl.tar *~ *.msg
       cd getnews; $(MAKE) clean

co.l:
       co -l $(FILES)

ci: $(FILES)
       ci -u $(FILES)

ci.f: $(FILES) .VERSION .STATE
       ci -n `cat .VERSION` -s `cat .STATE` -u $(FILES)
