Allow command-line setting of OpenSSL location.
[asdcplib.git] / win32 / Makefile.mak
1 #\r
2 # $Id$\r
3 # Copyright (c) 2007-8 CineCert, LLC. All rights reserved.\r
4 #\r
5 #\r
6 #\r
7 #\r
8 #\r
9 #\r
10 #\r
11 #\r
12 #\r
13 \r
14 \r
15 ARCH = win32\r
16 \r
17 SRCDIR=..\src\r
18 \r
19 !ifndef WITH_OPENSSL\r
20 !error "OpenSSL is needed! Specify it with WITH_OPENSSL=<OpenSSL directory>"\r
21 !endif\r
22 \r
23 KUMU_OBJS = KM_fileio.obj KM_log.obj KM_prng.obj KM_util.obj KM_xml.obj\r
24 ASDCP_OBJS = MPEG2_Parser.obj MPEG.obj JP2K_Codestream_Parser.obj \\r
25         JP2K_Sequence_Parser.obj JP2K.obj PCM_Parser.obj Wav.obj \\r
26         TimedText_Parser.obj KLV.obj Dict.obj MXFTypes.obj MXF.obj \\r
27         Index.obj Metadata.obj AS_DCP.obj AS_DCP_MXF.obj AS_DCP_AES.obj \\r
28         h__Reader.obj h__Writer.obj AS_DCP_MPEG2.obj AS_DCP_JP2K.obj \\r
29         AS_DCP_PCM.obj AS_DCP_TimedText.obj PCMParserList.obj \\r
30         MDD.obj\r
31 \r
32 CXXFLAGS1 = /nologo /W3 /GR /EHsc /DWIN32 /DKM_WIN32 /D_CONSOLE /I. /I$(SRCDIR) /DASDCP_PLATFORM=\"win32\" \\r
33         /D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_WARNINGS /DPACKAGE_VERSION=\"1.3.19a\" \\r
34         /I$(WITH_OPENSSL)\inc32\r
35 \r
36 LIB_EXE = lib.exe\r
37 LIBFLAGS1 = /NOLOGO /LIBPATH:$(WITH_OPENSSL)\out32dll\r
38 \r
39 LINK = link.exe\r
40 LINKFLAGS1 = /NOLOGO /SUBSYSTEM:console /MACHINE:I386 /LIBPATH:. /DEBUG\r
41 \r
42 \r
43 !ifdef DEBUG\r
44 CXXFLAGS2 = $(CXXFLAGS1) /MTd /DDEBUG /D_DEBUG /Od /RTC1 /ZI\r
45 LINKFLAGS = $(LINKFLAGS1) /DEBUG\r
46 !else\r
47 CXXFLAGS2 = $(CXXFLAGS1) /MT /DNDEBUG /D_NDEBUG /O2\r
48 LINKFLAGS = $(LINKFLAGS1)\r
49 !endif\r
50 \r
51 !ifndef WITH_OPENSSL\r
52 !error "OpenSSL is needed!"\r
53 !endif\r
54 \r
55 !IFDEF WITH_XERCES\r
56 !ifdef WITH_XML_PARSER\r
57 !ERROR "Cannot include both Expat and Xerces-C++!"\r
58 !endif\r
59 \r
60 XERCES_DIR = $(WITH_XERCES)\r
61 CPPFLAGS = $(CXXFLAGS2) /DHAVE_XERCES_C=1 /I"$(XERCES_DIR)"\include\r
62 LIBFLAGS = $(LIBFLAGS1) /LIBPATH:"$(XERCES_DIR)"\lib\r
63 !ELSEIFDEF WITH_XML_PARSER\r
64 CPPFLAGS = $(CXXFLAGS2) /DASDCP_USE_EXPAT /I"$(WITH_XML_PARSER)"\Source\lib\r
65 !IFDEF DEBUG\r
66 LIBFLAGS = $(LIBFLAGS1) /LIBPATH:"$(WITH_XML_PARSER)"\Source\win32\bin\debug\r
67 !ELSE\r
68 LIBFLAGS = $(LIBFLAGS1) /LIBPATH:"$(WITH_XML_PARSER)"\Source\win32\bin\release\r
69 !ENDIF\r
70 !ELSE\r
71 CPPFLAGS = $(CXXFLAGS2)\r
72 LIBFLAGS = $(LIBFLAGS1)\r
73 !ENDIF\r
74 \r
75 \r
76 all: libkumu.lib kmfilegen.exe kmrandgen.exe kmuuidgen.exe asdcp-test.exe blackwave.exe klvwalk.exe wavesplit.exe\r
77 \r
78 libkumu.lib : $(KUMU_OBJS)\r
79 !IFDEF WITH_XERCES\r
80 !IFDEF DEBUG\r
81         $(LIB_EXE) $(LIBFLAGS) /OUT:libkumu.lib $(KUMU_OBJS) libeay32.lib xerces-c_2D.lib\r
82 !ELSE\r
83         $(LIB_EXE) $(LIBFLAGS) /OUT:libkumu.lib $(KUMU_OBJS) libeay32.lib xerces-c_2.lib\r
84 !ENDIF\r
85 !ELSEIFDEF WITH_XML_PARSER\r
86         $(LIB_EXE) $(LIBFLAGS) /OUT:libkumu.lib $(KUMU_OBJS) libeay32.lib libexpatMT.lib\r
87 !ELSE\r
88         $(LIB_EXE) $(LIBFLAGS) /OUT:libkumu.lib $(KUMU_OBJS) libeay32.lib\r
89 !ENDIF \r
90 \r
91 libasdcp.lib: libkumu.lib $(ASDCP_OBJS)\r
92         $(LIB_EXE) $(LIBFLAGS) /OUT:libasdcp.lib libkumu.lib $(ASDCP_OBJS)\r
93 \r
94 blackwave.exe: libasdcp.lib blackwave.obj\r
95         $(LINK) $(LINKFLAGS) /OUT:blackwave.exe blackwave.obj libasdcp.lib Advapi32.lib\r
96 \r
97 wavesplit.exe: libasdcp.lib wavesplit.obj\r
98         $(LINK) $(LINKFLAGS) /OUT:wavesplit.exe wavesplit.obj libasdcp.lib Advapi32.lib\r
99 \r
100 kmuuidgen.exe: libkumu.lib kmuuidgen.obj\r
101         $(LINK) $(LINKFLAGS) /OUT:kmuuidgen.exe kmuuidgen.obj libkumu.lib Advapi32.lib\r
102 \r
103 kmrandgen.exe: libkumu.lib kmrandgen.obj\r
104         $(LINK) $(LINKFLAGS) /OUT:kmrandgen.exe kmrandgen.obj libkumu.lib Advapi32.lib\r
105 \r
106 kmfilegen.exe: libkumu.lib kmfilegen.obj\r
107         $(LINK) $(LINKFLAGS) /OUT:kmfilegen.exe kmfilegen.obj libkumu.lib Advapi32.lib\r
108 \r
109 klvwalk.exe: libasdcp.lib klvwalk.obj\r
110         $(LINK) $(LINKFLAGS) /OUT:klvwalk.exe klvwalk.obj libasdcp.lib Advapi32.lib\r
111 \r
112 asdcp-test.exe: libasdcp.lib asdcp-test.obj\r
113         $(LINK) $(LINKFLAGS) /OUT:asdcp-test.exe asdcp-test.obj libasdcp.lib Advapi32.lib\r