no longer need ffmpeg patch0 which was for Termux
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / Makefile
1 export TOPDIR ?= $(CURDIR)/..
2 include $(TOPDIR)/global_config
3 default: all
4
5 ifeq ($(WANT_DVB), yes)
6 LIVEDVB = liveaudio livevideo
7 endif
8 ifneq ($(WANT_OPENCV), no)
9 want_var:=$(WANT_OPENCV)
10 include $(TOPDIR)/opencv_build
11 OPENCV_OBJS := findobj flowobj gaborobj moveobj stylizeobj puzzleobj
12 $(OPENCV_OBJS): opencv
13 endif
14 ifneq ($(WANT_CUDA), no)
15 CUDA_OBJS := mandelcuda nbodycuda
16 endif
17
18 # burn must come before any other effecttv plugin
19 # colors must come before any plugin
20 # parametric must come before fourier plugins
21 # motion must come before perspective
22
23 DIRS = $(OPENCV_OBJS) \
24         $(CUDA_OBJS) \
25         1080to480 \
26         1080to540 \
27         720to480 \
28         aging \
29         alpha \
30         scaleratio \
31         audioscope \
32         bandslide \
33         bandwipe \
34         bluebanana \
35         blur \
36         boxblur \
37         brightness \
38         burn \
39         C41 \
40         cdripper \
41         chorus \
42         chromakey \
43         chromakeyhsv \
44         color3way \
45         colorbalance \
46         colorspace \
47         compressor \
48         compressormulti \
49         crikey \
50         crop \
51         crossfade \
52         dcoffset \
53         decimate \
54         deinterlace \
55         deinterlace-cv \
56         delayaudio \
57         delayvideo \
58         denoise \
59         denoisefft \
60         denoiseseltempavg \
61         denoisevideo \
62         descratch \
63         despike \
64         diffkey \
65         dissolve \
66         dot \
67         downsample \
68         edge \
69         echo \
70         echocancel \
71         fieldframe \
72         flanger \
73         flash \
74         flip \
75         foreground \
76         framefield \
77         freeverb \
78         freezeframe \
79         gain \
80         gamma \
81         gradient \
82         graphic \
83         histeq \
84         histogram \
85         histogram_bezier \
86         holo \
87         huesaturation \
88         interpolate \
89         interpolateaudio \
90         interpolatevideo \
91         invertaudio \
92         invertvideo \
93         irissquare \
94         ivtc \
95         lens \
96         level \
97         libeffecttv \
98         linearblur \
99         $(LIVEDVB) \
100         loopaudio \
101         loopvideo \
102         motion \
103         motion51 \
104         motion2point \
105         motionblur \
106         normalize \
107         oilpainting \
108         overlay \
109         overlayaudio \
110         parametric \
111         perspective \
112         photoscale \
113         posterize \
114         pitch \
115         polar \
116         radialblur \
117         reframe \
118         reframert \
119         removegaps \
120         reroute \
121         resample \
122         resamplert \
123         reverb \
124         reverseaudio \
125         reversevideo \
126         rgb601 \
127         rgbshift \
128         rotate \
129         rumbler \
130         scale \
131         sketcher \
132         shapewipe \
133         sharpen \
134         shiftinterlace \
135         slide \
136         spectrogram \
137         spherecam \
138         svg \
139         swapchannels \
140         swapframes \
141         synthesizer \
142         threshold \
143         timeavg \
144         timeblur \
145         timefront \
146         timelapsehelper \
147         timestretch \
148         timestretchrt \
149         titler \
150         tracer \
151         translate \
152         tremolo \
153         unsharp \
154         videoscope \
155         wave \
156         whirl \
157         wipe \
158         yuv \
159         yuv411 \
160         yuvshift \
161         zoom \
162         zoomblur \
163         theme_blond \
164         theme_blond_cv \
165         theme_blue \
166         theme_blue_dot \
167         theme_bright \
168         theme_hulk \
169         theme_neophyte \
170         theme_pinklady \
171         theme_suv \
172         theme_unflat \
173         theme_cakewalk \
174
175 # not maintained
176 #       motion-cv \
177 #       motion-hv \
178 # too costly
179 #       findobject \
180 #       greycstoration \
181 # not finished
182 #       denoisemjpeg \
183 # duplicate
184 #       vocoder \
185
186 PLUGIN_DIR = $(BINDIR)/plugins
187 DATA = $(PLUGIN_DIR)/fonts $(PLUGIN_DIR)/shapes $(PLUGIN_DIR)/scopes
188 LADSPA_DIR = $(BINDIR)/ladspa
189
190 all:    $(PLUGIN_DIR) $(DIRS) $(DATA) $(LADSPA_DIR)
191
192 $(PLUGIN_DIR):
193         mkdir -p $@
194
195 $(DATA):        $(PLUGIN_DIR)
196         cp -a $(notdir $@) $(PLUGIN_DIR)/.
197
198 $(LADSPA_DIR):
199         mkdir -p $@
200         if [ -d $(THIRDPARTY)/ladspa-*/usr/local/lib*/ladspa ]; then \
201                 cp -a $(THIRDPARTY)/ladspa-*/usr/local/lib*/ladspa/. $@/. ; \
202         fi
203
204 # parallel compilation of all directories
205 .PHONY: $(DIRS)
206 $(DIRS):
207         $(MAKE) -C $@
208
209 clean:
210         rm -rf $(foreach d,$(DIRS),$(d)/$(OBJDIR))
211         rm -rf $(PLUGIN_DIR) $(LADSPA_DIR)
212
213 install:
214
215 # dependencies for parallel build
216 aging:          libeffecttv
217 burn:           libeffecttv
218 dot:            libeffecttv
219 holo:           libeffecttv
220 motion2point:   downsample motion
221 motion:         downsample
222 timestretchrt:  timestretch
223