1#**************************************************************
2#
3#  Licensed to the Apache Software Foundation (ASF) under one
4#  or more contributor license agreements.  See the NOTICE file
5#  distributed with this work for additional information
6#  regarding copyright ownership.  The ASF licenses this file
7#  to you under the Apache License, Version 2.0 (the
8#  "License"); you may not use this file except in compliance
9#  with the License.  You may obtain a copy of the License at
10#
11#    http://www.apache.org/licenses/LICENSE-2.0
12#
13#  Unless required by applicable law or agreed to in writing,
14#  software distributed under the License is distributed on an
15#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16#  KIND, either express or implied.  See the License for the
17#  specific language governing permissions and limitations
18#  under the License.
19#
20#**************************************************************
21
22
23
24PRJ=..$/..$/..
25
26PRJNAME = xmlsecurity
27TARGET = xs_nss
28
29ENABLE_EXCEPTIONS = TRUE
30
31# --- Settings -----------------------------------------------------
32
33.INCLUDE :  settings.mk
34.INCLUDE :	$(PRJ)$/util$/target.pmk
35
36.IF "$(SYSTEM_LIBXML)" == "YES"
37CFLAGS+=-DSYSTEM_LIBXML $(LIBXML_CFLAGS)
38.ENDIF
39
40.IF "$(WITH_MOZILLA)" == "NO" || "$(ENABLE_NSS_MODULE)"!="YES"
41.IF "$(SYSTEM_MOZILLA)" != "YES"
42@all:
43	@echo "No mozilla -> no nss -> no libxmlsec -> no xmlsecurity/nss"
44.ENDIF
45.ENDIF
46
47.IF "$(SYSTEM_MOZILLA)" != "YES"
48MOZ_INC = $(SOLARVERSION)$/$(INPATH)$/inc$(UPDMINOREXT)$/mozilla
49NSS_INC = $(MOZ_INC)$/nss
50NSPR_INC = $(MOZ_INC)$/nspr
51.ELSE
52# MOZ_INC already defined from environment
53NSS_INC = $(MOZ_NSS_CFLAGS)
54NSPR_INC = $(MOZ_INC)$/nspr
55.ENDIF
56
57.IF "$(GUI)"=="UNX"
58.IF "$(COMNAME)"=="sunpro5"
59CFLAGS += -features=tmplife
60#This flag is needed to build mozilla 1.7 code
61.ENDIF		# "$(COMNAME)"=="sunpro5"
62.ENDIF
63
64.IF "$(GUI)" == "WNT"
65.IF "$(DBG_LEVEL)" == "0"
66INCPRE += \
67-I$(MOZ_INC)$/profile \
68-I$(MOZ_INC)$/string \
69-I$(MOZ_INC)$/embed_base
70.IF "$(COM)"=="GCC"
71CFLAGS += $(CFLAGSDEBUG)
72.ELSE
73CFLAGS +=   -GR- -W3 -Gy -MD -UDEBUG
74.ENDIF
75.ELSE
76INCPRE += \
77-I$(MOZ_INC)$/profile \
78-I$(MOZ_INC)$/string \
79-I$(MOZ_INC)$/embed_base
80.IF "$(COM)"=="GCC"
81.ELSE
82CFLAGS += -Zi -GR- -W3 -Gy -MDd -UNDEBUG
83.ENDIF
84.ENDIF
85.ENDIF
86.IF "$(GUI)" == "UNX"
87INCPOST += \
88$(MOZ_INC)$/profile \
89-I$(MOZ_INC)$/string \
90-I$(MOZ_INC)$/embed_base
91#.IF "$(OS)" == "LINUX"
92#CFLAGS +=   -fPIC -g
93#CFLAGSCXX += \
94#            -fno-rtti -Wall -Wconversion -Wpointer-arith \
95#            -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth \
96#            -Wno-long-long -pthread
97#CDEFS     += -DTRACING
98#.ELIF "$(OS)" == "NETBSD"
99#CFLAGS +=   -fPIC
100#CFLAGSCXX += \
101#            -fno-rtti -Wall -Wconversion -Wpointer-arith \
102#            -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth \
103#            -Wno-long-long
104#CDEFS     += -DTRACING
105#.ENDIF
106.ENDIF
107
108.IF "$(CRYPTO_ENGINE)" == "nss"
109CDEFS += -DXMLSEC_CRYPTO_NSS
110.ENDIF
111
112CDEFS += -DXMLSEC_NO_XSLT
113
114# --- Files --------------------------------------------------------
115
116SOLARINC += \
117 -I$(MOZ_INC) \
118-I$(NSPR_INC) \
119-I$(PRJ)$/source$/xmlsec
120
121.IF "$(SYSTEM_MOZILLA)" == "YES"
122SOLARINC += -DSYSTEM_MOZILLA $(NSS_INC)
123.ELSE
124SOLARINC += -I$(NSS_INC)
125.ENDIF
126
127SLOFILES = \
128	$(SLO)$/nssinitializer.obj \
129	$(SLO)$/digestcontext.obj \
130	$(SLO)$/ciphercontext.obj \
131	$(SLO)$/xsec_nss.obj
132
133.IF "$(CRYPTO_ENGINE)" == "nss"
134SLOFILES += \
135	$(SLO)$/securityenvironment_nssimpl.obj \
136	$(SLO)$/seinitializer_nssimpl.obj \
137	$(SLO)$/xmlencryption_nssimpl.obj \
138	$(SLO)$/xmlsecuritycontext_nssimpl.obj \
139	$(SLO)$/xmlsignature_nssimpl.obj \
140	$(SLO)$/x509certificate_nssimpl.obj \
141	$(SLO)$/sanextension_nssimpl.obj \
142    $(SLO)$/secerror.obj
143
144.ENDIF
145
146# --- Targets ------------------------------------------------------
147
148.INCLUDE :  target.mk
149