0c6a12c3b08f31b86f62940873cba9401d1f9ca7
[goodguy/history.git] / cinelerra-5.1 / libzmpeg3 / Makefile.orig
1 CC = gcc
2 NASM = nasm
3 USE_MMX = 0
4 USE_CSS = 1
5 A52DIR := $(shell expr a52dec* )
6
7
8 ifeq ("$(DST)", "")
9 DST=/usr/bin
10 endif
11
12 ifeq ($(origin CFLAGS), environment)
13 HAVE_CFLAGS := y
14 else
15 HAVE_CFLAGS := n
16 endif
17
18
19 OBJDIR := $(shell uname --machine)
20
21
22
23
24 ifeq ($(OBJDIR), alpha)
25   USE_MMX = 0
26   ifneq ($(HAVE_CFLAGS), y)
27     CFLAGS := -O4 -arch ev67 -ieee -accept c99_keywords -gcc_messages
28   endif
29 endif
30
31 ifeq ($(OBJDIR), i686)
32   USE_MMX = 1
33   ifneq ($(HAVE_CFLAGS), y)
34     CFLAGS := -O2 -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -I/usr/local/include
35   endif
36   CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
37 endif
38
39 ifeq ($(OBJDIR), x86_64)
40   ifneq ($(HAVE_CFLAGS), y)
41     CFLAGS := -O2 -fomit-frame-pointer -I/usr/local/include
42   endif
43   CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
44
45
46 endif
47
48
49
50 ifeq ($(USE_CSS), 1)
51   CFLAGS += -DHAVE_CSS
52 endif
53
54 ifeq ($(USE_MMX), 1)
55   CFLAGS += -DHAVE_MMX
56   ASMOBJS = $(OBJDIR)/video/mmxidct.o
57   NASMOBJS = $(OBJDIR)/video/reconmmx.o
58 endif
59
60
61
62
63
64
65 CFLAGS += \
66         -I. \
67         -I$(A52DIR)/include \
68         -I$(A52DIR)/liba52
69
70
71
72 CFLAGS += -g
73
74
75
76
77
78
79
80
81
82
83 OBJS = \
84         $(OBJDIR)/audio/ac3.o \
85         $(OBJDIR)/audio/dct.o \
86         $(OBJDIR)/audio/huffman.o \
87         $(OBJDIR)/audio/layer2.o \
88         $(OBJDIR)/audio/layer3.o \
89         $(OBJDIR)/audio/mpeg3audio.o \
90         $(OBJDIR)/audio/pcm.o \
91         $(OBJDIR)/audio/synthesizers.o \
92         $(OBJDIR)/audio/tables.o \
93         $(OBJDIR)/libmpeg3.o \
94         $(OBJDIR)/mpeg3atrack.o \
95         $(OBJDIR)/mpeg3bits.o \
96         $(OBJDIR)/mpeg3css.o \
97         $(OBJDIR)/mpeg3demux.o \
98         $(OBJDIR)/mpeg3ifo.o \
99         $(OBJDIR)/mpeg3io.o \
100         $(OBJDIR)/mpeg3strack.o \
101         $(OBJDIR)/mpeg3title.o \
102         $(OBJDIR)/mpeg3tocutil.o \
103         $(OBJDIR)/mpeg3vtrack.o \
104         $(OBJDIR)/video/getpicture.o \
105         $(OBJDIR)/video/headers.o \
106         $(OBJDIR)/video/idct.o \
107         $(OBJDIR)/video/macroblocks.o \
108         $(OBJDIR)/video/mmxtest.o \
109         $(OBJDIR)/video/motion.o \
110         $(OBJDIR)/video/mpeg3cache.o \
111         $(OBJDIR)/video/mpeg3video.o \
112         $(OBJDIR)/video/output.o \
113         $(OBJDIR)/video/reconstruct.o \
114         $(OBJDIR)/video/seek.o \
115         $(OBJDIR)/video/slice.o \
116         $(OBJDIR)/video/subtitle.o \
117         $(OBJDIR)/video/vlc.o \
118         $(OBJDIR)/workarounds.o
119
120 #OBJS = \
121 #       $(OBJDIR)/audio/ac3.o \
122 #       $(OBJDIR)/audio/bit_allocation.o \
123 #       $(OBJDIR)/audio/exponents.o \
124 #       $(OBJDIR)/audio/header.o \
125 #       $(OBJDIR)/audio/huffman.o \
126 #       $(OBJDIR)/audio/layer2.o \
127 #       $(OBJDIR)/audio/layer3.o \
128 #       $(OBJDIR)/audio/mantissa.o \
129 #       $(OBJDIR)/audio/pcm.o \
130 #       $(OBJDIR)/audio/tables.o \
131
132
133
134
135 DIRS := \
136         $(OBJDIR)/audio \
137         $(OBJDIR)/video
138
139 include Makefile.a52
140
141 DIRS += $(A52DIRS)
142
143
144 OUTPUT = $(OBJDIR)/libmpeg3.a
145 UTILS = $(OBJDIR)/mpeg3dump $(OBJDIR)/mpeg3peek $(OBJDIR)/mpeg3toc  $(OBJDIR)/mpeg3cat
146
147 #$(OBJDIR)/mpeg3split
148
149
150 LIBS = -lm -lpthread
151
152 $(shell mkdir -p $(OBJDIR) )
153
154 $(shell echo $(CFLAGS) > $(OBJDIR)/c_flags)
155 $(shell echo $(A52CFLAGS) > $(OBJDIR)/a52_flags)
156 $(shell echo $(OBJS) $(ASMOBJS) $(A52OBJS) $(NASMOBJS) > $(OBJDIR)/objs)
157 $(shell mkdir -p $(DIRS) )
158
159 all: $(OUTPUT) $(UTILS)
160
161
162 $(OUTPUT): $(OBJS) $(ASMOBJS) $(NASMOBJS) $(A52OBJS)
163         ar rcs $(OUTPUT) `cat $(OBJDIR)/objs`
164
165
166
167 $(OBJDIR)/mpeg3dump: $(OUTPUT) mpeg3dump.c
168         $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3dump mpeg3dump.c $(OUTPUT) $(LIBS)
169
170 $(OBJDIR)/mpeg3peek: $(OUTPUT) mpeg3peek.c
171         $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3peek mpeg3peek.c $(OUTPUT) $(LIBS)
172
173 $(OBJDIR)/mpeg3toc: $(OUTPUT) mpeg3toc.c
174         $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3toc mpeg3toc.c $(OUTPUT) $(LIBS)
175
176 $(OBJDIR)/mpeg3cat: $(OUTPUT) mpeg3cat.c
177         $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3cat mpeg3cat.c $(OUTPUT) $(LIBS)
178
179 #$(OBJDIR)/mpeg3split: $(OUTPUT)
180 #       $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3split mpeg3split.c $(OUTPUT) $(LIBS)
181
182 $(OBJDIR)/mpeg2qt: $(OUTPUT)
183         $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg2qt mpeg2qt.c \
184                 $(OUTPUT) \
185                 $(LIBS) \
186                 -I. \
187                 -I../quicktime \
188                 ../quicktime/$(OBJDIR)/libquicktime.a \
189                 -lpng \
190                 -lz \
191                 -ldl
192
193 install: 
194         cp $(UTILS) $(DST)
195
196 clean:
197         rm -rf $(OBJDIR)
198
199 backup: clean
200         cd .. && \
201         tar zcf libmpeg3.tar.gz libmpeg3
202
203 wc:
204         cat *.c *.h audio/*.c audio/*.h video/*.c video/*.h | wc
205
206 $(OBJS): 
207         $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.c) -o $*.o
208 $(ASMOBJS): 
209         $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.S) -o $*.o
210 $(NASMOBJS): 
211         $(NASM) -f elf $(subst $(OBJDIR)/,, $*.s) -o $*.o
212 $(A52OBJS):
213         $(CC) -c `cat $(OBJDIR)/a52_flags` $(subst $(OBJDIR)/,, $*.c) -o $*.o
214
215 $(OBJDIR)/libmpeg3.o:                               libmpeg3.c
216 $(OBJDIR)/mpeg3atrack.o:                            mpeg3atrack.c
217 $(OBJDIR)/mpeg3bits.o:                              mpeg3bits.c
218 $(OBJDIR)/mpeg3css.o:                               mpeg3css.c
219 $(OBJDIR)/mpeg3demux.o:                             mpeg3demux.c
220 $(OBJDIR)/mpeg3dump.o:                              mpeg3dump.c
221 $(OBJDIR)/mpeg3ifo.o:                               mpeg3ifo.c
222 $(OBJDIR)/mpeg3io.o:                                mpeg3io.c
223 $(OBJDIR)/mpeg3strack.o:                            mpeg3strack.c
224 $(OBJDIR)/mpeg3title.o:                             mpeg3title.c
225 $(OBJDIR)/mpeg3toc3.o:                              mpeg3toc3.c
226 $(OBJDIR)/mpeg3toc.o:                               mpeg3toc.c
227 $(OBJDIR)/mpeg3tocutil.o:                           mpeg3tocutil.c
228 $(OBJDIR)/mpeg3vtrack.o:                            mpeg3vtrack.c
229 $(OBJDIR)/audio/ac3.o:                              audio/ac3.c
230 $(OBJDIR)/audio/bit_allocation.o:                   audio/bit_allocation.c
231 $(OBJDIR)/audio/dct.o:                              audio/dct.c
232 $(OBJDIR)/audio/exponents.o:                        audio/exponents.c
233 $(OBJDIR)/audio/header.o:                           audio/header.c
234 $(OBJDIR)/audio/huffman.o:                          audio/huffman.c
235 $(OBJDIR)/audio/layer2.o:                           audio/layer2.c
236 $(OBJDIR)/audio/layer3.o:                           audio/layer3.c
237 $(OBJDIR)/audio/mantissa.o:                         audio/mantissa.c
238 $(OBJDIR)/audio/mpeg3audio.o:                       audio/mpeg3audio.c
239 $(OBJDIR)/audio/pcm.o:                              audio/pcm.c
240 $(OBJDIR)/audio/synthesizers.o:                     audio/synthesizers.c
241 $(OBJDIR)/audio/tables.o:                           audio/tables.c
242 $(OBJDIR)/video/getpicture.o:                       video/getpicture.c
243 $(OBJDIR)/video/headers.o:                          video/headers.c
244 $(OBJDIR)/video/idct.o:                             video/idct.c
245 $(OBJDIR)/video/macroblocks.o:                      video/macroblocks.c
246 $(OBJDIR)/video/mmxtest.o:                          video/mmxtest.c
247 $(OBJDIR)/video/motion.o:                           video/motion.c
248 $(OBJDIR)/video/mpeg3cache.o:                       video/mpeg3cache.c
249 $(OBJDIR)/video/mpeg3video.o:                       video/mpeg3video.c
250 $(OBJDIR)/video/output.o:                           video/output.c
251 $(OBJDIR)/video/reconstruct.o:                      video/reconstruct.c
252 $(OBJDIR)/video/seek.o:                             video/seek.c
253 $(OBJDIR)/video/slice.o:                            video/slice.c
254 $(OBJDIR)/video/subtitle.o:                         video/subtitle.c
255 $(OBJDIR)/video/vlc.o:                              video/vlc.c
256 $(OBJDIR)/workarounds.o:                            workarounds.c
257
258
259
260 include depend.a52