--- Makefile.orig	Wed Jan 26 17:07:53 2000
+++ Makefile	Wed Jan 26 17:09:33 2000
@@ -4,19 +4,21 @@
 
 # Where to install binary and manpage on "make install":
 
-PREFIX=/usr/local
+#PREFIX=/usr/local
 BINDIR=$(PREFIX)/bin
 MANDIR=$(PREFIX)/man
 SECTION=1
 
 # Enable the below line If your plathome support IPv6
-#CFLAGS+= -DINET6
+.if defined(USE_INET6)
+CFLAGS+= -DINET6
+.endif
 # Additional LIBDIR and libraries if exist
-IPV6LIBDIR=
-IPV6LIB=
+#IPV6LIBDIR=
+#IPV6LIB=
 ### KAME stack
-#IPV6LIBDIR=-L/usr/local/v6/lib
-#IPV6LIB=-linet6
+IPV6LIBDIR=-L/usr/local/v6/lib
+IPV6LIB=-linet6
 ### BSD/OS 4.0 (NRL) stack
 #IPV6LIBDIR=
 #IPV6LIB=
@@ -300,35 +302,42 @@
 #CFLAGS='$(CFLAGS) -DI386_ASSEM -O2 -DREAL_IS_FLOAT -DLINUX -Wall -g'
 #CFLAGS='$(CFLAGS) -DI386_ASSEM -DREAL_IS_FLOAT -DLINUX -Wall -O2 -m486 -fomit-frame-pointer -funroll-all-loops -finline-functions -ffast-math -malign-loops=2 -malign-jumps=2 -malign-functions=2'
 
+CC ?= cc
+LDFLAGS =
+CFLAGS ?=-O4 -m486
+
+.if defined(OPT_ARCH)
+.if (${OPT_ARCH} == "i486")
+ARCHOPT = -DI486_OPT
+ARCHFILES = decode_i486.o dct64_i486.o
+.elif (${OPT_ARCH} == "i586")
+ARCHOPT = -DPENTIUM_OPT
+ARCHFILES = decode_i586.o
+.endif
+.endif
+
+CFLAGS +=-Wall -ansi -pedantic -fomit-frame-pointer \
+	-funroll-all-loops -ffast-math -DROT_I386 \
+	-DREAD_MMAP \
+	-DI386_ASSEM ${ARCHOPT} -DREAL_IS_FLOAT -DUSE_MMAP -DOSS -DTERM_CONTROL
+
+.if defined(OPT_ESOUND)
+CFLAGS +=-I${PREFIX}/include
+LDFLAGS+=-L${PREFIX}/lib
+.endif
+
 freebsd:
-	$(MAKE) CC=cc LDFLAGS= \
-		OBJECTS='decode_i386.o dct64_i386.o audio_oss.o' \
-		CFLAGS='$(CFLAGS) -Wall -ansi -pedantic -O4 -m486 -fomit-frame-pointer \
-			-funroll-all-loops -ffast-math -DROT_I386 \
-			-DREAD_MMAP \
-			-DI386_ASSEM -DREAL_IS_FLOAT -DUSE_MMAP -DOSS' \
+	${MAKE}	OBJECTS='decode_i386.o ${ARCHFILES} dct64_i386.o audio_oss.o term.o' \
 		mpg123-make
 
 freebsd-esd:
-	$(MAKE) CC=cc LDFLAGS= \
-		AUDIO_LIB='-lesd -laudiofile' \
-		OBJECTS='decode_i386.o dct64_i386.o $(GETBITS) audio_esd.o' \
-		CFLAGS='$(CFLAGS) -Wall -ansi -pedantic -O4 -m486 -fomit-frame-pointer \
-			-funroll-all-loops -ffast-math -DROT_I386 \
-			-DREAD_MMAP \
-			-DI386_ASSEM -DREAL_IS_FLOAT -DUSE_MMAP -DOSS \
-			-I/usr/local/include -L/usr/local/lib \
-			$(CFLAGS)' \
+	$(MAKE) AUDIO_LIB='-lesd -laudiofile' \
+		OBJECTS='decode_i386.o ${ARCHFILES} dct64_i386.o audio_esd.o term.o' \
 		mpg123-make
 
 freebsd-frontend:
-	$(MAKE) CC=cc LDFLAGS= \
-		OBJECTS='decode_i386.o dct64_i386.o audio_oss.o \
+	$(MAKE) OBJECTS='decode_i386.o ${ARCHFILES} dct64_i386.o audio_oss.o \
 			control_sajber.o control_tk3play.o' \
-		CFLAGS='$(CFLAGS) -Wall -ansi -pedantic -O4 -m486 -fomit-frame-pointer \
-			-funroll-all-loops -ffast-math -DROT_I386 \
-			-DFRONTEND \
-			-DI386_ASSEM -DREAL_IS_FLOAT -DUSE_MMAP -DOSS' \
 		$(FRONTEND)
  
 
@@ -567,7 +576,7 @@
 	@ $(MAKE) CFLAGS='$(CFLAGS)' BINNAME=mpg123m mpg123
 
 mpg123-make:
-	@ $(MAKE) CFLAGS='$(CFLAGS)' BINNAME=mpg123 mpg123
+	@ $(MAKE) LDFLAGS='$(LDFLAGS)' CFLAGS='$(CFLAGS)' BINNAME=mpg123 mpg123
 
 mpg123: mpg123.o common.o $(OBJECTS) decode_2to1.o decode_4to1.o \
 		tabinit.o audio.o layer1.o layer2.o layer3.o buffer.o \
