# Makefile for ../xforward/xforward
 
CCOPTS        = -O

EXTRA_AIX_CFLAGS = -qlanglvl=ansi
EXTRA_HPUX_CFLAGS = -Aa -D _HPUX_SOURCE
EXTRA_SUNOS_LIBS = -lnsl -lsocket -R/usr/openwin/lib

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

CC	      = cc

DEST	      = .

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

EXTHDRS	      = ../include/xforward.h 

HDRS	      =

INSTALL	      = install

LD	      = $(CC)

LD_LINUX     = $(CC)

LDFLAGS	      =

LIBS	      = ../libsrc/firewall.a \
		../netlib/netlibp2.a

LINTLIBS      =

LINTFLAGS     = -u $(CFLAGS)

MAKEFILE      = Makefile

OBJS	      = dialog.o \
		getenv.o \
		setenv.o \
		shell.o \
		socket.o \
		xfwdio.o \
		xforward.o

PRINT	      = pr

PRINTFLAGS    =

LP	      = lp

LPFLAGS       = 

PROGRAM       = xforward

SHELL	      = /bin/sh

SRCS	      = dialog.c \
		getenv.c \
		setenv.c \
		shell.c \
		socket.c \
		xfwdio.c \
		xforward.c

XLIBS         = /usr/lib/libXt.a \
		/usr/lib/libXaw.a \
		/usr/lib/libXext.a \
		/usr/lib/libXmu.a \
		/usr/lib/libX11.a

XLIBS_HPUX    = /usr/lib/libXt.1 \
		/usr/lib/X11R4/libXaw.sl \
		/usr/lib/libXext.1 \
		/usr/lib/X11R4/libXmu.sl \
		/usr/lib/libX11.1

XLIBS_SUNOS   = /usr/openwin/lib/libXt.so \
		/usr/openwin/lib/libXaw.so \
		/usr/openwin/lib/libXext.so \
		/usr/openwin/lib/libXmu.so \
		/usr/openwin/lib/libX11.so

XLIBS_LINUX   = /usr/X11R6/lib/libXt.so \
                /usr/X11R6/lib/libXaw.so \
                /usr/X11R6/lib/libXext.so \
                /usr/X11R6/lib/libXmu.so \
                /usr/X11R6/lib/libX11.so


all:		$(PROGRAM)

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

$(PROGRAM):     $(OBJS) $(LIBS) $(MAKEFILE)
		@echo "Linking $(PROGRAM) ..."
		@if [ "`uname`" = "HP-UX" ]; then \
		$(LD) $(LDFLAGS) $(OBJS) $(LIBS) $(XLIBS_HPUX) -o $(PROGRAM); \
		elif [ "`uname`" = "SunOS" ]; then \
		$(LD) $(LDFLAGS) $(OBJS) $(LIBS) $(EXTRA_SUNOS_LIBS) $(XLIBS_SUNOS) -o $(PROGRAM); \
		elif [ "`uname`" = "Linux" ]; then \
		$(LD_LINUX) $(LDFLAGS) $(OBJS) $(LIBS) $(XLIBS_LINUX) -o $(PROGRAM); \
		else \
		$(LD) $(LDFLAGS) $(OBJS) $(LIBS) $(XLIBS) -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)
###
dialog.o: ../include/xforward.h 
shell.o: ../include/xforward.h 
socket.o: ../include/xforward.h 
xfwdio.o: ../include/xforward.h
xforward.o: ../include/xforward.h
