#
# Makefile	Top level makefile for the NYS project
#				(NIS, YP, Switch)
#
# Copyright (c) 1993 Signum Support AB, Sweden.
#
# This file is part of the NYS Library.
#
# The NYS Library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# The NYS Library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Library General Public License for more details.
# 
# You should have received a copy of the GNU Library General Public
# License along with the NYS Library; see the file COPYING.LIB.  If
# not, write to the Free Software Foundation, Inc., 675 Mass Ave,
# Cambridge, MA 02139, USA.
#
# Author: Peter Eriksson <pen@signum.se>, 5 Augh 1993
#

include Makeconfig

#*************NO USER SERVICEABLE PARTS BELOW THIS LINE**************

ALLLIBS=	$(SRCDIR)/nsw/lib/libnsw.a \
		$(SRCDIR)/yp/lib/libyp.a \
		$(SRCDIR)/nis/lib/libnis.a \
		$(SRCDIR)/dns/lib/libdns.a

ALLFLAGS=	CC="$(CC)"\
		GCOPTS="$(GCOPTS)" \
		RPCLIB="$(RPCLIB)" \
		AR="$(AR)" \
		RANLIB="$(RANLIB)"

all: libnsl

clients:
	cd yp  ; $(MAKE) $(ALLFLAGS) clnts
	cd nis ; $(MAKE) $(ALLFLAGS) clnts
	cd dns ; $(MAKE) $(ALLFLAGS) clnts
	cd nsw ; $(MAKE) $(ALLFLAGS) clnts

libnsl:
	cd yp  ; $(MAKE) $(ALLFLAGS)
	cd nis ; $(MAKE) $(ALLFLAGS)
	cd dns ; $(MAKE) $(ALLFLAGS)
	cd nsw ; $(MAKE) $(ALLFLAGS)
	cd $(SHARED_DIR); rm -f * ;\
		$(AR) x ../nsw/lib/libnsw.a ;\
		$(AR) x ../yp/lib/libyp.a ;\
		$(AR) x ../nis/lib/libnis.a ;\
		$(AR) x ../dns/lib/libdns.a ;\
		$(AR) cq ../lib/libnsl.a$(SHARED) *.o
	$(RANLIB) lib/libnsl.a$(SHARED)

clean:
	rm -f *.o *~ core tmp/* \#* jump/_* .shared/*
	cd yp  ; $(MAKE) clean
	cd nis ; $(MAKE) clean
	cd dns ; $(MAKE) clean
	cd nsw ; $(MAKE) clean

distclean:
	rm -f *.o *~ core tmp/* lib/* \#* jump/_* .shared/*	
	cd yp  ; $(MAKE) distclean
	cd nis ; $(MAKE) distclean
	cd dns ; $(MAKE) distclean
	cd nsw ; $(MAKE) distclean

dll:
	[ -d .shared ] || mkdir .shared
	$(MAKE) CC="$(CC) -B$(JUMP_AS)" \
		SHARED_DIR=.shared SHARED=.shared
	cd lib ;\
	$(MKIMAGE) -f -l $(JUMP_LIB) -v $(DLL_VERSION) -a $(DLL_LOADADDR) \
		-g 4096 -j 0x4000 -- ../lib/$(JUMP_LIB).a.shared -lc -lgcc -lc ;\
	$(MKSTUBS) -f -l $(JUMP_LIB) -v $(DLL_VERSION) -a $(DLL_LOADADDR) \
		-g 4096 -j 0x4000 -- $(JUMP_LIB) ;\
	$(STRIP) $(JUMP_LIB).so.$(DLL_VERSION)
	rm -f lib/$(JUMP_LIB).a.shared
