# Makefile for ../util/adam/adam

CCOPTS        = -O
#CCOPTS        = -g

EXTRA_AIX_CFLAGS = -qlanglvl=ansi
EXTRA_HPUX_CFLAGS = -Aa -D _HPUX_SOURCE

CFLAGS	      = -I../../include $(CCOPTS)
PFLAGS	      = -I../../include $(CCOPTS)
FFLAGS	      = -I../../include $(CCOPTS)
CCFLAGS       = -I../../include $(CCOPTS)
CXXFLAGS      = -I../../include $(CCOPTS)

CC	      = cc

CC_AIX	      = xlC

CC_LINUX      = g++

DEST	      = .

# Uncomment this if you want system header files to be expanded
#
# SYSHDRS       =

EXTHDRS	      = ../../include/firewall.h \
                ../../include/adam.h \
		../../include/smwrap.h

HDRS	      = ndbm.h

INSTALL	      = install

LD	      = $(CC)

LD_AIX	      = cc

LD_LINUX      = $(CC_LINUX)

LDFLAGS	      =

EXTRA_LIBS    = /usr/lib/libdbm.a

LINUX_LIBS    = -ldb 

LIBS	      = ../../libsrc/firewall.a \
                ../../libdes/libdes.a

LINTLIBS      =

LINTFLAGS     = -u $(CFLAGS)

MAKEFILE      = Makefile

OBJS	      = adam.o \
		addaliases.o \
		bldaliases.o \
		cntaliasesDB.o \
		delaliases.o \
		prtaliasesDB.o

PRINT	      = pr

PRINTFLAGS    =

LP	      = lp

LPFLAGS       = 

PROGRAM       = adam 

SHELL	      = /bin/sh

SRCS	      = adam.c \
		addaliases.c \
		bldaliases.c \
		cntaliasesDB.c \
		delaliases.c \
		prtaliasesDB.c

all:		$(PROGRAM)

#$(OBJS):	$(MAKEFILE)
# Linux does not like $(OBJS): use .c.o: instead
.C.o:		$(MAKEFILE)
		@if [ "`uname`" = "AIX" ]; then \
		echo "$(CC_AIX) -c $(CFLAGS) $(EXTRA_AIX_CFLAGS) $<"; \
		$(CC_AIX) -c $(CFLAGS) $(EXTRA_AIX_CFLAGS) $<; \
		elif [ "`uname`" = "HP-UX" ]; then \
 		echo "$(CC) -c $(CFLAGS) $(EXTRA_HPUX_CFLAGS) $<"; \
		$(CC) -c $(CFLAGS) $(EXTRA_HPUX_CFLAGS) $<; \
		elif [ "`uname`" = "Linux" ]; then \
		echo "$(CC_LINUX) -c $(CFLAGS) $<"; \
		$(CC_LINUX) -c $(CFLAGS) $<; \
		else \
		echo "$(CC) -c $(CFLAGS) $<"; \
		$(CC) -c $(CFLAGS) $<; \
		fi

$(PROGRAM):     $(OBJS) $(LIBS) $(MAKEFILE)
		@echo "Linking $(PROGRAM) ..."
		@if [ "`uname`" = "AIX" ]; then \
		$(LD_AIX) $(LDFLAGS) $(OBJS) $(LIBS) $(EXTRA_LIBS) \
				-o $(PROGRAM); \
		elif [ "`uname`" = "Linux" ]; then \
		$(LD_LINUX) $(LDFLAGS) $(OBJS) $(LIBS) $(LINUX_LIBS) \
				-o $(PROGRAM); \
		elif [ "`uname`" = "SunOS" ]; then \
		$(LD) $(LDFLAGS) $(OBJS) $(LIBS) \
				-o $(PROGRAM); \
		else \
		$(LD) $(LDFLAGS) $(OBJS) $(LIBS) $(EXTRA_LIBS) -o $(PROGRAM); \
		fi
		@echo "done"

clean:;		@rm -f $(PROGRAM) $(LIBRARY) $(OBJS) core make.log

clobber:;	@rm -f $(OBJS) $(PROGRAM) core tags

depend:;	@mkmf -f $(MAKEFILE) ROOT=$(ROOT)

echo:;		@echo $(HDRS) $(SRCS)

-1:;		@ctags -wx $(HDRS) $(SRCS)

install:	$(PROGRAM)
		@echo Installing $(PROGRAM) in $(DEST)
		@-strip $(PROGRAM)
		@if [ $(DEST) != . ]; then \
		(rm -f $(DEST)/$(PROGRAM); $(INSTALL) -d $(DEST); $(INSTALL) $(PROGRAM) $(DEST)); fi

lint:		$(LINTLIBS) $(SRCS) $(HDRS) $(EXTHDRS)
		lint $(LINTFLAGS) $(LINTLIBS) $(SRCS)

print:;		@$(PRINT) $(PRINTFLAGS) $(HDRS) $(SRCS) | $(LP) $(LPFLAGS)

tags:           $(HDRS) $(SRCS); @ctags $(HDRS) $(SRCS)

update:		$(DEST)/$(PROGRAM)

touch:;		@touch $(SRCS) $(HDRS)
###
adam.o: ../../include/firewall.h ../../include/adam.h ../../include/smwrap.h ndbm.h
addaliases.o: ../../include/adam.h ../../include/smwrap.h ndbm.h
bldaliases.o: ../../include/firewall.h ../../include/adam.h ../../include/smwrap.h ndbm.h
cntaliasesDB.o: ../../include/adam.h ../../include/smwrap.h ndbm.h
delaliases.o: ../../include/adam.h ../../include/smwrap.h ndbm.h
prtaliasesDB.o: ../../include/firewall.h ../../include/adam.h ../../include/smwrap.h ndbm.h
