r134: Heroine Virtual's release 1.1.8
[cinelerra_cv/mob.git] / hvirtual / quicktime / Makefile
blobde2b88218aeb917f14f482a13ee5e9f60feef8c3
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 OBJS :=
27 ifneq ($(HAVE_CFLAGS), y)
30 ifeq ($(OBJDIR), alpha)
31 CFLAGS := -O4 -arch ev67 -ieee -accept c99_keywords -gcc_messages
32 endif
34 ifeq ($(OBJDIR), i686)
35 CFLAGS := -O3 -fmessage-length=0 -funroll-all-loops -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -I/usr/local/include
36 endif
39 ifeq ($(OBJDIR), x86_64)
40 CFLAGS := -O2 -funroll-all-loops -fomit-frame-pointer -I/usr/local/include
41 endif
46 endif
48 DIRS = $(OBJDIR)
53 include Makefile.jpeg
54 include Makefile.vorbis
55 include Makefile.ffmpeg
56 include Makefile.lame
57 include Makefile.dv
58 include Makefile.encore50
65 #CFLAGS += -g
66 CFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
67 CFLAGS += -DHAVE_FIREWIRE
68 CFLAGS += -I. \
69 -I$(JPEG_DIR) \
70 -I$(MPEG3_DIR) \
71 -I$(LAME_DIR)/include
74 # $(OBJDIR)/div3.o \
75 # $(OBJDIR)/divx.o \
82 OBJS += \
83 $(OBJDIR)/atom.o \
84 $(OBJDIR)/avi_hdrl.o \
85 $(OBJDIR)/avi_ix.o \
86 $(OBJDIR)/avi_idx1.o \
87 $(OBJDIR)/avi_indx.o \
88 $(OBJDIR)/avi_movi.o \
89 $(OBJDIR)/avi_odml.o \
90 $(OBJDIR)/avi_riff.o \
91 $(OBJDIR)/avi_strl.o \
92 $(OBJDIR)/cmodel_default.o \
93 $(OBJDIR)/cmodel_yuv420p.o \
94 $(OBJDIR)/cmodel_yuv422.o \
95 $(OBJDIR)/codecs.o \
96 $(OBJDIR)/colormodels.o \
97 $(OBJDIR)/ctab.o \
98 $(OBJDIR)/dinf.o \
99 $(OBJDIR)/dref.o \
100 $(OBJDIR)/dv.o \
101 $(OBJDIR)/edts.o \
102 $(OBJDIR)/elst.o \
103 $(OBJDIR)/graphics.o \
104 $(OBJDIR)/hdlr.o \
105 $(OBJDIR)/ima4.o \
106 $(OBJDIR)/jpeg.o \
107 $(OBJDIR)/jpeg_old.o \
108 $(OBJDIR)/libdv.o \
109 $(OBJDIR)/libmjpeg.o \
110 $(OBJDIR)/matrix.o \
111 $(OBJDIR)/mdat.o \
112 $(OBJDIR)/mdhd.o \
113 $(OBJDIR)/mdia.o \
114 $(OBJDIR)/minf.o \
115 $(OBJDIR)/moov.o \
116 $(OBJDIR)/mpeg4.o \
117 $(OBJDIR)/mvhd.o \
118 $(OBJDIR)/plugin.o \
119 $(OBJDIR)/qtpng.o \
120 $(OBJDIR)/qtmp3.o \
121 $(OBJDIR)/quicktime.o \
122 $(OBJDIR)/raw.o \
123 $(OBJDIR)/rawaudio.o \
124 $(OBJDIR)/smhd.o \
125 $(OBJDIR)/stbl.o \
126 $(OBJDIR)/stco.o \
127 $(OBJDIR)/stsc.o \
128 $(OBJDIR)/stsd.o \
129 $(OBJDIR)/stsdtable.o \
130 $(OBJDIR)/stss.o \
131 $(OBJDIR)/stsz.o \
132 $(OBJDIR)/stts.o \
133 $(OBJDIR)/tkhd.o \
134 $(OBJDIR)/trak.o \
135 $(OBJDIR)/twos.o \
136 $(OBJDIR)/udta.o \
137 $(OBJDIR)/ulaw.o \
138 $(OBJDIR)/util.o \
139 $(OBJDIR)/v308.o \
140 $(OBJDIR)/v408.o \
141 $(OBJDIR)/v410.o \
142 $(OBJDIR)/vmhd.o \
143 $(OBJDIR)/vorbis.o \
144 $(OBJDIR)/wma.o \
145 $(OBJDIR)/wmx2.o \
146 $(OBJDIR)/workarounds.o \
147 $(OBJDIR)/yuv2.o \
148 $(OBJDIR)/yuv4.o \
149 $(OBJDIR)/yv12.o
151 UTILS := \
152 $(OBJDIR)/qtdump \
153 $(OBJDIR)/make_streamable \
154 $(OBJDIR)/qtinfo \
155 $(OBJDIR)/dechunk \
156 $(OBJDIR)/yuv4toyuv \
157 $(OBJDIR)/recover \
158 $(OBJDIR)/rechunk
164 OUTPUT = $(OBJDIR)/libquicktime.a
165 SHAREDOUTPUT = $(OBJDIR)/libquicktime.so
167 CFLAGS += \
168 -I$(ENCORE_DIR) \
169 -DENCORE_INCLUDE=\"$(ENCORE_INCLUDE)\" \
170 -DLINUX
172 # -DDECORE_INCLUDE=\"$(DECORE_INCLUDE)\" \
173 # -I$(DECORE_DIR) \
174 # -D_DECORE
177 CFLAGS += \
178 -ffast-math \
179 -mno-ieee-fp \
180 -DHAVE_ALLOCA_H=1 \
181 -DHAVE_ALLOCA=1 \
182 -DHAVE_SQRTF=1 \
183 -DHAVE_LOGF=1 \
184 -DHAVE_EXPF=1 \
185 -DHAVE_ACOSF=1 \
186 -DHAVE_ATANF=1 \
187 -DHAVE_FREXPF=1 \
188 -DHAVE_RINTF=1 \
189 -DUSE_MEMORY_H \
190 -D_REENTRANT \
191 -DHAVE_ALLOCA=1 \
192 -DHAVE_ALLOCA_H=1 \
193 -DVORBIS_IEEE_FLOAT32 \
194 -DHAVE_DLFCN_H=1 \
195 -DSTDC_HEADERS=1 \
196 -DSIZEOF_SHORT=2 \
197 -DSIZEOF_INT=4 \
198 -DSIZEOF_LONG=4 \
199 -DSIZEOF_LONG_LONG=8 \
200 -DUSE_MEMORY_H
202 CFLAGS += \
203 -I$(FFMPEG_DIR)/libavcodec/ \
204 -I$(FFMPEG_DIR)/libav
208 #DIRS += \
209 # $(OBJDIR)/$(DECORE_DIR)/intel_mmx/postprocess
211 DIRS += \
212 $(OBJDIR)/$(ENCORE_DIR) \
213 $(OBJDIR)/$(ENCORE_DIR)/att_mmx \
214 $(OBJDIR)/$(ENCORE_DIR)/colorspace \
215 $(OBJDIR)/$(ENCORE_DIR)/colorspace/intel_mmx \
216 $(OBJDIR)/$(ENCORE_DIR)/intel_mmx \
217 $(OBJDIR)/$(ENCORE_DIR)/mbcoding \
218 $(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp \
219 $(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp/intel_mmx \
220 $(OBJDIR)/$(ENCORE_DIR)/mbprediction \
221 $(OBJDIR)/$(ENCORE_DIR)/mbtransquant \
222 $(OBJDIR)/$(ENCORE_DIR)/mbtransquant/intel_mmx
225 LIBS := $(OUTPUT) $(MPEG3_DIR)/$(OBJDIR)/libmpeg3.a -lpng -lz -lpthread -ldl -lm
228 $(shell if ! test -d $(OBJDIR) \; then mkdir -p $(DIRS) \; fi )
229 $(shell echo $(CFLAGS) > $(OBJDIR)/c_flags)
230 $(shell echo $(FFMPEG_CFLAGS) > $(OBJDIR)/ffmpeg_flags)
231 $(shell echo $(LAME_CFLAGS) > $(OBJDIR)/lame_flags)
232 $(shell echo $(OBJS) $(DV_OBJS) $(DVMMXOBJS) $(ENCOREMMX_OBJS) $(JPEG_NASM) $(JPEG_FAIL) $(FFMPEG_OBJS) $(FFMPEGIA32_OBJS) $(LAME_OBJS) > $(OBJDIR)/objs)
233 #$(shell echo $(OBJS) $(DV_OBJS) $(DVMMXOBJS) $(DECOREMMX_OBJS) $(ENCOREMMX_OBJS) $(JPEG_NASM) $(JPEG_FAIL) $(FFMPEG_OBJS) $(FFMPEGIA32_OBJS) $(LAME_OBJS) > $(OBJDIR)/objs)
235 all: $(OBJDIR) $(OUTPUT)
237 #$(OUTPUT): $(DV_OBJS) $(DVMMXOBJ) $(OBJS) $(DVMMXOBJS) $(DECOREMMX_OBJS) $(ENCOREMMX_OBJS) $(JPEG_NASM) $(FFMPEG_OBJS) $(FFMPEGIA32_OBJS) $(LAME_OBJS) $(JPEG_FAIL)
238 $(OUTPUT): $(DV_OBJS) $(DVMMXOBJ) $(OBJS) $(DVMMXOBJS) $(ENCOREMMX_OBJS) $(JPEG_NASM) $(FFMPEG_OBJS) $(FFMPEGIA32_OBJS) $(LAME_OBJS) $(JPEG_FAIL)
239 ar rcs $(OUTPUT) `cat $(OBJDIR)/objs`
242 $(OBJDIR)/qtdump: $(OBJDIR)/dump.o $(OUTPUT)
243 $(CC) -o $(OBJDIR)/qtdump $(OBJDIR)/dump.o $(LIBS)
245 $(OBJDIR)/make_streamable: $(OBJDIR)/make_streamable.o $(OUTPUT)
246 $(CC) -o $(OBJDIR)/make_streamable $(OBJDIR)/make_streamable.o $(LIBS)
248 $(OBJDIR)/dechunk: $(OBJDIR)/dechunk.o $(OUTPUT)
249 $(CC) -o $(OBJDIR)/dechunk $(OBJDIR)/dechunk.o $(LIBS)
251 $(OBJDIR)/rechunk: $(OBJDIR)/rechunk.o $(OUTPUT)
252 $(CC) -o $(OBJDIR)/rechunk $(OBJDIR)/rechunk.o $(LIBS)
254 $(OBJDIR)/recover: $(OBJDIR)/recover.o $(OUTPUT)
255 $(CC) -o $(OBJDIR)/recover $(OBJDIR)/recover.o $(LIBS)
257 $(OBJDIR)/yuv4toyuv: $(OBJDIR)/yuv4toyuv.o $(OUTPUT)
258 $(CC) -o $(OBJDIR)/yuv4toyuv $(OBJDIR)/yuv4toyuv.o $(LIBS)
260 $(OBJDIR)/qtinfo: $(OBJDIR)/qtinfo.o
261 $(CC) -o $(OBJDIR)/qtinfo $(OBJDIR)/qtinfo.o $(LIBS)
263 util: $(UTILS)
266 clean:
267 rm -rf $(OBJDIR)
268 rm -f $(DVMMXOBJ)
271 cat *.c *.h | wc
273 backup: clean
274 cd .. && \
275 tar zcvf quicktime.tar.gz quicktime
277 install:
278 cp $(UTILS) /usr/bin
280 $(OBJDIR)/dump.o \
281 $(OBJDIR)/make_streamable.o \
282 $(OBJDIR)/dechunk.o \
283 $(OBJDIR)/recover.o \
284 $(OBJDIR)/yuv4toyuv.o \
285 $(OBJDIR)/qtinfo.o \
286 $(OBJDIR)/rechunk.o \
287 $(OBJS):
288 $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.c) -o $*.o
290 $(JPEG_FAIL):
291 $(CC) -c -O3 -march=i686 -fmessage-length=0 $(subst $(OBJDIR)/,, $*.c) -o $*.o
293 $(DV_OBJS):
294 $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.c) -o $*.o
296 $(DVMMXOBJS):
297 $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.S) -o $*.o
299 $(DVMMXOBJ): $(DV_DIR)/libdv/gasmoff.c
300 $(CC) `cat $(OBJDIR)/c_flags` $(DV_DIR)/libdv/gasmoff.c -o $(OBJDIR)/$(DV_DIR)/libdv/gasmoff -lm
301 $(OBJDIR)/$(DV_DIR)/libdv/gasmoff > $(DVMMXOBJ)
303 $(JPEG_NASM):
304 nasm -f elf $(subst $(OBJDIR)/,, $*.s) -o $*.o
306 $(ENCOREMMX_OBJS):
307 nasm -f elf $(subst $(OBJDIR)/,, $*.asm) -o $*.o
309 #$(DECOREMMX_OBJS):
310 # $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.S) -o $*.o
313 $(FFMPEG_OBJS) $(FFMPEGIA32_OBJS):
314 $(CC) `cat $(OBJDIR)/ffmpeg_flags` -c $(subst $(OBJDIR)/,, $*.c) -o $*.o
316 $(LAME_OBJS):
317 $(CC) `cat $(OBJDIR)/lame_flags` -c $(subst $(OBJDIR)/,, $*.c) -o $*.o
319 #$(FFMPEGIA32_OBJS):
320 # nasm -f elf $(subst $(OBJDIR)/,, $*.s) -o $*.o
325 #$(OBJDIR)/div3.o: div3.c
326 #$(OBJDIR)/divx.o: divx.c
329 $(OBJDIR)/atom.o: atom.c
330 $(OBJDIR)/avi_hdrl.o: avi_hdrl.c
331 $(OBJDIR)/avi_ix.o: avi_ix.c
332 $(OBJDIR)/avi_idx1.o: avi_idx1.c
333 $(OBJDIR)/avi_indx.o: avi_indx.c
334 $(OBJDIR)/avi_movi.o: avi_movi.c
335 $(OBJDIR)/avi_odml.o: avi_odml.c
336 $(OBJDIR)/avi_riff.o: avi_riff.c
337 $(OBJDIR)/avi_strl.o: avi_strl.c
338 $(OBJDIR)/cmodel_default.o: cmodel_default.c cmodel_permutation.h
339 $(OBJDIR)/cmodel_yuv420p.o: cmodel_yuv420p.c cmodel_permutation.h
340 $(OBJDIR)/cmodel_yuv422.o: cmodel_yuv422.c cmodel_permutation.h
341 $(OBJDIR)/codecs.o: codecs.c
342 $(OBJDIR)/colormodels.o: colormodels.c
343 $(OBJDIR)/ctab.o: ctab.c
344 $(OBJDIR)/dechunk.o: dechunk.c
345 $(OBJDIR)/dinf.o: dinf.c
346 $(OBJDIR)/dref.o: dref.c
347 $(OBJDIR)/dump.o: dump.c
348 $(OBJDIR)/dv.o: dv.c
349 $(OBJDIR)/edts.o: edts.c
350 $(OBJDIR)/elst.o: elst.c
351 $(OBJDIR)/graphics.o: graphics.c
352 $(OBJDIR)/hdlr.o: hdlr.c
353 $(OBJDIR)/ima4.o: ima4.c
354 $(OBJDIR)/jpeg.o: jpeg.c
355 $(OBJDIR)/jpeg_old.o: jpeg_old.c
356 $(OBJDIR)/libdv.o: libdv.c
357 $(OBJDIR)/libmjpeg.o: libmjpeg.c
358 $(OBJDIR)/make_streamable.o: make_streamable.c
359 $(OBJDIR)/matrix.o: matrix.c
360 $(OBJDIR)/mdat.o: mdat.c
361 $(OBJDIR)/mdhd.o: mdhd.c
362 $(OBJDIR)/mdia.o: mdia.c
363 $(OBJDIR)/minf.o: minf.c
364 $(OBJDIR)/moov.o: moov.c
365 $(OBJDIR)/mpeg4.o: mpeg4.c
366 $(OBJDIR)/mvhd.o: mvhd.c
367 $(OBJDIR)/plugin.o: plugin.c
368 $(OBJDIR)/qtinfo.o: qtinfo.c
369 $(OBJDIR)/qtmp3.o: qtmp3.c
370 $(OBJDIR)/qtpng.o: qtpng.c
371 $(OBJDIR)/quicktime.o: quicktime.c
372 $(OBJDIR)/raw.o: raw.c
373 $(OBJDIR)/rawaudio.o: rawaudio.c
374 $(OBJDIR)/rechunk.o: rechunk.c
375 $(OBJDIR)/recover.o: recover.c
376 $(OBJDIR)/smhd.o: smhd.c
377 $(OBJDIR)/stbl.o: stbl.c
378 $(OBJDIR)/stco.o: stco.c
379 $(OBJDIR)/strl.o: strl.c
380 $(OBJDIR)/stsc.o: stsc.c
381 $(OBJDIR)/stsd.o: stsd.c
382 $(OBJDIR)/stsdtable.o: stsdtable.c
383 $(OBJDIR)/stss.o: stss.c
384 $(OBJDIR)/stsz.o: stsz.c
385 $(OBJDIR)/stts.o: stts.c
386 $(OBJDIR)/tkhd.o: tkhd.c
387 $(OBJDIR)/trak.o: trak.c
388 $(OBJDIR)/twos.o: twos.c
389 $(OBJDIR)/udta.o: udta.c
390 $(OBJDIR)/ulaw.o: ulaw.c
391 $(OBJDIR)/util.o: util.c
392 $(OBJDIR)/v308.o: v308.c
393 $(OBJDIR)/v408.o: v408.c
394 $(OBJDIR)/v410.o: v410.c
395 $(OBJDIR)/vmhd.o: vmhd.c
396 $(OBJDIR)/vorbis.o: vorbis.c
397 $(OBJDIR)/wma.o: wma.c
398 $(OBJDIR)/wmx2.o: wmx2.c
399 $(OBJDIR)/workarounds.o: workarounds.c
400 $(OBJDIR)/yuv2.o: yuv2.c
401 $(OBJDIR)/yuv4.o: yuv4.c
402 $(OBJDIR)/yuv4toyuv.o: yuv4toyuv.c
403 $(OBJDIR)/yv12.o: yv12.c
445 include depend.vorbis
446 include depend.ffmpeg
447 include depend.jpeg
448 include depend.lame
449 include depend.dv
450 include depend.encore50