r286: Heroine Virutal's official release 1.2.0
[cinelerra_cv/ct.git] / hvirtual / quicktime / Makefile
blob292ceec9b76dc19171630568cd617ed9a0ce0894
1 OBJDIR := $(shell uname --machine)
2 USE_MMX = 0
3 CC = gcc
8 ifeq ($(origin CFLAGS), environment)
9 HAVE_CFLAGS := y
10 else
11 HAVE_CFLAGS := n
12 endif
14 #ENCORE_DIR := encore2/src
15 #DECORE_DIR := decore2/src
16 ENCORE_DIR := encore50
17 #DECORE_DIR := decore50
18 ENCORE_INCLUDE := $(ENCORE_DIR)/encore.h
19 #DECORE_INCLUDE := $(DECORE_DIR)/decore.h
20 MPEG3_DIR := $(shell expr ../libmpeg3* )
21 FAAD_DIR := faad2
22 OBJS :=
28 ifneq ($(HAVE_CFLAGS), y)
31 ifeq ($(OBJDIR), alpha)
32 CFLAGS := -O4 -arch ev67 -ieee -accept c99_keywords -gcc_messages
33 endif
35 ifeq ($(OBJDIR), i686)
36 CFLAGS := -O3 -fmessage-length=0 -funroll-all-loops -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -I/usr/local/include
37 endif
40 ifeq ($(OBJDIR), x86_64)
41 CFLAGS := -O2 -funroll-all-loops -fomit-frame-pointer -I/usr/local/include
42 endif
47 endif
49 DIRS = $(OBJDIR)
54 include Makefile.jpeg
55 include Makefile.vorbis
56 include Makefile.ffmpeg
57 include Makefile.lame
58 include Makefile.dv
59 include Makefile.encore50
60 include Makefile.faad
66 #CFLAGS += -g
67 CFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
68 CFLAGS += -DHAVE_FIREWIRE
69 CFLAGS += -I. \
70 -I$(JPEG_DIR) \
71 -I$(MPEG3_DIR) \
72 -I$(LAME_DIR)/include
75 # $(OBJDIR)/div3.o \
76 # $(OBJDIR)/divx.o \
83 OBJS += \
84 $(OBJDIR)/atom.o \
85 $(OBJDIR)/avi_hdrl.o \
86 $(OBJDIR)/avi_ix.o \
87 $(OBJDIR)/avi_idx1.o \
88 $(OBJDIR)/avi_indx.o \
89 $(OBJDIR)/avi_movi.o \
90 $(OBJDIR)/avi_odml.o \
91 $(OBJDIR)/avi_riff.o \
92 $(OBJDIR)/avi_strl.o \
93 $(OBJDIR)/cmodel_default.o \
94 $(OBJDIR)/cmodel_yuv420p.o \
95 $(OBJDIR)/cmodel_yuv422.o \
96 $(OBJDIR)/codecs.o \
97 $(OBJDIR)/colormodels.o \
98 $(OBJDIR)/ctab.o \
99 $(OBJDIR)/dinf.o \
100 $(OBJDIR)/dref.o \
101 $(OBJDIR)/dv.o \
102 $(OBJDIR)/edts.o \
103 $(OBJDIR)/elst.o \
104 $(OBJDIR)/esds.o \
105 $(OBJDIR)/graphics.o \
106 $(OBJDIR)/hdlr.o \
107 $(OBJDIR)/ima4.o \
108 $(OBJDIR)/jpeg.o \
109 $(OBJDIR)/jpeg_old.o \
110 $(OBJDIR)/libdv.o \
111 $(OBJDIR)/libmjpeg.o \
112 $(OBJDIR)/matrix.o \
113 $(OBJDIR)/mdat.o \
114 $(OBJDIR)/mdhd.o \
115 $(OBJDIR)/mdia.o \
116 $(OBJDIR)/minf.o \
117 $(OBJDIR)/moov.o \
118 $(OBJDIR)/mp4a.o \
119 $(OBJDIR)/mpeg4.o \
120 $(OBJDIR)/mvhd.o \
121 $(OBJDIR)/plugin.o \
122 $(OBJDIR)/qtpng.o \
123 $(OBJDIR)/qtmp3.o \
124 $(OBJDIR)/quicktime.o \
125 $(OBJDIR)/raw.o \
126 $(OBJDIR)/rawaudio.o \
127 $(OBJDIR)/rle.o \
128 $(OBJDIR)/smhd.o \
129 $(OBJDIR)/stbl.o \
130 $(OBJDIR)/stco.o \
131 $(OBJDIR)/stsc.o \
132 $(OBJDIR)/stsd.o \
133 $(OBJDIR)/stsdtable.o \
134 $(OBJDIR)/stss.o \
135 $(OBJDIR)/stsz.o \
136 $(OBJDIR)/stts.o \
137 $(OBJDIR)/tkhd.o \
138 $(OBJDIR)/trak.o \
139 $(OBJDIR)/twos.o \
140 $(OBJDIR)/udta.o \
141 $(OBJDIR)/ulaw.o \
142 $(OBJDIR)/util.o \
143 $(OBJDIR)/v308.o \
144 $(OBJDIR)/v408.o \
145 $(OBJDIR)/v410.o \
146 $(OBJDIR)/vbraudio.o \
147 $(OBJDIR)/vmhd.o \
148 $(OBJDIR)/vorbis.o \
149 $(OBJDIR)/wma.o \
150 $(OBJDIR)/wmx2.o \
151 $(OBJDIR)/workarounds.o \
152 $(OBJDIR)/yuv2.o \
153 $(OBJDIR)/yuv4.o \
154 $(OBJDIR)/yv12.o
156 UTILS := \
157 $(OBJDIR)/qtdump \
158 $(OBJDIR)/make_streamable \
159 $(OBJDIR)/qtinfo \
160 $(OBJDIR)/dechunk \
161 $(OBJDIR)/yuv4toyuv \
162 $(OBJDIR)/recover \
163 $(OBJDIR)/rechunk
169 OUTPUT = $(OBJDIR)/libquicktime.a
170 SHAREDOUTPUT = $(OBJDIR)/libquicktime.so
172 CFLAGS += \
173 -I$(ENCORE_DIR) \
174 -DENCORE_INCLUDE=\"$(ENCORE_INCLUDE)\" \
175 -DLINUX
177 # -DDECORE_INCLUDE=\"$(DECORE_INCLUDE)\" \
178 # -I$(DECORE_DIR) \
179 # -D_DECORE
182 CFLAGS += \
183 -ffast-math \
184 -mno-ieee-fp \
185 -DHAVE_ALLOCA_H=1 \
186 -DHAVE_ALLOCA=1 \
187 -DHAVE_SQRTF=1 \
188 -DHAVE_LOGF=1 \
189 -DHAVE_EXPF=1 \
190 -DHAVE_ACOSF=1 \
191 -DHAVE_ATANF=1 \
192 -DHAVE_FREXPF=1 \
193 -DHAVE_RINTF=1 \
194 -DUSE_MEMORY_H \
195 -D_REENTRANT \
196 -DHAVE_ALLOCA=1 \
197 -DHAVE_ALLOCA_H=1 \
198 -DVORBIS_IEEE_FLOAT32 \
199 -DHAVE_DLFCN_H=1 \
200 -DSTDC_HEADERS=1 \
201 -DSIZEOF_SHORT=2 \
202 -DSIZEOF_INT=4 \
203 -DSIZEOF_LONG=4 \
204 -DSIZEOF_LONG_LONG=8 \
205 -DUSE_MEMORY_H
207 CFLAGS += \
208 -I$(FFMPEG_DIR)/libavcodec/ \
209 -I$(FFMPEG_DIR)/libav
213 #DIRS += \
214 # $(OBJDIR)/$(DECORE_DIR)/intel_mmx/postprocess
216 DIRS += \
217 $(OBJDIR)/$(ENCORE_DIR) \
218 $(OBJDIR)/$(ENCORE_DIR)/att_mmx \
219 $(OBJDIR)/$(ENCORE_DIR)/colorspace \
220 $(OBJDIR)/$(ENCORE_DIR)/colorspace/intel_mmx \
221 $(OBJDIR)/$(ENCORE_DIR)/intel_mmx \
222 $(OBJDIR)/$(ENCORE_DIR)/mbcoding \
223 $(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp \
224 $(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp/intel_mmx \
225 $(OBJDIR)/$(ENCORE_DIR)/mbprediction \
226 $(OBJDIR)/$(ENCORE_DIR)/mbtransquant \
227 $(OBJDIR)/$(ENCORE_DIR)/mbtransquant/intel_mmx
230 LIBS := $(OUTPUT) $(MPEG3_DIR)/$(OBJDIR)/libmpeg3.a -lpng -lz -lpthread -ldl -lm
233 $(shell if ! test -d $(OBJDIR) \; then mkdir -p $(DIRS) \; fi )
234 $(shell echo $(CFLAGS) > $(OBJDIR)/c_flags)
235 $(shell echo $(FFMPEG_CFLAGS) > $(OBJDIR)/ffmpeg_flags)
236 $(shell echo $(LAME_CFLAGS) > $(OBJDIR)/lame_flags)
237 $(shell echo $(FAAD_CFLAGS) > $(OBJDIR)/faad_flags)
238 $(shell echo $(OBJS) $(DV_OBJS) $(DVMMXOBJS) $(ENCOREMMX_OBJS) $(JPEG_NASM) $(JPEG_FAIL) $(FFMPEG_OBJS) $(FFMPEGIA32_OBJS) $(LAME_OBJS) $(FAAD_OBJS) > $(OBJDIR)/objs)
239 #$(shell echo $(OBJS) $(DV_OBJS) $(DVMMXOBJS) $(DECOREMMX_OBJS) $(ENCOREMMX_OBJS) $(JPEG_NASM) $(JPEG_FAIL) $(FFMPEG_OBJS) $(FFMPEGIA32_OBJS) $(LAME_OBJS) > $(OBJDIR)/objs)
241 all: $(OBJDIR) $(OUTPUT)
243 #$(OUTPUT): $(DV_OBJS) $(DVMMXOBJ) $(OBJS) $(DVMMXOBJS) $(DECOREMMX_OBJS) $(ENCOREMMX_OBJS) $(JPEG_NASM) $(FFMPEG_OBJS) $(FFMPEGIA32_OBJS) $(LAME_OBJS) $(JPEG_FAIL)
244 $(OUTPUT): $(DV_OBJS) $(DVMMXOBJ) $(OBJS) $(DVMMXOBJS) $(ENCOREMMX_OBJS) $(JPEG_NASM) $(FFMPEG_OBJS) $(FFMPEGIA32_OBJS) $(LAME_OBJS) $(FAAD_OBJS) $(JPEG_FAIL)
245 ar rcs $(OUTPUT) `cat $(OBJDIR)/objs`
248 $(OBJDIR)/qtdump: $(OBJDIR)/dump.o $(OUTPUT)
249 $(CC) -o $(OBJDIR)/qtdump $(OBJDIR)/dump.o $(LIBS)
251 $(OBJDIR)/make_streamable: $(OBJDIR)/make_streamable.o $(OUTPUT)
252 $(CC) -o $(OBJDIR)/make_streamable $(OBJDIR)/make_streamable.o $(LIBS)
254 $(OBJDIR)/dechunk: $(OBJDIR)/dechunk.o $(OUTPUT)
255 $(CC) -o $(OBJDIR)/dechunk $(OBJDIR)/dechunk.o $(LIBS)
257 $(OBJDIR)/rechunk: $(OBJDIR)/rechunk.o $(OUTPUT)
258 $(CC) -o $(OBJDIR)/rechunk $(OBJDIR)/rechunk.o $(LIBS)
260 $(OBJDIR)/recover: $(OBJDIR)/recover.o $(OUTPUT)
261 $(CC) -o $(OBJDIR)/recover $(OBJDIR)/recover.o $(LIBS)
263 $(OBJDIR)/yuv4toyuv: $(OBJDIR)/yuv4toyuv.o $(OUTPUT)
264 $(CC) -o $(OBJDIR)/yuv4toyuv $(OBJDIR)/yuv4toyuv.o $(LIBS)
266 $(OBJDIR)/qtinfo: $(OBJDIR)/qtinfo.o
267 $(CC) -o $(OBJDIR)/qtinfo $(OBJDIR)/qtinfo.o $(LIBS)
269 util: $(UTILS)
272 clean:
273 rm -rf $(OBJDIR)
274 rm -f $(DVMMXOBJ)
277 cat *.c *.h | wc
279 backup: clean
280 cd .. && \
281 tar zcvf quicktime.tar.gz quicktime
283 install:
284 cp $(UTILS) /usr/bin
286 $(OBJDIR)/dump.o \
287 $(OBJDIR)/make_streamable.o \
288 $(OBJDIR)/dechunk.o \
289 $(OBJDIR)/recover.o \
290 $(OBJDIR)/yuv4toyuv.o \
291 $(OBJDIR)/qtinfo.o \
292 $(OBJDIR)/rechunk.o \
293 $(OBJS):
294 $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.c) -o $*.o
296 $(JPEG_FAIL):
297 $(CC) -c -O3 -march=i686 -fmessage-length=0 $(subst $(OBJDIR)/,, $*.c) -o $*.o
299 $(DV_OBJS):
300 $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.c) -o $*.o
302 $(FAAD_OBJS):
303 $(CC) -c `cat $(OBJDIR)/faad_flags` $(subst $(OBJDIR)/,, $*.c) -o $*.o
305 $(DVMMXOBJS):
306 $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.S) -o $*.o
308 $(DVMMXOBJ): $(DV_DIR)/libdv/gasmoff.c
309 $(CC) `cat $(OBJDIR)/c_flags` $(DV_DIR)/libdv/gasmoff.c -o $(OBJDIR)/$(DV_DIR)/libdv/gasmoff -lm
310 $(OBJDIR)/$(DV_DIR)/libdv/gasmoff > $(DVMMXOBJ)
312 $(JPEG_NASM):
313 nasm -f elf $(subst $(OBJDIR)/,, $*.s) -o $*.o
315 $(ENCOREMMX_OBJS):
316 nasm -f elf $(subst $(OBJDIR)/,, $*.asm) -o $*.o
318 #$(DECOREMMX_OBJS):
319 # $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.S) -o $*.o
322 $(FFMPEG_OBJS) $(FFMPEGIA32_OBJS):
323 $(CC) `cat $(OBJDIR)/ffmpeg_flags` -c $(subst $(OBJDIR)/,, $*.c) -o $*.o
325 $(LAME_OBJS):
326 $(CC) `cat $(OBJDIR)/lame_flags` -c $(subst $(OBJDIR)/,, $*.c) -o $*.o
328 #$(FFMPEGIA32_OBJS):
329 # nasm -f elf $(subst $(OBJDIR)/,, $*.s) -o $*.o
334 #$(OBJDIR)/div3.o: div3.c
335 #$(OBJDIR)/divx.o: divx.c
338 $(OBJDIR)/atom.o: atom.c
339 $(OBJDIR)/avi_hdrl.o: avi_hdrl.c
340 $(OBJDIR)/avi_ix.o: avi_ix.c
341 $(OBJDIR)/avi_idx1.o: avi_idx1.c
342 $(OBJDIR)/avi_indx.o: avi_indx.c
343 $(OBJDIR)/avi_movi.o: avi_movi.c
344 $(OBJDIR)/avi_odml.o: avi_odml.c
345 $(OBJDIR)/avi_riff.o: avi_riff.c
346 $(OBJDIR)/avi_strl.o: avi_strl.c
347 $(OBJDIR)/cmodel_default.o: cmodel_default.c cmodel_permutation.h
348 $(OBJDIR)/cmodel_yuv420p.o: cmodel_yuv420p.c cmodel_permutation.h
349 $(OBJDIR)/cmodel_yuv422.o: cmodel_yuv422.c cmodel_permutation.h
350 $(OBJDIR)/codecs.o: codecs.c
351 $(OBJDIR)/colormodels.o: colormodels.c
352 $(OBJDIR)/ctab.o: ctab.c
353 $(OBJDIR)/dechunk.o: dechunk.c
354 $(OBJDIR)/dinf.o: dinf.c
355 $(OBJDIR)/dref.o: dref.c
356 $(OBJDIR)/dump.o: dump.c
357 $(OBJDIR)/dv.o: dv.c
358 $(OBJDIR)/edts.o: edts.c
359 $(OBJDIR)/elst.o: elst.c
360 $(OBJDIR)/esds.o: esds.c
361 $(OBJDIR)/graphics.o: graphics.c
362 $(OBJDIR)/hdlr.o: hdlr.c
363 $(OBJDIR)/ima4.o: ima4.c
364 $(OBJDIR)/jpeg.o: jpeg.c
365 $(OBJDIR)/jpeg_old.o: jpeg_old.c
366 $(OBJDIR)/libdv.o: libdv.c
367 $(OBJDIR)/libmjpeg.o: libmjpeg.c
368 $(OBJDIR)/make_streamable.o: make_streamable.c
369 $(OBJDIR)/matrix.o: matrix.c
370 $(OBJDIR)/mdat.o: mdat.c
371 $(OBJDIR)/mdhd.o: mdhd.c
372 $(OBJDIR)/mdia.o: mdia.c
373 $(OBJDIR)/minf.o: minf.c
374 $(OBJDIR)/moov.o: moov.c
375 $(OBJDIR)/mpeg4.o: mpeg4.c
376 $(OBJDIR)/mp4a.o: mp4a.c
377 $(OBJDIR)/mvhd.o: mvhd.c
378 $(OBJDIR)/plugin.o: plugin.c
379 $(OBJDIR)/qtinfo.o: qtinfo.c
380 $(OBJDIR)/qtmp3.o: qtmp3.c
381 $(OBJDIR)/qtpng.o: qtpng.c
382 $(OBJDIR)/quicktime.o: quicktime.c
383 $(OBJDIR)/raw.o: raw.c
384 $(OBJDIR)/rawaudio.o: rawaudio.c
385 $(OBJDIR)/rechunk.o: rechunk.c
386 $(OBJDIR)/recover.o: recover.c
387 $(OBJDIR)/rle.o: rle.c
388 $(OBJDIR)/smhd.o: smhd.c
389 $(OBJDIR)/stbl.o: stbl.c
390 $(OBJDIR)/stco.o: stco.c
391 $(OBJDIR)/strl.o: strl.c
392 $(OBJDIR)/stsc.o: stsc.c
393 $(OBJDIR)/stsd.o: stsd.c
394 $(OBJDIR)/stsdtable.o: stsdtable.c
395 $(OBJDIR)/stss.o: stss.c
396 $(OBJDIR)/stsz.o: stsz.c
397 $(OBJDIR)/stts.o: stts.c
398 $(OBJDIR)/tkhd.o: tkhd.c
399 $(OBJDIR)/trak.o: trak.c
400 $(OBJDIR)/twos.o: twos.c
401 $(OBJDIR)/udta.o: udta.c
402 $(OBJDIR)/ulaw.o: ulaw.c
403 $(OBJDIR)/util.o: util.c
404 $(OBJDIR)/v308.o: v308.c
405 $(OBJDIR)/v408.o: v408.c
406 $(OBJDIR)/v410.o: v410.c
407 $(OBJDIR)/vbraudio.o: vbraudio.c
408 $(OBJDIR)/vmhd.o: vmhd.c
409 $(OBJDIR)/vorbis.o: vorbis.c
410 $(OBJDIR)/wma.o: wma.c
411 $(OBJDIR)/wmx2.o: wmx2.c
412 $(OBJDIR)/workarounds.o: workarounds.c
413 $(OBJDIR)/yuv2.o: yuv2.c
414 $(OBJDIR)/yuv4.o: yuv4.c
415 $(OBJDIR)/yuv4toyuv.o: yuv4toyuv.c
416 $(OBJDIR)/yv12.o: yv12.c
458 include depend.vorbis
459 include depend.ffmpeg
460 include depend.jpeg
461 include depend.lame
462 include depend.dv
463 include depend.encore50
464 include depend.faad