*** empty log message ***
[shibboleth/sp.git] / Makefile.gcc
1 OUTDIR          = lib
2 BINDIR          = bin
3 INCDIR          = include
4 CP              = cp -p
5 CC              = gcc3
6 CXX             = g++3
7 XERCES          = ../../xerces-c-src2_1_0
8 LOG4CPP         = ../../..
9 DEBUG           = -g
10 CFLAGS          = $(DEBUG) -fpic -Iinclude -I../../opensaml/c/include \
11                   -I/usr/local/include -I$(XERCES)/include -I$(LOG4CPP)/include
12 CCFLAGS         = $(CFLAGS)
13 CXXFLAGS        = $(CFLAGS)
14 LDFLAGS         = -L/usr/local/lib -L$(OUTDIR) -L../../opensaml/c/lib \
15                   -L$(XERCES)/lib -luuid -lcurl -lxerces-c -lsaml \
16                   -L$(LOG4CPP)/lib -llog4cpp
17 SHIB_OBJS       = \
18         shib/ClubShibPOSTProfile.o \
19         shib/Constants.o \
20         shib/SAMLBindingFactory.o \
21         shib/ShibConfig.o \
22         shib/ShibPOSTProfile.o \
23         shib/ShibPOSTProfileFactory.o \
24         shib/XML.o \
25         shib/XMLOriginSiteMapper.cpp
26
27 EDUPERSON_OBJS = \
28         eduPerson/Constants.o \
29         eduPerson/EPPNAttribute.o \
30         eduPerson/AffiliationAttribute.o \
31         eduPerson/PrimaryAffiliationAttribute.o \
32         eduPerson/EntitlementAttribute.o \
33         eduPerson/ScopedAttribute.o \
34         eduPerson/eduPerson.o
35
36 SHIBTARGET_OBJS = \
37         shib-target/shibrpc-xdr.o \
38         shib-target/shibrpc-clnt.o \
39         shib-target/shibrpc-svc.o \
40         shib-target/shibrpc-server.o \
41         shib-target/shib-sock.o \
42         shib-target/shib-rpcutil.o \
43         shib-target/shib-ccache.o \
44         shib-target/shib-resource.o \
45         shib-target/shib-target.o \
46         shib-target/shib-rpchandle.o \
47         shib-target/shib-rpcerror.o \
48         shib-target/shib-shire.o \
49         shib-target/shib-rm.o \
50         shib-target/shib-ini.o \
51         shib-target/shib-mlp.o \
52         shib-target/shib-config.o
53
54 INC_TARGETS = $(INCDIR)/shibrpc.h
55
56 LIB_TARGETS = $(OUTDIR)/libshib.so $(OUTDIR)/libeduPerson.so \
57         $(OUTDIR)/libshib-target.so
58
59 BIN_TARGETS = $(BINDIR)/shibtest $(BINDIR)/shar
60
61 TEST_TARGETS = $(BINDIR)/testini $(BINDIR)/testmlp $(BINDIR)/testinit \
62         $(BINDIR)/testlog
63
64 all:    dirs $(INC_TARGETS) $(LIB_TARGETS) $(BIN_TARGETS)
65         chmod 755 $(OUTDIR)/*
66         @echo
67         @echo "finished building shib libraries"
68         @echo
69
70 test:   all $(TEST_TARGETS)
71
72 dirs:
73         if test ! -d $(OUTDIR); then mkdir $(OUTDIR); fi
74         if test ! -d $(BINDIR); then mkdir $(BINDIR); fi
75
76 $(OUTDIR)/libshib.so:   $(SHIB_OBJS)
77         $(CXX) $(CXXFLAGS) $(SHIB_OBJS) -o $@ -shared $(LDFLAGS)
78
79 $(OUTDIR)/libeduPerson.so:      $(EDUPERSON_OBJS)
80         $(CXX) $(CXXFLAGS) $(EDUPERSON_OBJS) -o $@ -shared $(LDFLAGS) -lshib
81
82 $(OUTDIR)/libshib-target.so:    $(SHIBTARGET_OBJS)
83         $(CXX) $(CXXFLAGS) $(SHIBTARGET_OBJS) -o $@ -shared $(LDFLAGS) -lshib
84
85 $(BINDIR)/shibtest: shibtest/shibtest.o
86         $(CXX) shibtest/shibtest.o -o $@ $(LDFLAGS) -lshib -leduPerson
87
88 $(BINDIR)/shar: shar/shar.o
89         $(CXX) $^ -o $@ $(LDFLAGS) -lshib-target -lshib
90
91 $(BINDIR)/testini: shib-target/testini.o
92         $(CXX) $^ -o $@ $(LDFLAGS) -lshib-target -lshib
93
94 $(BINDIR)/testmlp: shib-target/testmlp.o
95         $(CXX) $^ -o $@ $(LDFLAGS) -lshib-target -lshib
96
97 $(BINDIR)/testinit: shib-target/testinit.o
98         $(CXX) $^ -o $@ $(LDFLAGS) -lshib-target
99
100 $(BINDIR)/testlog: shib-target/testlog.o
101         $(CXX) $^ -o $@ $(LDFLAGS)
102
103 $(INCDIR)/shibrpc.h:    shib-target/shibrpc.h
104         $(CP) $^ $@
105
106 .SUFFIXES:      .cpp .c
107
108 .c.o:
109         $(CC) $(CFLAGS) -c $< -o $*.o
110
111 .cpp.o:
112         $(CXX) $(CXXFLAGS) -c $< -o $*.o
113
114 clean:
115         rm -f shib/*.o eduPerson/*.o shib-target/*.o shibtest/*.o shar/*.o \
116         $(OUTDIR)/* $(BINDIR)/*