1# $OpenLDAP$ 2# Copyright 2014 David Coutadeur, Paris. 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted only as authorized by the OpenLDAP 7# Public License. 8# 9# A copy of this license is available in the file LICENSE in the 10# top-level directory of the distribution or, alternatively, at 11# <http://www.OpenLDAP.org/license.html>. 12 13LDAP_SRC = ../../.. 14LDAP_BUILD = $(LDAP_SRC) 15LDAP_INC = -I$(LDAP_BUILD)/include -I$(LDAP_SRC)/include -I$(LDAP_SRC)/servers/slapd 16LDAP_LIB = $(LDAP_BUILD)/libraries/liblber/liblber.la $(LDAP_BUILD)/libraries/libldap/libldap.la 17 18LIBTOOL = $(LDAP_BUILD)/libtool 19INSTALL = /usr/bin/install 20CC = gcc 21OPT = -g -O2 -fpic 22 23# To skip linking against CRACKLIB make CRACK=no 24CRACK=yes 25CRACKDEF_yes= -DCRACKLIB 26CRACKDEF_no= 27 28CRACKLIB_yes= -lcrack 29CRACKLIB_no= 30 31CRACKDEF=$(CRACKDEF_$(CRACK)) 32CRACKLIB=$(CRACKLIB_$(CRACK)) 33 34DEFS = -DDEBUG $(CRACKDEF) 35# Define if using a config file: 36# -DCONFIG_FILE="\"$(sysconfdir)/$(EXAMPLE)\"" 37 38INCS = $(LDAP_INC) 39LIBS = $(LDAP_LIB) 40 41PROGRAMS=ppm.so 42LTVER = 0:0:0 43 44LDAP_LIBS = -L$(LDAP_BUILD)/libraries/liblber/.libs -L$(LDAP_BUILD)/libraries/libldap/.libs -lldap -llber 45 46prefix=/usr/local 47exec_prefix=$(prefix) 48ldap_subdir=/openldap 49 50libdir=$(exec_prefix)/lib 51libexecdir=$(exec_prefix)/libexec 52moduledir = $(libexecdir)$(ldap_subdir) 53mandir = $(exec_prefix)/share/man 54man5dir = $(mandir)/man5 55etcdir = $(exec_prefix)/etc 56sysconfdir = $(etcdir)$(ldap_subdir) 57 58TEST=ppm_test 59EXAMPLE=ppm.example 60TESTS=./unit_tests.sh 61 62all: ppm $(TEST) 63 64$(TEST): ppm 65 $(CC) $(CFLAGS) $(OPT) $(CPPFLAGS) $(LDFLAGS) $(INCS) $(LDAP_LIBS) -Wl,-rpath=. -o $(TEST) ppm_test.c $(PROGRAMS) $(LDAP_LIBS) $(CRACKLIB) 66 67ppm.o: 68 $(CC) $(CFLAGS) $(OPT) $(CPPFLAGS) $(DEFS) -c $(INCS) ppm.c 69 70ppm: ppm.o 71 $(CC) $(LDFLAGS) $(INCS) -shared -o $(PROGRAMS) ppm.o $(CRACKLIB) 72 73install: ppm 74 mkdir -p $(DESTDIR)$(moduledir) 75 for p in $(PROGRAMS); do \ 76 $(LIBTOOL) --mode=install cp $$p $(DESTDIR)/$(moduledir) ; \ 77 done 78 $(INSTALL) -m 644 $(EXAMPLE) $(DESTDIR)$(sysconfdir)/ 79# $(INSTALL) -m 755 $(TEST) $(libdir) 80 81.PHONY: clean 82 83clean: 84 $(RM) -f ppm.o $(PROGRAMS) ppm.lo $(TEST) 85 $(RM) -rf .libs 86 87test: ppm $(TEST) 88 LDAP_SRC=$(LDAP_SRC) $(TESTS) 89 90 91