#
# Makeconfig	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
#
# Linux DLL stuff by Mitch <m.dsouza@mrc-apu.cam.ac.uk>

# If you dont want a DLL built (i.e you build this on a non-linux machine)
# then comment out the next line or DLL=no (anything but true will do)
DLL=true

CC=gcc
GCOPTS=	-g -O -Wall
GCOPTS=	-O6 -Wall
RPCLIB=

RANLIB=ranlib
AR=ar
STRIP=strip
MAKE=make
RM=rm
AS=as

# If your libc is verison 4.4.4 or less, (for Shared DLL version only)
# then define LIBC=old as libgcc is no longer shared.
LIBC=new

#**********[ You shouldn't need to edit anything below this line ]********

DLL_VERSION=1.0.a27
DLL_LOADADDR=0x60800000

MKIMAGE=/usr/dll/bin/mkimage
MKSTUBS=/usr/dll/bin/mkstubs
JUMP_AS=/usr/dll/jump/

ifndef TOP
TOP=$(shell pwd)
endif

ifeq ($(LIBC),new)
LIBGCC=$(shell $(CC) --print-libgcc-file-name)
else
LIBGCC=-lgcc
endif

SHARED=.shared
SHARED_DIR=$(TOP)/libs
LIBS=-L$(TOP)/libs -lnsl -lc

CFLAGS:=$(GCOPTS) -I. -I../include -I$(TOP)/config

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

JUMP_DIR:=$(TOP)/jump
JUMP_LIB:=libnsl
export JUMP_DIR:=$(JUMP_DIR)
export JUMP_LIB:=$(JUMP_LIB)

# When building a library take special actions for building objects

ifdef LIB
ifeq ($(DLL),true)
.c.o:
	$(CC) -S $(CFLAGS) -c $*.c -o $*.s
# The shared object
	@$(JUMP_AS)/as -o $*.o $*.s 2>/dev/null
	@$(AR) rc $(SHARED_DIR)/$(SHARED)$(JUMP_LIB).a $*.o 
	@$(RM) -f $*.o
# The static object
	@$(AS) -o $*.o $*.s
	@$(AR) rc $(SHARED_DIR)/$(JUMP_LIB).a $*.o
	@$(RM) -f $*.s
else
.c.o:
	$(CC) $(CFLAGS) -c $*.c
	$(AR) rc $(SHARED_DIR)/$(JUMP_LIB).a $*.o
endif

$(LIB): $(OBJS)
	$(AR) qc $@ $(OBJS)
	$(RANLIB) $@
endif
