summaryrefslogtreecommitdiff
path: root/examples/Makefile.w32
blob: ee81ab39a7df50d9a740a5f0def9d66d2418641d (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
# Makefile for xmlsec, specific for Windows, MSVC and NMAKE.
#
# Take a look at the beginning and modify the variables to suit your 
# environment. Having done that, you can do a

XMLSEC_STATIC  = yes
XMLSEC_CRYPTO  = openssl
XMLSEC_CFLAGS  =
XMLSEC_LIBS    =

# There should never be a need to modify anything below this line.
XMLSEC_OBJS_DIR = build
XMLSEC_EXAMPLES = \
	$(XMLSEC_OBJS_DIR)\sign1.exe \
	$(XMLSEC_OBJS_DIR)\sign2.exe \
	$(XMLSEC_OBJS_DIR)\sign3.exe \
	$(XMLSEC_OBJS_DIR)\verify1.exe \
	$(XMLSEC_OBJS_DIR)\verify2.exe \
	$(XMLSEC_OBJS_DIR)\verify3.exe \
	$(XMLSEC_OBJS_DIR)\verify4.exe \
	$(XMLSEC_OBJS_DIR)\encrypt1.exe \
	$(XMLSEC_OBJS_DIR)\encrypt2.exe \
	$(XMLSEC_OBJS_DIR)\encrypt3.exe \
	$(XMLSEC_OBJS_DIR)\decrypt1.exe \
	$(XMLSEC_OBJS_DIR)\decrypt2.exe \
	$(XMLSEC_OBJS_DIR)\decrypt3.exe \
	$(XMLSEC_OBJS_DIR)\xkms-server.exe \

# 
!IF "$(XMLSEC_CRYPTO)" == "openssl"
XMLSEC_CFLAGS = $(XMLSEC_CFLAGS) /D "XMLSEC_CRYPTO_OPENSSL" /D "XMLSEC_CRYPTO=\"openssl\""
XMLSEC_SOLIBS = libxmlsec-openssl.lib libeay32.lib wsock32.lib user32.lib gdi32.lib 
XMLSEC_ALIBS  = libxmlsec-openssl_a.lib libeay32.lib wsock32.lib user32.lib gdi32.lib 
!ENDIF

!IF "$(XMLSEC_CRYPTO)" == "nss"
XMLSEC_CFLAGS = $(XMLSEC_CFLAGS) /D "XMLSEC_CRYPTO_NSS" /D "XMLSEC_CRYPTO=\"nss\""
XMLSEC_SOLIBS = libxmlsec-nss.lib nss3.lib nspr4.lib plds4.lib plc4.lib
XMLSEC_ALIBS  = libxmlsec-nss_a.lib nss3.lib nspr4.lib plds4.lib plc4.lib
!ENDIF

!IF "$(XMLSEC_CRYPTO)" == "mscrypto"
XMLSEC_CFLAGS = $(XMLSEC_CFLAGS) /D "XMLSEC_CRYPTO_MSCRYPTO" /D "XMLSEC_CRYPTO=\"mscrypto\""
XMLSEC_SOLIBS = libxmlsec-mscrypto.lib user32.lib gdi32.lib crypt32.lib advapi32.lib
XMLSEC_ALIBS  = libxmlsec-mscrypto_a.lib user32.lib gdi32.lib crypt32.lib advapi32.lib
!ENDIF

!IF "$(XMLSEC_STATIC)" == "yes"
XMLSEC_CFLAGS = $(XMLSEC_CFLAGS) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC"
XMLSEC_LIBS   = $(XMLSEC_LIBS) $(XMLSEC_ALIBS) libxmlsec_a.lib \
		libxml2_a.lib libxslt_a.lib libexslt_a.lib 
!ELSE
XMLSEC_LIBS   = $(XMLSEC_LIBS) $(XMLSEC_SOLIBS) libxmlsec.lib libxml2.lib \
		libxslt.lib libexslt.lib
!ENDIF

# The preprocessor and its options.
CPP = cl.exe /EP
CPPFLAGS = /nologo

# The compiler and its options.
CC = cl.exe
CFLAGS = /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" /DWIN32_SOCKETS /W1 /MD $(XMLSEC_CFLAGS)  

# The linker and its options.
LD = link.exe
LDFLAGS = /nologo $(XMLSEC_LIBS) wsock32.lib

# Optimisation and debug symbols.
!if "$(DEBUG)" == "1"
CFLAGS = $(CFLAGS) /D "_DEBUG" /Od /Z7
LDFLAGS = $(LDFLAGS) /DEBUG
!else
CFLAGS = $(CFLAGS) /D "NDEBUG" /O2 
LDFLAGS = $(LDFLAGS) /OPT:NOWIN98
!endif

all : $(XMLSEC_OBJS_DIR) $(XMLSEC_EXAMPLES)

$(XMLSEC_OBJS_DIR) :
	if not exist $(XMLSEC_OBJS_DIR) mkdir $(XMLSEC_OBJS_DIR)

.c{$(XMLSEC_OBJS_DIR)}.exe :
	$(CC) /c $(CFLAGS) /Fo$(XMLSEC_OBJS_DIR)\ $<
	$(LD) $(LDFLAGS) /OUT:$*.exe $*.obj

clean:
	if exist $(XMLSEC_OBJS_DIR) rmdir /S /Q $(XMLSEC_OBJS_DIR)