1##########################################################################
2#
3#    Bento4 Runtime Lib
4#
5#    (c) 2002-2009 Axiomatic Systems, LLC
6#
7##########################################################################
8all: libAP4.a
9
10CORE_SOURCES = 								\
11    Ap4Results.cpp                          \
12    Ap4Atom.cpp                             \
13    Ap4AtomFactory.cpp                      \
14    Ap4AtomSampleTable.cpp                  \
15    Ap4AvccAtom.cpp                         \
16    Ap4VpccAtom.cpp                         \
17    Ap4ByteStream.cpp                       \
18    Ap4Co64Atom.cpp                         \
19    Ap4ContainerAtom.cpp                    \
20    Ap4CttsAtom.cpp                         \
21    Ap4DataBuffer.cpp                       \
22    Ap4Debug.cpp                            \
23    Ap4DecoderConfigDescriptor.cpp          \
24    Ap4DecoderSpecificInfoDescriptor.cpp    \
25    Ap4Descriptor.cpp                       \
26    Ap4DescriptorFactory.cpp                \
27    Ap4DrefAtom.cpp                         \
28    Ap4EsDescriptor.cpp                     \
29    Ap4EsdsAtom.cpp                         \
30    Ap4File.cpp                             \
31    Ap4FileWriter.cpp                       \
32    Ap4FileCopier.cpp                       \
33    Ap4FrmaAtom.cpp                         \
34    Ap4FtypAtom.cpp                         \
35    Ap4HdlrAtom.cpp                         \
36    Ap4HintTrackReader.cpp                  \
37    Ap4HmhdAtom.cpp                         \
38    Ap4IkmsAtom.cpp                         \
39    Ap4IproAtom.cpp                         \
40    Ap4IsfmAtom.cpp                         \
41    Ap4IsltAtom.cpp                         \
42    Ap4IsmaCryp.cpp                         \
43    Ap4MdhdAtom.cpp                         \
44    Ap4MoovAtom.cpp                         \
45    Ap4Movie.cpp                            \
46    Ap4MvhdAtom.cpp                         \
47    Ap4NmhdAtom.cpp                         \
48    Ap4SthdAtom.cpp                         \
49    Ap4OdafAtom.cpp                         \
50    Ap4OddaAtom.cpp                         \
51    Ap4OdheAtom.cpp                         \
52    Ap4OhdrAtom.cpp                         \
53    Ap4OmaDcf.cpp                           \
54    Ap4Processor.cpp                        \
55    Ap4Protection.cpp                       \
56    Ap4RtpAtom.cpp                          \
57    Ap4RtpHint.cpp                          \
58    Ap4Sample.cpp                           \
59    Ap4SampleDescription.cpp                \
60    Ap4SampleEntry.cpp                      \
61    Ap4SampleTable.cpp                      \
62    Ap4SchmAtom.cpp                         \
63    Ap4SdpAtom.cpp                          \
64    Ap4SLConfigDescriptor.cpp               \
65    Ap4SmhdAtom.cpp                         \
66    Ap4StcoAtom.cpp                         \
67    Ap4String.cpp                           \
68    Ap4StscAtom.cpp                         \
69    Ap4StsdAtom.cpp                         \
70    Ap4StssAtom.cpp                         \
71    Ap4StszAtom.cpp                         \
72    Ap4Stz2Atom.cpp							\
73    Ap4SttsAtom.cpp                         \
74    Ap4SyntheticSampleTable.cpp             \
75    Ap4TimsAtom.cpp                         \
76    Ap4TkhdAtom.cpp                         \
77    Ap4Track.cpp                            \
78    Ap4TrakAtom.cpp                         \
79    Ap4TrefTypeAtom.cpp                     \
80    Ap4UrlAtom.cpp                          \
81    Ap4Utils.cpp                            \
82    Ap4VmhdAtom.cpp                         \
83    Ap4ElstAtom.cpp                         \
84    Ap4Expandable.cpp                       \
85    Ap4GrpiAtom.cpp                         \
86    Ap4Ipmp.cpp                             \
87    Ap4IodsAtom.cpp                         \
88    Ap4ObjectDescriptor.cpp                 \
89    Ap4Command.cpp                          \
90    Ap4CommandFactory.cpp                   \
91    Ap4UuidAtom.cpp                         \
92    Ap4Marlin.cpp                           \
93    Ap4TrunAtom.cpp                         \
94    Ap4TfhdAtom.cpp                         \
95    Ap4MfhdAtom.cpp                         \
96    Ap48bdlAtom.cpp                         \
97    Ap4MehdAtom.cpp                         \
98    Ap4TrexAtom.cpp                         \
99    Ap4LinearReader.cpp			            \
100    Ap4Mpeg2Ts.cpp                          \
101    Ap4Hmac.cpp                             \
102    Ap4KeyWrap.cpp 							\
103    Ap4MovieFragment.cpp                    \
104    Ap4FragmentSampleTable.cpp              \
105    Ap4Piff.cpp                             \
106    Ap4TfraAtom.cpp                         \
107    Ap4MfroAtom.cpp							\
108    Ap4TfdtAtom.cpp							\
109    Ap4CommonEncryption.cpp					\
110    Ap4SaioAtom.cpp							\
111    Ap4SaizAtom.cpp							\
112    Ap4SencAtom.cpp							\
113    Ap4TencAtom.cpp							\
114    Ap4TfdtAtom.cpp                         \
115    Ap4PdinAtom.cpp                         \
116    Ap4Ac4Utils.cpp                         \
117    Ap4AinfAtom.cpp                         \
118    Ap4BlocAtom.cpp                         \
119    Ap4PsshAtom.cpp			                \
120    Ap4Dec3Atom.cpp                         \
121    Ap4Dac4Atom.cpp                         \
122    Ap4Dac3Atom.cpp                         \
123    Ap4SidxAtom.cpp                         \
124    Ap4HvccAtom.cpp                         \
125    Ap4DvccAtom.cpp                         \
126    Ap4SgpdAtom.cpp                         \
127    Ap4SbgpAtom.cpp                         \
128    Ap4NalParser.cpp                        \
129    Ap4Ac4Parser.cpp                        \
130    Ap4AvcParser.cpp                        \
131    Ap4Ac3Parser.cpp                        \
132    Ap4Eac3Parser.cpp                       \
133    Ap4HevcParser.cpp                       \
134    Ap4SegmentBuilder.cpp                   \
135
136
137CORE_OBJECTS=$(CORE_SOURCES:.cpp=.o)
138
139CRYPTO_SOURCES = Ap4StreamCipher.cpp Ap4AesBlockCipher.cpp
140CRYPTO_OBJECTS = $(CRYPTO_SOURCES:.cpp=.o)
141
142METADATA_SOURCES = Ap4MetaData.cpp
143METADATA_OBJECTS = $(METADATA_SOURCES:.cpp=.o)
144
145SYSTEM_SOURCES = $(FILE_BYTE_STREAM_IMPLEMENTATION).cpp $(RANDOM_IMPLEMENTATION).cpp
146SYSTEM_OBJECTS = $(SYSTEM_SOURCES:.cpp=.o)
147
148CODECS_SOURCES = Ap4AdtsParser.cpp Ap4BitStream.cpp Ap4Mp4AudioInfo.cpp
149CODECS_OBJECTS = $(CODECS_SOURCES:.cpp=.o)
150
151CAPI_SOURCES = Bento4C.cpp
152CAPI_OBJECTS = $(CAPI_SOURCES:.cpp=.o)
153
154TARGET_SOURCES = $(CORE_SOURCES) $(SYSTEM_SOURCES) $(METADATA_SOURCES) $(CRYPTO_SOURCES) $(CODECS_SOURCES) $(CAPI_SOURCES)
155
156##########################################################################
157# search path
158##########################################################################
159VPATH += $(SOURCE_ROOT)/Core
160VPATH += $(SOURCE_ROOT)/Crypto
161VPATH += $(SOURCE_ROOT)/System/StdC
162VPATH += $(SOURCE_ROOT)/System/Posix
163VPATH += $(SOURCE_ROOT)/Codecs
164VPATH += $(SOURCE_ROOT)/MetaData
165VPATH += $(SOURCE_ROOT)/CApi
166
167##########################################################################
168# includes
169##########################################################################
170include $(BUILD_ROOT)/Makefiles/Lib.exp
171
172##########################################################################
173# includes
174##########################################################################
175include $(BUILD_ROOT)/Makefiles/Rules.mak
176
177##########################################################################
178# rules
179##########################################################################
180libAP4.a: $(CORE_OBJECTS) $(SYSTEM_OBJECTS) $(CRYPTO_OBJECTS) $(METADATA_OBJECTS) $(CODECS_OBJECTS) $(CAPI_OBJECTS)
181