2 # Copyright (c) 2007-2009 John Hurst. All rights reserved.
\r
4 # Redistribution and use in source and binary forms, with or without
\r
5 # modification, are permitted provided that the following conditions
\r
7 # 1. Redistributions of source code must retain the above copyright
\r
8 # notice, this list of conditions and the following disclaimer.
\r
9 # 2. Redistributions in binary form must reproduce the above copyright
\r
10 # notice, this list of conditions and the following disclaimer in the
\r
11 # documentation and/or other materials provided with the distribution.
\r
12 # 3. The name of the author may not be used to endorse or promote products
\r
13 # derived from this software without specific prior written permission.
\r
15 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
\r
16 # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
\r
17 # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
\r
18 # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
\r
19 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
\r
20 # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
\r
21 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
\r
22 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
\r
23 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
\r
24 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\r
30 !ifndef WITH_OPENSSL
\r
31 !error "OpenSSL is needed! Specify it with WITH_OPENSSL=<OpenSSL directory>"
\r
34 !ifdef ENABLE_RANDOM_UUID
\r
35 CXXFLAGS1 = /nologo /W3 /GR /EHsc /DWIN32 /DKM_WIN32 /D_CONSOLE /I. /I$(SRCDIR) /DASDCP_PLATFORM=\"win32\" \
\r
36 /D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_WARNINGS /DPACKAGE_VERSION=\"1.4.22\" \
\r
37 /I"$(WITH_OPENSSL)"\inc32 /DCONFIG_RANDOM_UUID=1
\r
39 CXXFLAGS1 = /nologo /W3 /GR /EHsc /DWIN32 /DKM_WIN32 /D_CONSOLE /I. /I$(SRCDIR) /DASDCP_PLATFORM=\"win32\" \
\r
40 /D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_WARNINGS /DPACKAGE_VERSION=\"1.4.22\" \
\r
41 /I"$(WITH_OPENSSL)"\inc32
\r
44 LIBFLAGS1 = /NOLOGO /LIBPATH:"$(WITH_OPENSSL)"\out32dll
\r
47 LINKFLAGS1 = /NOLOGO /SUBSYSTEM:console /MACHINE:I386 /LIBPATH:. /DEBUG
\r
51 CXXFLAGS2 = $(CXXFLAGS1) /MTd /DDEBUG /D_DEBUG /Od /RTC1 /ZI
\r
52 LINKFLAGS = $(LINKFLAGS1) /DEBUG
\r
54 CXXFLAGS2 = $(CXXFLAGS1) /MT /DNDEBUG /D_NDEBUG /O2
\r
55 LINKFLAGS = $(LINKFLAGS1)
\r
59 !ifdef WITH_XML_PARSER
\r
60 !ERROR "Cannot include both Expat and Xerces-C++!"
\r
63 CXXFLAGS = $(CXXFLAGS2) /DHAVE_XERCES_C=1 /I"$(WITH_XERCES)"\include
\r
64 LIBFLAGS = $(LIBFLAGS1) /LIBPATH:"$(WITH_XERCES)"\lib
\r
65 !ELSEIFDEF WITH_XML_PARSER
\r
66 CXXFLAGS = $(CXXFLAGS2) /DASDCP_USE_EXPAT /I"$(WITH_XML_PARSER)"\Source\lib
\r
68 LIBFLAGS = $(LIBFLAGS1) /LIBPATH:"$(WITH_XML_PARSER)"\Source\win32\bin\debug
\r
70 LIBFLAGS = $(LIBFLAGS1) /LIBPATH:"$(WITH_XML_PARSER)"\Source\win32\bin\release
\r
73 CXXFLAGS = $(CXXFLAGS2)
\r
74 LIBFLAGS = $(LIBFLAGS1)
\r
77 CPPFLAGS = $(CXXFLAGS)
\r
79 KUMU_OBJS = KM_fileio.obj KM_log.obj KM_prng.obj KM_util.obj KM_xml.obj
\r
80 ASDCP_OBJS = MPEG2_Parser.obj MPEG.obj JP2K_Codestream_Parser.obj \
\r
81 JP2K_Sequence_Parser.obj JP2K.obj PCM_Parser.obj Wav.obj \
\r
82 TimedText_Parser.obj KLV.obj Dict.obj MXFTypes.obj MXF.obj \
\r
83 Index.obj Metadata.obj AS_DCP.obj AS_DCP_MXF.obj AS_DCP_AES.obj \
\r
84 h__Reader.obj h__Writer.obj AS_DCP_MPEG2.obj AS_DCP_JP2K.obj \
\r
85 AS_DCP_PCM.obj AS_DCP_TimedText.obj PCMParserList.obj \
\r
88 {$(SRCDIR)\}.cpp{}.obj:
\r
89 $(CXX) $(CXXFLAGS) -Fd$(OBJDIR)\ /c $<
\r
91 all: kmfilegen.exe kmrandgen.exe kmuuidgen.exe asdcp-test.exe blackwave.exe klvwalk.exe wavesplit.exe
\r
94 erase *.exe *.lib *.obj *.ilk *.pdb *.idb
\r
96 libkumu.lib : $(KUMU_OBJS)
\r
99 $(LIB_EXE) $(LIBFLAGS) /OUT:libkumu.lib $** libeay32.lib xerces-c_2D.lib
\r
101 $(LIB_EXE) $(LIBFLAGS) /OUT:libkumu.lib $** libeay32.lib xerces-c_2.lib
\r
103 !ELSEIFDEF WITH_XML_PARSER
\r
104 $(LIB_EXE) $(LIBFLAGS) /OUT:libkumu.lib $** libeay32.lib libexpatMT.lib
\r
106 $(LIB_EXE) $(LIBFLAGS) /OUT:libkumu.lib $** libeay32.lib
\r
109 libasdcp.lib: libkumu.lib $(ASDCP_OBJS)
\r
110 $(LIB_EXE) $(LIBFLAGS) /OUT:libasdcp.lib $**
\r
112 blackwave.exe: libasdcp.lib blackwave.obj
\r
113 $(LINK) $(LINKFLAGS) /OUT:blackwave.exe $** Advapi32.lib
\r
115 wavesplit.exe: libasdcp.lib wavesplit.obj
\r
116 $(LINK) $(LINKFLAGS) /OUT:wavesplit.exe $** Advapi32.lib
\r
118 kmuuidgen.exe: libkumu.lib kmuuidgen.obj
\r
119 $(LINK) $(LINKFLAGS) /OUT:kmuuidgen.exe $** Advapi32.lib
\r
121 kmrandgen.exe: libkumu.lib kmrandgen.obj
\r
122 $(LINK) $(LINKFLAGS) /OUT:kmrandgen.exe $** Advapi32.lib
\r
124 kmfilegen.exe: libkumu.lib kmfilegen.obj
\r
125 $(LINK) $(LINKFLAGS) /OUT:kmfilegen.exe $** Advapi32.lib
\r
127 klvwalk.exe: libasdcp.lib klvwalk.obj
\r
128 $(LINK) $(LINKFLAGS) /OUT:klvwalk.exe $** Advapi32.lib
\r
130 asdcp-test.exe: libasdcp.lib asdcp-test.obj
\r
131 $(LINK) $(LINKFLAGS) /OUT:asdcp-test.exe $** Advapi32.lib
\r