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