$NetBSD: patch-aa,v 1.3 2000/04/27 03:29:44 jlam Exp $

--- Makefile.orig	Sat Sep 18 11:29:44 1999
+++ Makefile	Sat Jan 15 12:34:29 2000
@@ -3,16 +3,19 @@
 
 # Debugging options
 
-DEBUG = -g -DHEXDUMP
+#DEBUG = -g -DHEXDUMP
 #DEBUG = -g -DHEXDUMP -DNOCRYPTO
-#DEBUG = -O
+DEBUG = -O
   
 # Installation 
 
 # Install program
-INSTALL = /usr/bin/install
+#INSTALL = /usr/bin/install
+INSTALL_PROGRAM = ${BSD_INSTALL_PROGRAM}
+INSTALL_SCRIPT = ${BSD_INSTALL_SCRIPT}
+INSTALL_MAN = ${BSD_INSTALL_MAN}
 # Installation root directory
-INSTDIR = /usr/local
+INSTDIR = ${PREFIX}
 # Binaries
 INSTDIR_BIN = $(INSTDIR)/bin
 # Manual pages
@@ -38,9 +41,9 @@
 #    functionality is working.	Please see the detailed description
 #    of the available flags which follows these declarations.
 #
-CCFLAGS =  -DAUDIO_BLOCKING -DLINUX -DHALF_DUPLEX -DM_LITTLE_ENDIAN
-CC = gcc -O3 # for GNU's gcc compiler
-LFLAGS = -lncurses -lm
+#CCFLAGS =  -DAUDIO_BLOCKING -DLINUX -DHALF_DUPLEX -DM_LITTLE_ENDIAN
+#CC = gcc -O3 # for GNU's gcc compiler
+#LFLAGS = -lncurses -lm
 #
 # If the above LFLAGS doesn't work, try the one below.
 #LFLAGS = -lcurses -lm
@@ -223,6 +226,18 @@
 #CCFLAGS = -DM_LITTLE_ENDIAN
 #LFLAGS = -lcurses -ltermcap -lcompat -lm
 
+#			      NetBSD 1.4
+#		      (courtesy of John A. Maier)
+
+# -lossaudio is needed to provide OSS audio emulation.  -DHALF_DUPLEX may
+# also be needed in CCFLAGS depending on the driver for the sound card
+# (see below).  -lcompat is needed to link correctly since the source uses
+# the obsoleted function cuserid().
+
+CCFLAGS +=	-DUSE_CURSES
+CCFLAGS +=	-DSOUNDDIR=\"${SOUNDDIR}\"
+LFLAGS +=	-lcurses -ltermcap -lm -lcompat -lossaudio
+
 #			   Hewlett-Packard
 #		      (courtesy of Marc Kilian)
 #
@@ -233,7 +248,7 @@
 
 # Where Perl is located on your system.  This is used to make
 # a directly-executable version of sfvod.
-PERL = /usr/bin/perl
+#PERL = /usr/bin/perl
 
 # If your audio hardware is half duplex, uncomment the next line.
 # You can also, if you wish, define this on the CCFLAGS definition
@@ -267,23 +282,67 @@
 
 CARGS = -DInternet_Port=$(INTERNET_PORT)
 
+# Crypto
+.if defined(USE_CRYPTO) && $(USE_CRYPTO) == "YES"
+.if defined(HAVE_LIBCRYPTO) && $(HAVE_LIBCRYPTO) == "YES"
+CRYPTOFLAGS =	-I$(SSLBASE)/include/openssl
+CRYPTOLIBS =	des/des.a -Wl,-R$(SSLBASE)/lib -L$(SSLBASE)/lib -lcrypto
+CRYPTOOBJS =	deslib.o
+.else
+CRYPTOFLAGS =	-Ilibdes -Iblowfish
+CRYPTOLIBS =	blowfish/libblowfish.a des/des.a libdes/libdes.a
+CRYPTOOBJS =	libblowfish.o deslib.o libdes.o
+.if defined(USE_IDEA) && $(USE_IDEA) == "YES"
+CRYPTOFLAGS +=	-DUSE_IDEA -Iidea
+CRYPTOLIBS +=	idea/idea.a
+CRYPTOOBJS +=	idealib.o
+.endif
+.endif
+.else
+CCFLAGS +=	-DNOCRYPTO
+CRYPTOFLAGS =
+CRYPTOLIBS =
+CRYPTOOBJS =
+.endif
+
+.if defined(HAVE_GSM) && ${HAVE_GSM} == "YES"
+GSMFLAGS =	-I${LOCALBASE}/include
+GSMLIBS =	-Wl,-R${LOCALBASE}/lib -L${LOCALBASE}/lib -lgsm
+GSMOBJS =
+.else
+GSMFLAGS =	-Igsm/inc
+GSMLIBS =	gsm/lib/libgsm.a
+GSMOBJS =	gsmlib.o
+.endif
+
+.if defined(HAVE_MD5) && $(HAVE_MD5) == "YES"
+MD5FLAGS =	-I/usr/include
+MD5LIBS =
+MD5OBJS =
+.else
+MD5FLAGS =	-Imd5
+MD5LIBS =	md5/md5.o
+MD5OBJS =	md5lib.o
+.endif
+
 #   Compiler flags
 
-CFLAGS = $(DEBUG) -Iadpcm -Ilpc -Igsm/inc -Imd5 -Iidea -Ilibdes -Iblowfish $(CARGS) $(DUPLEX) $(CCFLAGS) $(DOMAIN)
+CFLAGS = $(DEBUG) -Iadpcm -Ilpc $(GSMFLAGS) $(MD5FLAGS) $(CRYPTOFLAGS) $(CARGS) $(DUPLEX) $(CCFLAGS) $(DOMAIN)
 
-PROGRAMS = sfspeaker sfmike sflaunch sflwld sflwl sfecho sfreflect sfvod
+PROGRAMS = sfspeaker sfmike sflaunch sflwld sflwl sfecho sfreflect
+SCRIPTS =  sfvod
 
-all:	$(PROGRAMS)
+all:	$(PROGRAMS) $(SCRIPTS)
 
 SPKROBJS = speaker.o codecs.o deskey.o g711.o rate.o rtpacket.o soundbyte.o ulaw.o usleep.o vatpkt.o vox.o audio_hp.o audio_sgi.o common.o
 
-sfspeaker: $(SPKROBJS) adpcmlib.o libblowfish.o lpclib.o lpc10lib.o gsmlib.o deslib.o md5lib.o idealib.o libdes.o xdsub.o 
-	$(CC) $(SPKROBJS) adpcm/adpcm-u.o blowfish/libblowfish.a des/des.a md5/md5.o idea/idea.a lpc10/liblpc10.a gsm/lib/libgsm.a lpc/lpc.o xdsub.o libdes/libdes.a $(LFLAGS) -o sfspeaker
+sfspeaker: $(SPKROBJS) adpcmlib.o lpclib.o lpc10lib.o $(GSMOBJS) $(MD5OBJS) xdsub.o $(CRYPTOOBJS)
+	$(CC) $(SPKROBJS) adpcm/adpcm-u.o $(MD5LIBS) lpc10/liblpc10.a $(GSMLIBS) lpc/lpc.o xdsub.o $(CRYPTOLIBS) $(LFLAGS) -o sfspeaker
 
 MIKEOBJS = mike.o codecs.o deskey.o g711.o rate.o rtpacket.o soundbyte.o ulaw.o usleep.o vatpkt.o xdsub.o audio_hp.o audio_sgi.o
 
-sfmike: $(MIKEOBJS) adpcmlib.o libblowfish.o lpclib.o lpc10lib.o gsmlib.o deslib.o md5lib.o idealib.o libdes.o
-	$(CC) $(MIKEOBJS) adpcm/adpcm-u.o des/des.a md5/md5.o idea/idea.a -lm blowfish/libblowfish.a lpc10/liblpc10.a gsm/lib/libgsm.a lpc/lpc.o libdes/libdes.a $(LFLAGS) -o sfmike
+sfmike: $(MIKEOBJS) adpcmlib.o lpclib.o lpc10lib.o $(GSMOBJS) $(MD5OBJS) $(CRYPTOOBJS)
+	$(CC) $(MIKEOBJS) adpcm/adpcm-u.o $(MD5LIBS) -lm lpc10/liblpc10.a $(GSMLIBS) lpc/lpc.o $(CRYPTOLIBS) $(LFLAGS) -o sfmike
 
 LAUNCHOBJS = launch.o soundbyte.o usleep.o g711.o
 
@@ -302,13 +361,13 @@
 
 ECHOOBJS = echo.o codecs.o g711.o rtpacket.o ulaw.o xdsub.o
 
-sfecho: $(ECHOOBJS) md5lib.o
-	$(CC) $(ECHOOBJS) md5/md5.o adpcm/adpcm-u.o lpc/lpc.o $(LFLAGS) -o sfecho
+sfecho: $(ECHOOBJS) $(MD5OBJS)
+	$(CC) $(ECHOOBJS) $(MD5LIBS) adpcm/adpcm-u.o lpc/lpc.o $(LFLAGS) -o sfecho
 
 REFLECTOBJS = reflect.o codecs.o html.o g711.o rtpacket.o ulaw.o xdsub.o
 
-sfreflect: $(REFLECTOBJS) md5lib.o
-	$(CC) $(REFLECTOBJS) md5/md5.o adpcm/adpcm-u.o lpc/lpc.o $(LFLAGS) -o sfreflect
+sfreflect: $(REFLECTOBJS) $(MD5OBJS)
+	$(CC) $(REFLECTOBJS) $(MD5LIBS) adpcm/adpcm-u.o lpc/lpc.o $(LFLAGS) -o sfreflect
 
 #	Configure the voice on demand server for the platform's
 #	location of Perl and network constant definitions.
@@ -402,8 +461,8 @@
 
 speakfree.h:	audio_descr.h rtp.h rtpacket.h ulaw2linear.h types.h
 
-testgsm:    testgsm.o gsmlib.o
-	$(CC) testgsm.o -lm gsm/lib/libgsm.a $(LFLAGS) -o testgsm
+testgsm:    testgsm.o $(GSMOBJS)
+	$(CC) testgsm.o -lm $(GSMLIBS) $(LFLAGS) -o testgsm
 
 manpage:
 	nroff -man sfmike.1 | $(PAGER)
@@ -442,7 +501,7 @@
 #	Clean everything
 
 clean:
-	rm -f core *.out *.o *.bak $(PROGRAMS) *.shar sfvod-t*
+	rm -f core *.out *.o *.bak $(PROGRAMS) $(SCRIPTS) *.shar sfvod-t*
 	( cd adpcm; make clean )
 	( cd blowfish; make clean )
 	( cd libdes; make clean )
@@ -456,11 +515,12 @@
 #	Clean only the main directory, not the libraries
 
 dusty:
-	rm -f core *.out *.o *.bak $(PROGRAMS) *.shar sfvod-t*
+	rm -f core *.out *.o *.bak $(PROGRAMS) $(SCRIPTS) *.shar sfvod-t*
 
 #	Install binaries and manual pages.  You'll need to
 #	be root to install in system directories.
 
 install: $(PROGRAMS)
-	$(INSTALL) -o root -g root -m 755 -s $(PROGRAMS) $(INSTDIR_BIN)
-	$(INSTALL) -o root -g root -m 644 *.1 $(INSTDIR_MAN)/man1
+	$(INSTALL_PROGRAM) $(PROGRAMS) $(INSTDIR_BIN)
+	$(INSTALL_SCRIPT) $(SCRIPTS) $(INSTDIR_BIN)
+	$(INSTALL_MAN) *.1 $(INSTDIR_MAN)/man1