--- scripts/makefile.std.orig	Sat Jan  6 03:25:50 2001
+++ scripts/makefile.std	Tue Sep 11 05:44:27 2001
@@ -2,18 +2,30 @@
 # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
 # For conditions of distribution and use, see copyright notice in png.h
 
+# read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
+# have to change it.
+# I bump PNGMAJ to 3, because imlib can't work with png 1.0.2.
+# I should bump PNGMAJ for ports depend.
+PNGMAJ = $(SHLIB_VER)
+.if (${PORTOBJFORMAT} == "elf")
+PNGVER = $(PNGMAJ)
+.else
+PNGMIN = 0
+PNGVER = $(PNGMAJ).$(PNGMIN)
+.endif
+
 # where make install puts libpng.a and png.h
-prefix=/usr/local
+prefix=${PREFIX}
 
 # Where the zlib library and include files are located
 #ZLIBLIB=/usr/local/lib
 #ZLIBINC=/usr/local/include
-ZLIBLIB=../zlib
-ZLIBINC=../zlib
+#ZLIBLIB=../zlib
+#ZLIBINC=../zlib
 
-CC=cc
-CFLAGS=-I$(ZLIBINC) -O # -g -DPNG_DEBUG=5
-LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
+#CC=cc
+CFLAGS+=-I.
+LDFLAGS+=-L. -lpng -lz -lm -static
 
 #RANLIB=echo
 RANLIB=ranlib
@@ -22,12 +34,29 @@
 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
 	pngwtran.o pngmem.o pngerror.o pngpread.o
 
-all: libpng.a pngtest
+.if (${ARCH} == "i386")
+CFLAGS+=-DPNG_USE_PNGGCCRD
+OBJS+=pnggccrd.o
+.endif
+
+.SUFFIXES: .c .so .o
+
+.c.so:
+	${CC} ${CFLAGS} -fPIC -DPIC -o $@ -c $<
+
+all: libpng.a libpng.so.${PNGVER}
 
 libpng.a: $(OBJS)
 	ar rc $@  $(OBJS)
 	$(RANLIB) $@
 
+libpng.so.${PNGVER}: $(OBJS:S/o$/so/g)
+.if (${PORTOBJFORMAT} == "elf")
+	${CC} -shared -Wl,-x,-soname,$@ -o $@ $(OBJS:S/o$/so/g) -lz -lm
+.else
+	${CC} -shared -Wl,-x -o $@ $(OBJS:S/o$/so/g) -lz -lm
+.endif
+
 pngtest: pngtest.o libpng.a
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
@@ -37,12 +66,12 @@
 install: libpng.a
 	-@mkdir $(prefix)/include
 	-@mkdir $(prefix)/lib
-	cp png.h $(prefix)/include
-	cp pngconf.h $(prefix)/include
-	chmod 644 $(prefix)/include/png.h
-	chmod 644 $(prefix)/include/pngconf.h
-	cp libpng.a $(prefix)/lib
-	chmod 644 $(prefix)/lib/libpng.a
+	${BSD_INSTALL_DATA} png.h pngconf.h $(prefix)/include
+	${BSD_INSTALL_DATA} libpng.a libpng.so.${PNGVER} $(prefix)/lib
+	ln -sf libpng.so.${PNGVER} $(prefix)/lib/libpng.so
+	$(RANLIB) $(prefix)/lib/libpng.a
+	${BSD_INSTALL_MAN} libpng.3 libpngpf.3 $(prefix)/man/man3
+	${BSD_INSTALL_MAN} png.5 $(prefix)/man/man5
 
 clean:
 	rm -f *.o libpng.a pngtest pngout.png
@@ -69,4 +98,5 @@
 pngwtran.o: png.h pngconf.h
 pngwutil.o: png.h pngconf.h
 pngpread.o: png.h pngconf.h
+pnggccrd.o: png.h pngconf.h pngasmrd.h
 
