1 include ../global_config
2 include $(THIRDPARTY)/config.mak
5 $(OBJDIR)/aattachmentpoint.o \
6 $(OBJDIR)/aautomation.o \
7 $(OBJDIR)/aboutprefs.o \
8 $(OBJDIR)/adeviceprefs.o \
13 $(OBJDIR)/androidcontrol.o \
14 $(OBJDIR)/apatchgui.o \
16 $(OBJDIR)/apluginarray.o \
17 $(OBJDIR)/apluginset.o \
19 $(OBJDIR)/assetedit.o \
20 $(OBJDIR)/assetpopup.o \
21 $(OBJDIR)/assetremove.o \
25 $(OBJDIR)/attachmentpoint.o \
26 $(OBJDIR)/audio1394.o \
27 $(OBJDIR)/audioalsa.o \
28 $(OBJDIR)/audiodevice.o \
29 $(OBJDIR)/audiodvb.o \
30 $(OBJDIR)/audioesound.o \
31 $(OBJDIR)/audioidevice.o \
32 $(OBJDIR)/audioodevice.o \
33 $(OBJDIR)/audiooss.o \
36 $(OBJDIR)/autoconf.o \
37 $(OBJDIR)/automation.o \
38 $(OBJDIR)/avc1394control.o \
39 $(OBJDIR)/avc1394transport.o \
41 $(OBJDIR)/awindowgui.o \
42 $(OBJDIR)/awindowmenu.o \
44 $(OBJDIR)/batchrender.o \
45 $(OBJDIR)/bitspopup.o \
47 $(OBJDIR)/browsebutton.o \
48 $(OBJDIR)/byteorderpopup.o \
50 $(OBJDIR)/cachebase.o \
52 $(OBJDIR)/canvastools.o \
54 $(OBJDIR)/channeldb.o \
55 $(OBJDIR)/channeledit.o \
56 $(OBJDIR)/channelpicker.o \
57 $(OBJDIR)/chantables.o \
58 $(OBJDIR)/clipedit.o \
59 $(OBJDIR)/cicolors.o \
60 $(OBJDIR)/colorpicker.o \
61 $(OBJDIR)/commonrender.o \
62 $(OBJDIR)/confirmsave.o \
63 $(OBJDIR)/confirmquit.o \
65 $(OBJDIR)/cplayback.o \
66 $(OBJDIR)/ctimebar.o \
67 $(OBJDIR)/ctracking.o \
70 $(OBJDIR)/cwindowgui.o \
71 $(OBJDIR)/cwindowtool.o \
72 $(OBJDIR)/dcoffset.o \
73 $(OBJDIR)/device1394input.o \
74 $(OBJDIR)/devicedvbinput.o \
75 $(OBJDIR)/device1394output.o \
76 $(OBJDIR)/deleteallindexes.o \
78 $(OBJDIR)/drivesync.o \
80 $(OBJDIR)/edithandles.o \
81 $(OBJDIR)/editlength.o \
82 $(OBJDIR)/editpanel.o \
83 $(OBJDIR)/editpopup.o \
86 $(OBJDIR)/edlsession.o \
87 $(OBJDIR)/fadeengine.o \
92 $(OBJDIR)/filebase.o \
93 $(OBJDIR)/filebaseaudio.o \
94 $(OBJDIR)/filebaseima4.o \
95 $(OBJDIR)/filebaseulaw.o \
97 $(OBJDIR)/fileffmpeg.o \
100 $(OBJDIR)/fileflac.o \
101 $(OBJDIR)/filefork.o \
102 $(OBJDIR)/fileformat.o \
103 $(OBJDIR)/filegif.o \
104 $(OBJDIR)/filelist.o \
105 $(OBJDIR)/filejpeg.o \
106 $(OBJDIR)/filemov.o \
107 $(OBJDIR)/filempeg.o \
108 $(OBJDIR)/fileogg.o \
109 $(OBJDIR)/filepng.o \
110 $(OBJDIR)/filescene.o \
111 $(OBJDIR)/fileserver.o \
112 $(OBJDIR)/filesndfile.o \
113 $(OBJDIR)/filetga.o \
114 $(OBJDIR)/filethread.o \
115 $(OBJDIR)/filetiff.o \
116 $(OBJDIR)/filevorbis.o \
117 $(OBJDIR)/filexml.o \
118 $(OBJDIR)/floatauto.o \
119 $(OBJDIR)/floatautos.o \
120 $(OBJDIR)/forkwrapper.o \
121 $(OBJDIR)/formatcheck.o \
122 $(OBJDIR)/formatpresets.o \
123 $(OBJDIR)/formatpopup.o \
124 $(OBJDIR)/formattools.o \
125 $(OBJDIR)/fourier.o \
126 $(OBJDIR)/framecache.o \
127 $(OBJDIR)/garbage.o \
128 $(OBJDIR)/gwindow.o \
129 $(OBJDIR)/gwindowgui.o \
130 $(OBJDIR)/iec61883input.o \
131 $(OBJDIR)/iec61883output.o \
132 $(OBJDIR)/indexable.o \
133 $(OBJDIR)/indexfile.o \
134 $(OBJDIR)/indexstate.o \
135 $(OBJDIR)/indexthread.o \
136 $(OBJDIR)/intauto.o \
137 $(OBJDIR)/intautos.o \
138 $(OBJDIR)/interfaceprefs.o \
139 $(OBJDIR)/keyframe.o \
140 $(OBJDIR)/keyframegui.o \
141 $(OBJDIR)/keyframepopup.o \
142 $(OBJDIR)/keyframes.o \
143 $(OBJDIR)/keyframehandles.o \
144 $(OBJDIR)/labelnavigate.o \
146 $(OBJDIR)/levelwindow.o \
147 $(OBJDIR)/levelwindowgui.o \
148 $(OBJDIR)/loadbalance.o \
149 $(OBJDIR)/loadfile.o \
150 $(OBJDIR)/loadmode.o \
151 $(OBJDIR)/localsession.o \
153 $(OBJDIR)/mainclock.o \
154 $(OBJDIR)/maincursor.o \
155 $(OBJDIR)/mainerror.o \
156 $(OBJDIR)/mainindexes.o \
157 $(OBJDIR)/mainmenu.o \
158 $(OBJDIR)/mainprogress.o \
159 $(OBJDIR)/mainsession.o \
160 $(OBJDIR)/mainundo.o \
161 $(OBJDIR)/maskauto.o \
162 $(OBJDIR)/maskautos.o \
163 $(OBJDIR)/maskengine.o \
164 $(OBJDIR)/mbuttons.o \
165 $(OBJDIR)/menuaeffects.o \
166 $(OBJDIR)/menuattacheffect.o \
167 $(OBJDIR)/menuattachtransition.o \
168 $(OBJDIR)/menueditlength.o \
169 $(OBJDIR)/menueffects.o \
170 $(OBJDIR)/menutransitionlength.o \
171 $(OBJDIR)/menuveffects.o \
172 $(OBJDIR)/meterpanel.o \
174 $(OBJDIR)/mtimebar.o \
175 $(OBJDIR)/mwindow.o \
176 $(OBJDIR)/mwindowedit.o \
177 $(OBJDIR)/mwindowgui.o \
178 $(OBJDIR)/mwindowmove.o \
179 $(OBJDIR)/nestededls.o \
181 $(OBJDIR)/newfolder.o \
182 $(OBJDIR)/overlayframe.o \
183 $(OBJDIR)/packagedispatcher.o \
184 $(OBJDIR)/packagerenderer.o \
185 $(OBJDIR)/packagingengine.o \
186 $(OBJDIR)/panauto.o \
187 $(OBJDIR)/panautos.o \
188 $(OBJDIR)/panedividers.o \
189 $(OBJDIR)/patchbay.o \
190 $(OBJDIR)/patchgui.o \
191 $(OBJDIR)/performanceprefs.o \
192 $(OBJDIR)/picture.o \
193 $(OBJDIR)/playabletracks.o \
194 $(OBJDIR)/playback3d.o \
195 $(OBJDIR)/playbackconfig.o \
196 $(OBJDIR)/playbackengine.o \
197 $(OBJDIR)/playbackprefs.o \
198 $(OBJDIR)/playtransport.o \
200 $(OBJDIR)/pluginaclient.o \
201 $(OBJDIR)/pluginaclientlad.o \
202 $(OBJDIR)/pluginarray.o \
203 $(OBJDIR)/pluginclient.o \
204 $(OBJDIR)/plugindialog.o \
205 $(OBJDIR)/pluginpopup.o \
206 $(OBJDIR)/pluginset.o \
207 $(OBJDIR)/pluginserver.o \
208 $(OBJDIR)/plugintclient.o \
209 $(OBJDIR)/plugintoggles.o \
210 $(OBJDIR)/pluginvclient.o \
211 $(OBJDIR)/preferences.o \
212 $(OBJDIR)/preferencesthread.o \
213 $(OBJDIR)/presets.o \
214 $(OBJDIR)/presetsgui.o \
215 $(OBJDIR)/question.o \
217 $(OBJDIR)/recconfirmdelete.o \
219 $(OBJDIR)/recordableatracks.o \
220 $(OBJDIR)/recordablevtracks.o \
221 $(OBJDIR)/recordaudio.o \
222 $(OBJDIR)/recordconfig.o \
223 $(OBJDIR)/recordgui.o \
224 $(OBJDIR)/recordlabel.o \
225 $(OBJDIR)/recordmonitor.o \
226 $(OBJDIR)/recordprefs.o \
227 $(OBJDIR)/recordscopes.o \
228 $(OBJDIR)/recordthread.o \
229 $(OBJDIR)/recordtransport.o \
230 $(OBJDIR)/recordvideo.o \
231 $(OBJDIR)/removefile.o \
233 $(OBJDIR)/renderfarm.o \
234 $(OBJDIR)/renderfarmclient.o \
235 $(OBJDIR)/renderengine.o \
236 $(OBJDIR)/resample.o \
237 $(OBJDIR)/resizetrackthread.o \
238 $(OBJDIR)/resourcepixmap.o \
239 $(OBJDIR)/resourcethread.o \
240 $(OBJDIR)/samples.o \
241 $(OBJDIR)/samplescroll.o \
242 $(OBJDIR)/savefile.o \
243 $(OBJDIR)/scenegraph.o \
244 $(OBJDIR)/scopewindow.o \
245 $(OBJDIR)/setformat.o \
247 $(OBJDIR)/sharedlocation.o \
248 $(OBJDIR)/shmemory.o \
249 $(OBJDIR)/sighandler.o \
250 $(OBJDIR)/splashgui.o \
251 $(OBJDIR)/statusbar.o \
253 $(OBJDIR)/threadexec.o \
254 $(OBJDIR)/threadloader.o \
255 $(OBJDIR)/threadfork.o \
256 $(OBJDIR)/timelinepane.o \
257 $(OBJDIR)/timebar.o \
258 $(OBJDIR)/timeentry.o \
259 $(OBJDIR)/tipwindow.o \
261 $(OBJDIR)/trackcanvas.o \
262 $(OBJDIR)/tracking.o \
264 $(OBJDIR)/trackscroll.o \
265 $(OBJDIR)/tracksedit.o \
266 $(OBJDIR)/transition.o \
267 $(OBJDIR)/transitionhandles.o \
268 $(OBJDIR)/transitionpopup.o \
269 $(OBJDIR)/transportque.o \
270 $(OBJDIR)/tunerserver.o \
271 $(OBJDIR)/undostack.o \
272 $(OBJDIR)/vattachmentpoint.o \
273 $(OBJDIR)/vautomation.o \
274 $(OBJDIR)/vdevice1394.o \
275 $(OBJDIR)/vdevicebase.o \
276 $(OBJDIR)/vdevicebuz.o \
277 $(OBJDIR)/vdevicedvb.o \
278 $(OBJDIR)/vdeviceprefs.o \
279 $(OBJDIR)/vdevicev4l.o \
280 $(OBJDIR)/vdevicev4l2.o \
281 $(OBJDIR)/vdevicev4l2jpeg.o \
282 $(OBJDIR)/vdevicex11.o \
285 $(OBJDIR)/videodevice.o \
286 $(OBJDIR)/viewmenu.o \
287 $(OBJDIR)/virtualnode.o \
288 $(OBJDIR)/virtualaconsole.o \
289 $(OBJDIR)/virtualanode.o \
290 $(OBJDIR)/virtualconsole.o \
291 $(OBJDIR)/virtualvconsole.o \
292 $(OBJDIR)/virtualvnode.o \
293 $(OBJDIR)/vmodule.o \
294 $(OBJDIR)/vpatchgui.o \
295 $(OBJDIR)/vplayback.o \
296 $(OBJDIR)/vplugin.o \
297 $(OBJDIR)/vpluginarray.o \
298 $(OBJDIR)/vpluginset.o \
299 $(OBJDIR)/vtimebar.o \
300 $(OBJDIR)/vrender.o \
302 $(OBJDIR)/vtracking.o \
303 $(OBJDIR)/vwindow.o \
304 $(OBJDIR)/vwindowgui.o \
305 $(OBJDIR)/wavecache.o \
306 $(OBJDIR)/zoombar.o \
307 $(OBJDIR)/zoompanel.o \
309 $(OBJDIR)/devicempeginput.o \
310 $(OBJDIR)/devicev4l2base.o \
311 $(OBJDIR)/devicev4l2input.o \
312 $(OBJDIR)/audiov4l2mpeg.o \
313 $(OBJDIR)/vdevicev4l2mpeg.o \
314 $(OBJDIR)/vdevicempeg.o \
315 $(OBJDIR)/audiompeg.o \
316 $(OBJDIR)/channelinfo.o \
317 $(OBJDIR)/recordbatches.o \
318 $(OBJDIR)/remotecontrol.o \
319 $(OBJDIR)/mediadb.o \
320 $(OBJDIR)/commercials.o \
321 $(OBJDIR)/dbwindow.o \
323 $(OBJDIR)/signalstatus.o \
325 $(OBJDIR)/swindow.o \
326 $(OBJDIR)/wwindow.o \
328 # $(OBJDIR)/renderfarmfsclient.o \
329 # $(OBJDIR)/renderfarmfsserver.o \
331 DCRAW := $(OBJDIR)/dcraw.o
332 THEME_DATA := $(OBJDIR)/theme_data.o
334 OUTPUT_G = $(OBJDIR)/cinelerra.debuginfo
335 OUTPUT = ../bin/cinelerra
337 CUTADS = $(OBJDIR)/cutads
338 CUTOBJ = $(OBJDIR)/cutads.o
339 CUTOBJS = $(CUTOBJ) \
340 $(OBJDIR)/mediadb.o \
343 ../libzmpeg3/$(OBJDIR)/libzmpeg3.a -lX11 \
346 ifeq ($(HAVE_AVIFILE), y)
347 AVIFILE_DIR := $(shell cd ../avifile* ; pwd)
353 ../quicktime/$(OBJDIR)/libquicktime.a \
354 ../guicast/$(OBJDIR)/libguicast.a \
355 ../libzmpeg3/$(OBJDIR)/libzmpeg3.a \
356 ../mpeg2enc/$(OBJDIR)/hveg2enc.a \
357 ../db/$(OBJDIR)/db.a \
382 ifeq ($(HAVE_ALSA), y)
383 CFLAGS += -DHAVE_ALSA
387 ifeq ($(HAVE_XFT), y)
399 ifeq ($(call lib_typ,$(ilmbase)),shared)
401 -I/usr/include/OpenEXR
404 # Speed up linking with this linking sequence
405 ifeq ($(OBJDIR), alpha)
408 --demangle=compaq -export-dynamic -L./ \
409 -L../guicast -L/usr/X11R6/lib \
410 -L`expr /usr/lib/compaq/cxx-*/alpha-linux/`lib -L/usr/local/lib \
411 -L`expr /usr/lib/gcc-lib/alpha-redhat-linux/*` \
412 -rpath `expr /usr/lib/compaq/cxx-*/alpha-linux/`bin/ -m elf64alpha \
413 -L`expr /usr/lib/compaq/cxx-*/alpha-linux/`bin/ -dynamic-linker \
414 /lib/ld-linux.so.2 `expr /usr/lib/compaq/cxx-*/alpha-linux/`bin/crt1.o \
415 `expr /usr/lib/compaq/cxx-*/alpha-linux/`bin/crti.o \
416 `expr /usr/lib/compaq/cxx-*/alpha-linux/`bin/crtbegin.o \
417 `expr /usr/lib/compaq/cxx-*/alpha-linux/`bin/_main.o
419 LDFLAGS2 = -lcpml -lcxxstdma_rh60 -lcxxma_rh60 -lc -lots \
420 `expr /usr/lib/compaq/cxx-*/alpha-linux/`bin/crtend.o \
421 `expr /usr/lib/compaq/cxx-*/alpha-linux/`bin/crtn.o --no-demangle \
423 LINKER = ld -o $(OUTPUT)
424 CFLAGS += -DUSE_ALPHA
428 LDFLAGS1 = -export-dynamic
430 LINKER = g++ -o $(OUTPUT)
435 # Enable AVIFile support
436 ifeq ($(HAVE_AVIFILE), y)
438 CFLAGS += -DUSE_AVIFILE -I$(AVIFILE_DIR)/include
440 $(AVIFILE_DIR)/libmmxnow/src/.libs/libmmxnow.a \
441 $(AVIFILE_DIR)/lib/.libs/libaviplay.a
447 -include /usr/include/time.h \
449 $(shell echo $(CFLAGS) > $(OBJDIR)/c_flags)
450 $(shell echo $(CFLAGS) $(FFMPEG_CFLAGS) > $(OBJDIR)/ffmpeg_cflags)
451 $(shell echo $(LDFLAGS1) $(OBJS) $(DCRAW) $(FILEEXR) $(FILEFLAC) $(FFMPEG_OBJS) $(AVIOBJS) \
452 $(thirdparty_libraries) $(thirdparty_libraries) $(LIBS) $(LDFLAGS2) > $(OBJDIR)/objs)
454 all: $(OUTPUT) $(CUTADS)
456 # Static linking is not possible because the plugins depend on symbols
457 # in the main executable.
458 # Also VFS only overrides the C library when dynamic linking is used.
459 $(OUTPUT): $(OBJS) $(DCRAW) $(FILEEXR) $(FFMPEG_OBJS) $(FILEFLAC) $(LIBRARIES)
460 $(LINKER) `cat $(OBJDIR)/objs`
461 $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(OUTPUT) $(OUTPUT_G))
462 $(if $(findstring -ggdb,$(CFLAGS)),,strip $(OUTPUT))
464 $(CUTADS): $(CUTOBJS) $(CUTLIBS)
465 g++ -pthread -o $(OBJDIR)/cutads $(CUTOBJS) $(CUTLIBS)
468 $(CC) -shared -o $(OBJDIR)/test.so \
469 $(OBJDIR)/threadfork.o \
470 ../guicast/$(OBJDIR)/thread.o \
471 ../guicast/$(OBJDIR)/mutex.o
472 $(CC) -o $(OBJDIR)/test test.C \
473 `cat $(OBJDIR)/c_flags` \
480 -o -name '*.o' -o -name '*.a' \
481 -o -name '*.so' \) -exec rm -f {} \; -prune
484 ctags -R -h default --langmap=c:+.inc . ../guicast/ ../libzmpeg3 ../quicktime ../plugins
488 $(CXX) `cat $(OBJDIR)/c_flags` -c $< -o $@
491 $(GCC) `cat $(OBJDIR)/c_flags` dcraw.c -o $*.o
495 ../../guicast/$(OBJDIR)/bootstrap theme_data.o ../data/mode_*.png
498 @echo $($(subst val-,,$@))