head	1.1;
access;
symbols
	pkgsrc-2026Q1:1.1.0.32
	pkgsrc-2026Q1-base:1.1
	pkgsrc-2025Q4:1.1.0.30
	pkgsrc-2025Q4-base:1.1
	pkgsrc-2025Q3:1.1.0.28
	pkgsrc-2025Q3-base:1.1
	pkgsrc-2025Q2:1.1.0.26
	pkgsrc-2025Q2-base:1.1
	pkgsrc-2025Q1:1.1.0.24
	pkgsrc-2025Q1-base:1.1
	pkgsrc-2024Q4:1.1.0.22
	pkgsrc-2024Q4-base:1.1
	pkgsrc-2024Q3:1.1.0.20
	pkgsrc-2024Q3-base:1.1
	pkgsrc-2024Q2:1.1.0.18
	pkgsrc-2024Q2-base:1.1
	pkgsrc-2024Q1:1.1.0.16
	pkgsrc-2024Q1-base:1.1
	pkgsrc-2023Q4:1.1.0.14
	pkgsrc-2023Q4-base:1.1
	pkgsrc-2023Q3:1.1.0.12
	pkgsrc-2023Q3-base:1.1
	pkgsrc-2023Q2:1.1.0.10
	pkgsrc-2023Q2-base:1.1
	pkgsrc-2023Q1:1.1.0.8
	pkgsrc-2023Q1-base:1.1
	pkgsrc-2022Q4:1.1.0.6
	pkgsrc-2022Q4-base:1.1
	pkgsrc-2022Q3:1.1.0.4
	pkgsrc-2022Q3-base:1.1
	pkgsrc-2022Q2:1.1.0.2
	pkgsrc-2022Q2-base:1.1;
locks; strict;
comment	@# @;


1.1
date	2022.04.02.11.12.02;	author nia;	state Exp;
branches;
next	;
commitid	IbEnIPRozPQZhCyD;


desc
@@


1.1
log
@pam-af: Respect LDFLAGS. Fixes RELRO build.
@
text
@$NetBSD$

* 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); \
@
