#
# ppp top level makefile for SVR4 and Solaris 2
#
# $Id: Makefile.top,v 1.3 2004/11/01 09:31:07 paulus Exp $
#

include Makedefs.com

all:
	cd chat; $(MAKE) all
	cd pppd; $(MAKE) all
	cd pppstats; $(MAKE) all
	cd pppdump; $(MAKE) all
	cd solaris; $(MAKE) all

install: $(BINDIR) $(MANDIR)/man8 install-progs

install-progs:
	cd chat; $(MAKE) install
	cd pppd; $(MAKE) install
	cd pppstats; $(MAKE) install
	cd pppdump; $(MAKE) install

install-etcppp: $(ETCDIR) $(ETCDIR)/options $(ETCDIR)/pap-secrets \
	$(ETCDIR)/chap-secrets

install-modules:
	cd solaris; $(MAKE) install

$(ETCDIR)/options:
	cp etc.ppp/options $@
	chmod go-w $@
$(ETCDIR)/pap-secrets:
	$(INSTALL) -f $(ETCDIR) -m 600 etc.ppp/pap-secrets
$(ETCDIR)/chap-secrets:
	$(INSTALL) -f $(ETCDIR) -m 600 etc.ppp/chap-secrets

$(BINDIR):
	mkdir -m 755 -p $@
$(MANDIR)/man8:
	mkdir -m 755 -p $@
$(ETCDIR):
	mkdir -m 755 -p $@

clean:
	rm -f *~
	cd chat; $(MAKE) clean
	cd pppd; $(MAKE) clean
	cd pppstats; $(MAKE) clean
	cd pppdump; $(MAKE) clean
	cd solaris; $(MAKE) clean

# no tests yet, one day...
installcheck:
	true
