]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#7832 - Fix Makefile so that it installs into DESTDIR
authorQuanah Gibson-Mount <quanah@openldap.org>
Thu, 1 Apr 2021 18:25:39 +0000 (18:25 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Fri, 2 Apr 2021 19:00:56 +0000 (19:00 +0000)
Tweak CRACKLIB linking so that it doesn't depend on gmake

contrib/slapd-modules/ppm/Makefile

index a5dfab4fee602e106161a32cfde598e09e15a030..0a90b530e313a6a5ca9f6177e976b1bb66e94229 100644 (file)
@@ -1,15 +1,47 @@
-# contrib/slapd-modules/ppm/Makefile
-# Copyright 2014 David Coutadeur, Paris. All Rights Reserved.
+# $OpenLDAP$
+# Copyright 2014 David Coutadeur, Paris.
+# All rights reserved.
 #
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted only as authorized by the OpenLDAP
+# Public License.
+#
+# A copy of this license is available in the file LICENSE in the
+# top-level directory of the distribution or, alternatively, at
+# <http://www.OpenLDAP.org/license.html>.
+
+LDAP_SRC = ../../..
+LDAP_BUILD = $(LDAP_SRC)
+LDAP_INC = -I$(LDAP_BUILD)/include -I$(LDAP_SRC)/include -I$(LDAP_SRC)/servers/slapd
+LDAP_LIB = $(LDAP_BUILD)/libraries/liblber/liblber.la $(LDAP_BUILD)/libraries/libldap/libldap.la
+
+LIBTOOL = $(LDAP_BUILD)/libtool
+INSTALL = /usr/bin/install
+CC = gcc
+OPT = -g -O2 -Wall -fpic
+
+# To skip linking against CRACKLIB make CRACK=no
+CRACK=yes
+CRACKDEF_yes= -DCRACKLIB
+CRACKDEF_no=
 
-LDAP_SRC=../../..
-LDAP_BUILD=$(LDAP_SRC)
-LDAP_INC=-I$(LDAP_SRC)/include \
-        -I$(LDAP_SRC)/servers/slapd
-LDAP_LIBS=-L$(LDAP_BUILD)/libraries/liblber/.libs \
-         -L$(LDAP_BUILD)/libraries/libldap/.libs
-LDAP_LIB=-lldap -llber
-CRACK_LIB=-lcrack
+CRACKLIB_yes= -lcrack
+CRACKLIB_no=
+
+CRACKDEF=$(CRACKDEF_$(CRACK))
+CRACKLIB=$(CRACKLIB_$(CRACK))
+
+DEFS = -DDEBUG $(CRACKDEF)
+# Define if using a config file:
+# -DCONFIG_FILE="\"$(etcdir)/$(EXAMPLE)\""
+
+INCS = $(LDAP_INC)
+LIBS = $(LDAP_LIB)
+
+PROGRAMS=ppm.so
+LTVER = 0:0:0
+
+LDAP_LIBS = -L$(LDAP_BUILD)/libraries/liblber/.libs -L$(LDAP_BUILD)/libraries/libldap/.libs -lldap -llber
 
 prefix=/usr/local
 exec_prefix=$(prefix)
@@ -22,40 +54,28 @@ mandir = $(exec_prefix)/share/man
 man5dir = $(mandir)/man5
 etcdir = $(exec_prefix)/etc$(ldap_subdir)
 
-CC=gcc
-INSTALL = /usr/bin/install
-PROGRAMS=ppm.so
 TEST=ppm_test
 EXAMPLE=ppm.example
 TESTS=./unit_tests.sh
-OPT=-g -O2 -Wall -fpic                                                 \
-       -DCONFIG_FILE="\"$(etcdir)/$(EXAMPLE)\""                \
-       -DCRACKLIB                                              \
-       -DDEBUG
-
-# don't link against cracklib if option -DCRACKLIB is not defined in OPT
-ifeq (,$(findstring CRACKLIB,$(OPT)))
-       CRACK_LIB=
-endif
-
-
-
 
 all:   ppm $(TEST)
 
-$(TEST): 
-       $(CC) -g $(LDAP_INC) $(LDAP_LIBS) -Wl,-rpath=. -o $(TEST) ppm_test.c $(PROGRAMS) $(LDAP_LIB) $(CRACK_LIB)
+$(TEST): ppm
+       $(CC) -g $(INCS) $(LDAP_LIBS) -Wl,-rpath=. -o $(TEST) ppm_test.c $(PROGRAMS) $(LDAP_LIBS) $(CRACKLIB)
 
 ppm.o:
-       $(CC) $(OPT) -c $(LDAP_INC) ppm.c
+       $(CC) $(OPT) $(DEFS) -c $(INCS) ppm.c
 
 ppm: ppm.o
-       $(CC) $(LDAP_INC) -shared -o $(PROGRAMS) ppm.o $(CRACK_LIB)
+       $(CC) $(INCS) -shared -o $(PROGRAMS) ppm.o $(CRACKLIB)
 
 install: ppm
-       $(INSTALL) -m 644 $(PROGRAMS) $(libdir)
-       $(INSTALL) -m 755 $(TEST) $(libdir)
-       $(INSTALL) -m 644 $(EXAMPLE) $(etcdir)/
+       mkdir -p $(DESTDIR)$(moduledir)
+       for p in $(PROGRAMS); do \
+               $(LIBTOOL) --mode=install cp $$p $(DESTDIR)/$(moduledir) ; \
+       done
+       $(INSTALL) -m 644 $(EXAMPLE) $(DESTDIR)$(etcdir)/
+#      $(INSTALL) -m 755 $(TEST) $(libdir)
 
 .PHONY: clean