#
# Makefile	Top level makefile for the NIS+ NSL project
#


SOMAJOR=0
SOMINOR=4.8

NSLDIRS= yp nis nsw misc

include Makeconfig

all: lib
lib: $(LIBNAME).so

$(LIBNAME).so:
	@set -e; for i in $(NSLDIRS) ; do \
		$(MAKE) -C $$i $(ALLFLAGS) ; \
	done
	gcc -shared -Wl,-soname,$@.$(SOMAJOR) -o $@.$(SOMAJOR).$(SOMINOR) $(TOP)/shared/*
	ln -sf $@.$(SOMAJOR).$(SOMINOR) $@.$(SOMAJOR)
	ln -sf $@.$(SOMAJOR) $@
	$(RANLIB) $(TOP)/$(LIBNAME).a

install: $(LIBNAME).so
	mkdir -p $(DESTDIR)/lib
	mkdir -p $(DESTDIR)/usr/lib
	mkdir -p $(DESTDIR)/usr/include/rpcsvc
	install -m 644 libnsl.a $(DESTDIR)/usr/lib
	install -m 755 libnsl.so.$(SOMAJOR).$(SOMINOR) $(DESTDIR)/lib
	(cd $(DESTDIR)/lib; ln -sf libnsl.so.$(SOMAJOR).$(SOMINOR) \
	libnsl.so.$(SOMAJOR))
	(cd $(DESTDIR)/usr/lib; ln -sf /lib/libnsl.so.$(SOMAJOR) libnsl.so)
	install -m 644 include/rpcsvc/nis.h $(DESTDIR)/usr/include/rpcsvc
	install -m 644 include/rpcsvc/nis.x $(DESTDIR)/usr/include/rpcsvc
	install -m 644 include/rpcsvc/nis_object.x $(DESTDIR)/usr/include/rpcsvc
	install -m 644 include/rpcsvc/nis_tags.h $(DESTDIR)/usr/include/rpcsvc
	install -m 644 include/rpcsvc/nislib.h $(DESTDIR)/usr/include/rpcsvc
	install -m 644 include/rpcsvc/ypupd.h $(DESTDIR)/usr/include/rpcsvc

realclean clean:
	rm -f *.o *~ core \#* $(LIBNAME).* shared/*
	@set -e; for i in $(NSLDIRS); \
	do \
		echo making clean in $$i; \
		$(MAKE) -C $$i clean; \
	done
