#
# $Id: Makefile.in,v 1.41 1997/12/08 14:26:49 bg Exp $
#

SHELL = /bin/sh

srcdir = @srcdir@
VPATH = @srcdir@

CC	= @CC@
CPP	= @CPP@
AR	= ar
RANLIB	= @RANLIB@
DEFS	= @DEFS@
CFLAGS	= @CFLAGS@
AWK	= @AWK@

INSTALL = @INSTALL@
INSTALL_DATA	= @INSTALL_DATA@
MKINSTALLDIRS = @top_srcdir@/mkinstalldirs

prefix = @prefix@
exec_prefix = @exec_prefix@
libdir = @libdir@

PICFLAGS = # @PICFLAGS@
 
LIBNAME = $(LIBPREFIX)roken
#LIBEXT = @LIBEXT@ Always build archive library and don't install!
LIBEXT = a
LIBPREFIX = @LIBPREFIX@
SHLIBEXT = @SHLIBEXT@
LDSHARED = @LDSHARED@
LIB = $(LIBNAME).$(LIBEXT)

SOURCES = \
	base64.c \
	chown.c \
	concat.c \
	daemon.c \
	err.c \
	errx.c \
	fchown.c \
	flock.c \
	get_window_size.c \
	getarg.c \
	getcwd.c \
	getdtablesize.c \
	gethostname.c \
	getopt.c \
	getusershell.c \
	hstrerror.c \
	inaddr2str.c \
	inet_aton.c \
	initgroups.c \
	iruserok.c \
	k_getpwnam.c \
	k_getpwuid.c \
	lstat.c \
	memmove.c \
	mini_inetd.c \
	mkstemp.c \
	putenv.c \
	rcmd.c \
	readv.c \
	setegid.c \
	setenv.c \
	seteuid.c \
	signal.c \
	snprintf.c \
	strcasecmp.c \
	strdup.c \
	strerror.c \
	strftime.c \
	strlwr.c \
	strnlen.c \
	strsep.c \
	strtok_r.c \
	strupr.c \
	tm2time.c \
	unsetenv.c \
	verify.c \
	verr.c \
	verrx.c \
	vsyslog.c \
	vwarn.c \
	vwarnx.c \
	warn.c \
	warnerr.c \
	warnx.c

OBJECTS = \
	base64.o \
	concat.o \
	get_window_size.o \
	getarg.o \
	inaddr2str.o \
	k_getpwnam.o \
	k_getpwuid.o \
	mini_inetd.o \
	signal.o \
	snprintf.o \
	strcasecmp.o \
	tm2time.o \
	verify.o \
	warnerr.o \
	@LIBOBJS@

all: $(LIB) install-roken-h

Wall:
	make CFLAGS="-g -Wall -Wno-comment -Wmissing-prototypes -Wmissing-declarations -D__USE_FIXED_PROTOTYPES__"

.c.o:
	$(CC) -c $(CPPFLAGS) $(DEFS) -I. -I../../include -I$(srcdir) $(CFLAGS) $(PICFLAGS) $<

install: all

uninstall:

TAGS: $(SOURCES)
	etags $(SOURCES)

check:

clean:
	rm -f $(LIB) *.o *.a roken.h make-roken make-roken.c

mostlyclean: clean

distclean: clean
	rm -f Makefile *.tab.c *~

realclean: distclean
	rm -f TAGS

dist: $(DISTFILES)
	for file in $(DISTFILES); do \
	  ln $$file ../`cat ../.fname`/lib \
	    || cp -p $$file ../`cat ../.fname`/lib; \
	done

$(LIBNAME).a: $(OBJECTS)
	rm -f $@
	$(AR) cr $@ $(OBJECTS)
	-$(RANLIB) $@

$(LIBNAME).$(SHLIBEXT): $(OBJECTS)
	rm -f $@
	$(LDSHARED) -o $@ $(OBJECTS)

roken.h: make-roken
	@./make-roken > tmp.h ;\
	if [ -f roken.h ] && cmp -s tmp.h roken.h ; then rm -f tmp.h ; \
	else rm -f roken.h; mv tmp.h roken.h; fi

make-roken: make-roken.o
	$(CC) -o make-roken make-roken.o

make-roken.c: roken.h.in roken.awk
	$(AWK) -f $(srcdir)/roken.awk $(srcdir)/roken.h.in > make-roken.c

install-roken-h: roken.h
	@if [ -f ../../include/roken.h ] && cmp -s ../../include/roken.h roken.h ; \
	then :; else \
	echo "  $(INSTALL) roken.h ../../include/roken.h"; \
	$(INSTALL) roken.h ../../include/roken.h; fi

$(OBJECTS): ../../include/config.h roken.h
