$NetBSD: patch-Makefile,v 1.1 2022/04/02 11:12:02 nia Exp $

* use gcc flags on SunOS
* for PKGSRC layout
* treat *BSDs same as FreeBSD.
* Use "ld -shared" rather than "ld --shared". The former allows cwrappers to
  detect shared lib link mode. This makes it omit "-pie" which would remove
  required symbols.
* Do not override LDFLAGS.

--- Makefile.orig	2011-08-24 07:53:32.000000000 +0000
+++ Makefile
@@ -69,7 +69,7 @@ CFLAGS = -I./common/ -DPIC
 CFLAGS_GCC =	-O2 -Wall -Werror -Wno-format-y2k			\
 		-Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch	\
 		-Wshadow -Wchar-subscripts -Winline -Wnested-externs -fPIC
-CFLAGS_SUN = -KPIC -xO2 -D_SUN_PAM_ -D_HAVE_USERDEFS_H_
+CFLAGS_SUN = -fPIC -O2 -D_SUN_PAM_ -D_HAVE_USERDEFS_H_
 CFLAGS_HP = -Ae +w1 +W 474,486,542 +z +O2
 CFLAGS_BSD = -D_HAVE_PATHS_H_ -D_HAVE_ERR_H_ -D_HAVE_GETPROGNAME_ -D_USE_MODULE_ENTRY_ -D_HAVE_SALEN_
 CFLAGS_GNU =	-D_GNU_SOURCE -D_HAVE_PATHS_H_ -D_HAVE_ERR_H_ -D_HAVE_FLOCK_ \
@@ -79,7 +79,7 @@ LDFLAGS_BSD =
 LDFLAGS_LINUX = -lgdbm -lgdbm_compat
 LDFLAGS_SUN = -lnsl -lsocket
 LDFLAGS_HP =
-SHLDFLAGS_GCC = -s --shared -lpam -lcrypt
+SHLDFLAGS_GCC = -s -shared -lpam -lcrypt
 SHLDFLAGS_SUN = -s -G -lpam -lcrypt
 SHLDFLAGS_HP = -s -b -lpam -lsec
 
@@ -102,39 +102,39 @@ DISTTOOLMAN = pam_af_tool.8
 LIBMAN = $(LIBDIR)/$(DISTLIBMAN)
 TOOLMAN = $(TOOLDIR)/$(DISTTOOLMAN)
 
-SECUREDIR = /lib/security
-SBINDIR = /sbin
-MANDIR = /share/man
-DESTDIR = /usr/local
+SECUREDIR = ${PREFIX}/lib/security
+SBINDIR = ${PREFIX}/sbin
+MANDIR = ${PREFIX}/$(PKGMANDIR)
+#DESTDIR = /usr/local
 
 LIB_OBJS = $(LIBDIR)/pam_af.o $(LIBDIR)/subr.o
 TOOL_OBJS = $(TOOLDIR)/pam_af_tool.o $(TOOLDIR)/subr.o
 
 all:
-	if [ "`$(UNAME)`" = "FreeBSD" ]; then \
+	if [ "`$(UNAME)`" = "FreeBSD" -o "`$(UNAME)`" = "NetBSD" -o "`$(UNAME)`" = "OpenBSD" -o "`$(UNAME)`" = "DragonFly" ]; then \
 		$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_GCC) $(CFLAGS_BSD)" \
-			LD=ld LDFLAGS="$(LDFLAGS_BSD) $(SHLDFLAGS_GCC)" \
+			LD=ld LDFLAGS="$(LDFLAGS) $(LDFLAGS_BSD) $(SHLDFLAGS_GCC)" \
 			$(LIBBIN); \
 		$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_GCC) $(CFLAGS_BSD)" \
-			LDFLAGS="$(LDFLAGS_BSD)" $(TOOLBIN); \
+			LDFLAGS="$(LDFLAGS) $(LDFLAGS_BSD)" $(TOOLBIN); \
 	elif [ "`$(UNAME)`" = "Linux" ]; then \
 		$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_GCC) $(CFLAGS_GNU)" \
-			LD=ld LDFLAGS="$(LDFLAGS_LINUX) $(SHLDFLAGS_GCC)" \
+			LD=ld LDFLAGS="$(LDFLAGS) $(LDFLAGS_LINUX) $(SHLDFLAGS_GCC)" \
 			$(LIBBIN); \
 		$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_GCC) $(CFLAGS_GNU)" \
-			LDFLAGS="$(LDFLAGS_LINUX)" $(TOOLBIN); \
+			LDFLAGS="$(LDFLAGS) $(LDFLAGS_LINUX)" $(TOOLBIN); \
 	elif [ "`$(UNAME)`" = "SunOS" ]; then \
 		$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_SUN)" \
-			LD=ld LDFLAGS="$(LDFLAGS_SUN) $(SHLDFLAGS_SUN)" \
+			LD=ld LDFLAGS="$(LDFLAGS) $(LDFLAGS_SUN) $(SHLDFLAGS_SUN)" \
 			$(LIBBIN); \
 		$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_SUN)" \
-			LDFLAGS="$(LDFLAGS_SUN)" $(TOOLBIN); \
+			LDFLAGS="$(LDFLAGS) $(LDFLAGS_SUN)" $(TOOLBIN); \
 	elif [ "`$(UNAME)`" = "HP-UX" ]; then \
 		$(MAKE) CFLAGS="$(CFLAGS_HP)" \
-			LD=ld LDFLAGS="$(LDFLAGS_HP) $(SHLDFLAGS_HP)" \
+			LD=ld LDFLAGS="$(LDFLAGS) $(LDFLAGS_HP) $(SHLDFLAGS_HP)" \
 			$(LIBBIN); \
 		$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_HP)" \
-			LDFLAGS="$(LDFLAGS_HP)" $(TOOLBIN); \
+			LDFLAGS="$(LDFLAGS) $(LDFLAGS_HP)" $(TOOLBIN); \
 	else \
 		$(MAKE) $(LIBBIN); \
 		$(MAKE) $(TOOLBIN); \
