even more Termux related mods by Andrew + MatN configure improvement
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / Makefile
index 4c08bbf0b48feb3c051f1bf7ec9f98e2949df008..3fa58be7ecb6dce9aa944df2daf60a7b4f2d2027 100644 (file)
@@ -1,7 +1,39 @@
 export TOPDIR ?= $(CURDIR)/..
 include $(TOPDIR)/global_config
 
-OBJS := \
+OVERLAYS := \
+       $(OBJDIR)/overlay_direct_rgb161616.o \
+       $(OBJDIR)/overlay_direct_rgb888.o \
+       $(OBJDIR)/overlay_direct_rgba16161616.o \
+       $(OBJDIR)/overlay_direct_rgba8888.o \
+       $(OBJDIR)/overlay_direct_rgba_float.o \
+       $(OBJDIR)/overlay_direct_rgb_float.o \
+       $(OBJDIR)/overlay_direct_yuv161616.o \
+       $(OBJDIR)/overlay_direct_yuv888.o \
+       $(OBJDIR)/overlay_direct_yuva16161616.o \
+       $(OBJDIR)/overlay_direct_yuva8888.o \
+       $(OBJDIR)/overlay_nearest_rgb161616.o \
+       $(OBJDIR)/overlay_nearest_rgb888.o \
+       $(OBJDIR)/overlay_nearest_rgba16161616.o \
+       $(OBJDIR)/overlay_nearest_rgba8888.o \
+       $(OBJDIR)/overlay_nearest_rgba_float.o \
+       $(OBJDIR)/overlay_nearest_rgb_float.o \
+       $(OBJDIR)/overlay_nearest_yuv161616.o \
+       $(OBJDIR)/overlay_nearest_yuv888.o \
+       $(OBJDIR)/overlay_nearest_yuva16161616.o \
+       $(OBJDIR)/overlay_nearest_yuva8888.o \
+       $(OBJDIR)/overlay_sample_rgb161616.o \
+       $(OBJDIR)/overlay_sample_rgb888.o \
+       $(OBJDIR)/overlay_sample_rgba16161616.o \
+       $(OBJDIR)/overlay_sample_rgba8888.o \
+       $(OBJDIR)/overlay_sample_rgba_float.o \
+       $(OBJDIR)/overlay_sample_rgb_float.o \
+       $(OBJDIR)/overlay_sample_yuv161616.o \
+       $(OBJDIR)/overlay_sample_yuv888.o \
+       $(OBJDIR)/overlay_sample_yuva16161616.o \
+       $(OBJDIR)/overlay_sample_yuva8888.o \
+
+OBJS := $(OVERLAYS) \
        $(OBJDIR)/aattachmentpoint.o \
        $(OBJDIR)/aautomation.o \
        $(OBJDIR)/aboutprefs.o \
@@ -24,7 +56,6 @@ OBJS := \
        $(OBJDIR)/assets.o \
        $(OBJDIR)/atrack.o \
        $(OBJDIR)/attachmentpoint.o \
-       $(OBJDIR)/audio1394.o \
        $(OBJDIR)/audioalsa.o \
        $(OBJDIR)/audiodevice.o \
        $(OBJDIR)/audiodvb.o \
@@ -32,13 +63,12 @@ OBJS := \
        $(OBJDIR)/audioidevice.o \
        $(OBJDIR)/audioodevice.o \
        $(OBJDIR)/audiooss.o \
+       $(OBJDIR)/audiopulse.o \
        $(OBJDIR)/audiov4l2mpeg.o \
        $(OBJDIR)/autoconf.o \
        $(OBJDIR)/automation.o \
        $(OBJDIR)/auto.o \
        $(OBJDIR)/autos.o \
-       $(OBJDIR)/avc1394control.o \
-       $(OBJDIR)/avc1394transport.o \
        $(OBJDIR)/awindowgui.o \
        $(OBJDIR)/awindow.o \
        $(OBJDIR)/batch.o \
@@ -46,6 +76,7 @@ OBJS := \
        $(OBJDIR)/bdcreate.o \
        $(OBJDIR)/binfolder.o \
        $(OBJDIR)/bitspopup.o \
+       $(OBJDIR)/boxblur.o \
        $(OBJDIR)/brender.o \
        $(OBJDIR)/browsebutton.o \
        $(OBJDIR)/byteorderpopup.o \
@@ -64,8 +95,10 @@ OBJS := \
        $(OBJDIR)/clippopup.o \
        $(OBJDIR)/colorpicker.o \
        $(OBJDIR)/commonrender.o \
+       $(OBJDIR)/compressortools.o \
        $(OBJDIR)/confirmquit.o \
        $(OBJDIR)/confirmsave.o \
+       $(OBJDIR)/convert.o \
        $(OBJDIR)/cpanel.o \
        $(OBJDIR)/cplayback.o \
        $(OBJDIR)/ctimebar.o \
@@ -76,8 +109,6 @@ OBJS := \
        $(OBJDIR)/cwindowtool.o \
        $(OBJDIR)/dcoffset.o \
        $(OBJDIR)/deleteallindexes.o \
-       $(OBJDIR)/device1394input.o \
-       $(OBJDIR)/device1394output.o \
        $(OBJDIR)/devicedvbinput.o \
        $(OBJDIR)/devicev4l2base.o \
        $(OBJDIR)/devicev4l2input.o \
@@ -93,6 +124,7 @@ OBJS := \
        $(OBJDIR)/edl.o \
        $(OBJDIR)/edlsession.o \
        $(OBJDIR)/effectlist.o \
+       $(OBJDIR)/eqcanvas.o \
        $(OBJDIR)/exportedl.o \
        $(OBJDIR)/fadeengine.o \
        $(OBJDIR)/ffmpeg.o \
@@ -112,6 +144,7 @@ OBJS := \
        $(OBJDIR)/fileogg.o \
        $(OBJDIR)/filepng.o \
        $(OBJDIR)/fileppm.o \
+       $(OBJDIR)/fileref.o \
        $(OBJDIR)/filescene.o \
        $(OBJDIR)/filesndfile.o \
        $(OBJDIR)/filetga.o \
@@ -132,8 +165,6 @@ OBJS := \
        $(OBJDIR)/garbage.o \
        $(OBJDIR)/gwindowgui.o \
        $(OBJDIR)/gwindow.o \
-       $(OBJDIR)/iec61883input.o \
-       $(OBJDIR)/iec61883output.o \
        $(OBJDIR)/indexable.o \
        $(OBJDIR)/indexfile.o \
        $(OBJDIR)/indexstate.o \
@@ -182,6 +213,7 @@ OBJS := \
        $(OBJDIR)/menuveffects.o \
        $(OBJDIR)/meterhistory.o \
        $(OBJDIR)/meterpanel.o \
+       $(OBJDIR)/mixersalign.o \
        $(OBJDIR)/module.o \
        $(OBJDIR)/mtimebar.o \
        $(OBJDIR)/mwindowedit.o \
@@ -189,8 +221,8 @@ OBJS := \
        $(OBJDIR)/mwindowmove.o \
        $(OBJDIR)/mwindow.o \
        $(OBJDIR)/new.o \
-       $(OBJDIR)/overlaydirect.o \
        $(OBJDIR)/overlayframe.o \
+       $(OBJDIR)/overlaydirect.o \
        $(OBJDIR)/overlaynearest.o \
        $(OBJDIR)/overlaysample.o \
        $(OBJDIR)/packagedispatcher.o \
@@ -300,7 +332,6 @@ OBJS := \
        $(OBJDIR)/undostack.o \
        $(OBJDIR)/vattachmentpoint.o \
        $(OBJDIR)/vautomation.o \
-       $(OBJDIR)/vdevice1394.o \
        $(OBJDIR)/vdevicebase.o \
        $(OBJDIR)/vdevicedvb.o \
        $(OBJDIR)/vdeviceprefs.o \
@@ -331,12 +362,26 @@ OBJS := \
        $(OBJDIR)/vwindowgui.o \
        $(OBJDIR)/vwindow.o \
        $(OBJDIR)/wavecache.o \
+       $(OBJDIR)/wintv.o \
        $(OBJDIR)/wwindow.o \
+       $(OBJDIR)/x10tv.o \
        $(OBJDIR)/zoombar.o \
        $(OBJDIR)/zoompanel.o \
        $(OBJDIR)/zwindow.o \
        $(OBJDIR)/zwindowgui.o \
 
+ifneq ($(WANT_FIREWIRE),no)
+OBJS += \
+       $(OBJDIR)/audio1394.o \
+       $(OBJDIR)/avc1394control.o \
+       $(OBJDIR)/avc1394transport.o \
+       $(OBJDIR)/vdevice1394.o \
+       $(OBJDIR)/device1394input.o \
+       $(OBJDIR)/device1394output.o \
+       $(OBJDIR)/iec61883input.o \
+       $(OBJDIR)/iec61883output.o \
+
+endif
 ifneq ($(WANT_LIBZMPEG),no)
 OBJS += \
        $(OBJDIR)/audiompeg.o \
@@ -387,70 +432,16 @@ endif
 
 LIBS := $(LIBRARIES)
 
-ifneq ($(WANT_CIN_3RDPARTY),no)
-LIBS += $(libraries)
-else
-
-LIBS += -lpthread -lm -lbz2 -llzma -lz -lpng -luuid
-LIBS += -lX11 -lXau -lXdmcp -lXext -lXfixes -lXv -lXinerama
-LIBS += -lfontconfig -lfreetype
-LIBS += -lavcodec -lavdevice -lavfilter -lavformat -lavresample -lavutil
+ifeq ($(WANT_CIN_3RDPARTY),no)
+LIBS += -lavcodec -lavdevice -lavfilter -lavformat -lavutil
 LIBS += -lswresample -lswscale
-LIBS += -lvpx -lwebp -lwebpmux
-
-LIBS += $(if $(filter fftw,$(static_pkgs)), -lfftw3)
-LIBS += $(if $(filter flac,$(static_pkgs)), -lFLAC)
-LIBS += $(if $(filter giflib,$(static_pkgs)), -lgif)
-LIBS += $(if $(filter lame,$(static_pkgs)), -lmp3lame)
-LIBS += $(if $(filter libjpeg,$(static_pkgs)), -ljpeg)
-LIBS += $(if $(filter openjpeg,$(static_pkgs)), -lopenjp2)
-LIBS += $(if $(filter libogg,$(static_pkgs)), -logg)
-LIBS += $(if $(filter libsndfile,$(static_pkgs)), -lsndfile)
-LIBS += $(if $(filter libtheora,$(static_pkgs)), -ltheoradec -ltheoraenc)
-LIBS += $(if $(filter libuuid,$(static_pkgs)), -luuid)
-LIBS += $(if $(filter libvorbis,$(static_pkgs)), -lvorbis -lvorbisenc -lvorbisfile)
-LIBS += $(if $(filter tiff,$(static_pkgs)), -ltiff)
-LIBS += $(if $(filter twolame,$(static_pkgs)), -ltwolame)
-LIBS += $(if $(filter x264,$(static_pkgs)), -lx264)
-LIBS += $(if $(filter x265,$(static_pkgs)), -lx265)
-LIBS += $(if $(filter libvpx,$(static_pkgs)), -lvpx)
-
-ifneq ($(WANT_GL),no)
-LIBS += -lGL -lGLU -lGLX
-endif
-ifneq ($(WANT_XFT),no)
-LIBS += -lXft
-endif
-ifneq ($(WANT_ALSA),no)
-LIBS += -lasound
-endif
-ifneq ($(WANT_OPENEXR),no)
-LIBS += -lIex -lIexMath -lIlmImf -lIlmImfUtil
-endif
-ifneq ($(WANT_DV),no)
-LIBS += -ldv
-endif
-ifneq ($(WANT_FIREWIRE),no)
-LIBS += -lavc1394 -lraw1394 -liec61883 -lrom1394
-endif
-ifneq ($(WANT_DVB),no)
-LIBS += -ldv
-endif
-ifneq ($(WANT_DL),no)
-LIBS += -ldl
-endif
-ifneq ($(WANT_LIBZMPEG),no)
-LIBS += -lmjpegutils
-endif
-ifneq ($(WANT_OPUS),no)
-LIBS += -lopus
-endif
-ifneq ($(WANT_NUMA),no)
-LIBS += -lnuma
-endif
-ifneq ($(WANT_LV2),no)
-LIBS += -llilv-0 -lsratom-0 -lserd-0 -lsord-0 -lsuil-0
-endif
+LIBS += -lintl -liconv
+LIBS += -lexecinfo
+
+LIBS += $(shared_libs)
+LIBS += $(system_libs)
+else
+LIBS += $(libraries)
 endif
 
 ifneq ($(WANT_COMMERCIAL),no)
@@ -478,6 +469,7 @@ LV2OBJS = \
 endif
 
 CFLAGS := \
+       -I/usr/local/include \
        -I$(GUICAST) \
        -I$(LIBZMPEG3) \
        $(static_incs) \
@@ -530,8 +522,8 @@ $(OUTPUT): $(OBJS) $(THEME_DATA) $(DCRAW) $(LIBRARIES)
 
 ifneq ($(WANT_COMMERCIAL),no)
 $(CUTADS):     $(CUTOBJS) $(CUTLIBS) $(LIBRARIES)
-       @echo g++ -o $@ $(CUTOBJS)
-       @g++ $(CFLAGS) -pthread -o $@ $(CUTOBJS) $(CUTLIBS) $(LIBS)
+       @echo $(CXX) -o $@ $(CUTOBJS)
+       @$(CXX) $(CFLAGS) -pthread -o $@ $(CUTOBJS) $(CUTLIBS) $(LIBS)
        $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(CUTADS) $(CUTADS).debuginfo)
        $(if $(findstring -ggdb,$(CFLAGS)),,strip $(CUTADS))
 
@@ -542,8 +534,8 @@ install:    install-cutads
 endif
 
 $(BDWRITE):    $(BDWOBJS) $(LIBRARIES)
-       @echo g++ -o $@ $(BDWOBJS)
-       @g++ $(CFLAGS) -pthread -o $@ $(BDWOBJS) $(LIBS)
+       @echo $(CXX) -o $@ $(BDWOBJS)
+       @$(CXX) $(CFLAGS) -pthread -o $@ $(BDWOBJS) $(LIBS)
        $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(BDWRITE) $(BDWRITE).debuginfo)
        $(if $(findstring -ggdb,$(CFLAGS)),,strip $(BDWRITE))
 
@@ -552,30 +544,31 @@ install-bdwrite:
 install:       install-bdwrite
 
 ydiff: ydiff.C $(LIBRARIES)
-       @echo g++ -o $@ ydiff.C
-       @g++ $(CFLAGS) ydiff.C -o $@ $(LIBS)
+       @echo $(CXX) -o $@ ydiff.C
+       @$(CXX) $(CFLAGS) ydiff.C -o $@ $(LIBS)
+
+shdmp: shdmp.C
+       @$(CXX) $(CFLAGS) shdmp.C -o $@
+shudmp:        shudmp.C
+       @$(CXX) $(CFLAGS) shudmp.C -o $@ -lusb-1.0
 
 clean:
        rm -rf $(OBJDIR)
-
+       rm -f shuttle_keys.h
 
 tags:
        ctags -R -h default --langmap=c:+.inc . ../guicast/ ../libzmpeg3 ../plugins ../thirdparty/ffmpeg-*
 
+$(OBJDIR)/fileexr.o:   BFLAGS:= -Wno-deprecated -std=c++11
+$(OBJDIR)/sha1.o:      BFLAGS:= -O3
+$(OVERLAYS):           BFLAGS:= -Ofast -g0
 
 $(OBJDIR)/%.o:         %.C
-       $(CXX) `cat $(OBJDIR)/c_flags` -DMSGQUAL=$* -c $< -o $@
-
-
-$(OBJDIR)/fileexr.o:   fileexr.C
-       $(CXX) `cat $(OBJDIR)/c_flags` -Wno-deprecated -DMSGQUAL=$* -c $< -o $@
-
-$(OBJDIR)/sha1.o:      sha1.C sha1.h
-       $(CXX) `cat $(OBJDIR)/c_flags` -O3 -c $< -o $@
+       $(CXX) `cat $(OBJDIR)/c_flags` $(BFLAGS) -DMSGQUAL=$* -c $< -o $@
 
 #lv2
 ifneq ($(WANT_LV2),no)
-GTK2_INCS := `pkg-config --cflags gtk+-2.0`
+GTK2_INCS := `pkg-config --cflags gtk+-2.0` -Wno-deprecated-declarations
 GTK2_LIBS := `pkg-config --libs gtk+-2.0`
 
 $(OBJDIR)/pluginlv2ui.o:       pluginlv2ui.C
@@ -583,11 +576,6 @@ $(OBJDIR)/lv2ui.o: lv2ui.C
 $(OBJDIR)/pluginlv2ui.o $(OBJDIR)/lv2ui.o:
        $(CXX) `cat $(OBJDIR)/c_flags` $(GTK2_INCS) -DMSGQUAL=$* -c $< -o $@
 
-$(OBJDIR)/shuttle.o:   shuttle.C shuttle_keys.h
-       $(CXX) `cat $(OBJDIR)/c_flags` -DMSGQUAL=$* -c $< -o $@
-shuttle_keys.h: /usr/include/X11/keysymdef.h
-       sed < /usr/include/X11/keysymdef.h > shuttle_keys.h -f shuttle.sed
-
 $(OBJDIR)/lv2ui: $(LV2OBJS)
        @echo $(CXX) \`cat $(OBJDIR)/c_flags\` $^ -o $@
        @$(CXX) `cat $(OBJDIR)/c_flags` $^ -o $@ $(LIBS) $(GTK2_LIBS)
@@ -603,6 +591,12 @@ install-lv2ui:
 install:       install-lv2ui
 endif
 
+ifneq ($(WANT_SHUTTLE),no)
+$(OBJDIR)/shuttle.o:   shuttle.C shuttle_keys.h
+shuttle_keys.h: /usr/include/X11/keysymdef.h
+       sed -n < /usr/include/X11/keysymdef.h > shuttle_keys.h -f shuttle.sed
+endif
+
 $(OBJDIR)/pluginlv2gui.o:      pluginlv2gui.C
        $(CXX) `cat $(OBJDIR)/c_flags` $(GTK2_INCS) -DMSGQUAL=$* -c $< -o $@