blob: e6f2e5c6a71525d5fdd171b1f8b2f9559a9b007a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
#
# BEGIN COPYRIGHT BLOCK
# Copyright 2001 Sun Microsystems, Inc.
# Portions copyright 1999, 2001-2003 Netscape Communications Corporation.
# All rights reserved.
# END COPYRIGHT BLOCK
#
#
# Makefile for ldaputil unit test.
#
MCOM_ROOT=../../../..
MODULE=LibLdapUtil
OBJDEST=.
UTESTDEST=utest
include ../../../nsconfig.mk
MODULE_CFLAGS=-I$(NSROOT)/include
include $(INCLUDE_DEPENDS)
TESTFLAGS = -DUTEST -DDBG_PRINT -DDONT_USE_LDAP_SSL
CC=CC
PURIFY=
CSRC = stubs.c
CPPSRC = auth.cpp
TSRC = authtest
SRC = $(CSRC) $(CPPSRC) $(TSRC)
XSRC = ../ldapauth.c ../ldapdb.c ../errors.c ../dbconf.c ../certmap.c ../ldapauth.c ../init.c ../encode.c
COBJ = $(CPPSRC:%.cpp=%.o) $(CSRC:%.c=%.o)
XOBJ = $(XSRC:../%.c=../utest/%.o)
ifeq ($(ARCH), WINNT)
BINS=./auth.exe
LDAP_LIBLINK = $(addprefix $(LDAP_LIBPATH)/, $(addsuffix .lib, $(LDAP_LIBNAMES)))
XLIBS = ${LDAP_LIBLINK}
LOCAL_LINK_EXE = link -OUT:"$@" /MAP $(ARCH_LINK_DEBUG) $(LCFLAGS) /NOLOGO \
/PDB:NONE /INCREMENTAL:NO /SUBSYSTEM:windows $(XLIBS)
else
BINS = auth
LDAP_LIBLINK = -L$(LDAP_LIBPATH) $(addprefix -l, ${LDAP_SOLIB_NAMES})
endif
ifeq ($(ARCH), SOLARIS)
XLIBS = -R$(LDAP_LIBPATH) ${LDAP_LIBLINK} $(LIBNSPR) $(LIBSEC) -lthread -lposix4 -lsocket -lnsl -ldl
else
ifeq ($(ARCH), IRIX)
XLIBS = ${LDAP_LIBLINK} $(LIBNSPR) $(LIBSEC)
else
ifeq ($(ARCH), WINNT)
echo "XLIBS = ${XLIBS}"
else
#Other UNIX platforms
XLIBS = -R$(LDAP_LIBPATH) ${LDAP_LIBLINK} $(LIBNSPR) $(LIBSEC) -lthread -lposix4 -lsocket -lnsl -ldl
endif
endif
endif
PLUGIN = plugin.so
all: $(LIBLDAP) $(COBJ) $(TSRC) ${BINS} $(PLUGIN)
./authtest 2> test.out
diff test.out test.ref
@echo
@echo "The unit test is passed if there is no diff output, and the"
@echo "Purify window shows no errors and 0 bytes leaked."
@echo
@echo "Run - gmake coverage - manually to get code coverage analysis."
@echo
auth: $(XOBJ) $(COBJ)
$(PURIFY) $(CC) $(XLIBS) $^ -o $@
auth.exe: $(XOBJ) $(COBJ)
$(PURIFY) $(LOCAL_LINK_EXE) $(XOBJ) $(COBJ) ${XLIBS}
testcert: testcert.o $(XOBJ) ../utest/cert.o
$(PURIFY) $(CC) $(XLIBS) $^ -o $@
%.o:%.c
$(PURIFY) $(CC) -c $(CFLAGS) $(TESTFLAGS) $(MCC_INCLUDE) $< -o $@
../utest/%.o:../%.c
$(PURIFY) $(CC) -c $(CFLAGS) $(TESTFLAGS) $(MCC_INCLUDE) -I.. $< -o $(OBJDEST)/$*.o
../utest/%.o:../%.cpp
$(PURIFY) $(CC) -c $(CFLAGS) $(TESTFLAGS) $(MCC_INCLUDE) -I.. $< -o $(OBJDEST)/$*.o
PLUGIN_INC = ./include
$(PLUGIN_INC):
mkdir -p include
certmap.h: ../../../include/ldaputil/extcmap.h
\rm -rf $(PLUGIN_INC)/$@
cp $^ $(PLUGIN_INC)/$@
ldap.h: $(LDAP_INCLUDE)/ldap.h
\rm -rf $(PLUGIN_INC)/$@
cp $^ $(PLUGIN_INC)/$@
lber.h: $(LDAP_INCLUDE)/lber.h
\rm -rf $(PLUGIN_INC)/$@
cp $^ $(PLUGIN_INC)/$@
example.o: example.c $(PLUGIN_INC) certmap.h ldap.h lber.h
$(CC) -c -I$(PLUGIN_INC) $*.c -o $(OBJDEST)/$*.o
plugin.o: plugin.c $(PLUGIN_INC) certmap.h ldap.h lber.h
$(PURIFY) $(CC) -c -I. -I$(PLUGIN_INC) $*.c -o $(OBJDEST)/$*.o
$(PLUGIN): plugin.o
$(LINK_DLL) $^
|