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         chorus \
41         chromakey \
42         chromakeyhsv \
43         color3way \
44         colorbalance \
45         colorspace \
46         compressor \
47         compressormulti \
48         crikey \
49         crop \
50         crossfade \
51         dcoffset \
52         decimate \
53         deinterlace \
54         deinterlace-cv \
55         delayaudio \
56         delayvideo \
57         denoise \
58         denoisefft \
59         denoiseseltempavg \
60         denoisevideo \
61         descratch \
62         despike \
63         diffkey \
64         dissolve \
65         dot \
66         downsample \
67         edge \
68         echo \
69         echocancel \
70         fieldframe \
71         flanger \
72         flash \
73         flip \
74         foreground \
75         framefield \
76         freeverb \
77         freezeframe \
78         gain \
79         gamma \
80         gradient \
81         graphic \
82         histeq \
83         histogram \
84         histogram_bezier \
85         holo \
86         huesaturation \
87         interpolate \
88         interpolateaudio \
89         interpolatevideo \
90         invertaudio \
91         invertvideo \
92         irissquare \
93         ivtc \
94         lens \
95         level \
96         libeffecttv \
97         linearblur \
98         $(LIVEDVB) \
99         loopaudio \
100         loopvideo \
101         mirror \
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         speed_pc \
138         spherecam \
139         svg \
140         swapchannels \
141         swapframes \
142         synthesizer \
143         threshold \
144         timeavg \
145         timeblur \
146         timefront \
147         timelapsehelper \
148         timestretch \
149         timestretchrt \
150         titler \
151         tracer \
152         translate \
153         tremolo \
154         unsharp \
155         videoscope \
156         wave \
157         whirl \
158         wipe \
159         yuv \
160         yuv411 \
161         yuvshift \
162         zoom \
163         zoomblur \
164         theme_blond_cv \
165         theme_blue_dot \
166         theme_bright \
167         theme_hulk \
168         theme_neophyte \
169         theme_pinklady \
170         theme_suv \
171         theme_unflat \
172         theme_cakewalk \
173
174 PLATFORM = $(shell uname)
175 ifeq ($(PLATFORM), NetBSD)
176 DIRS += theme_blond theme_blue
177 else ifeq ($(PLATFORM), FreeBSD)
178 DIRS += theme_blond theme_blue
179 else ifeq ($(PLATFORM), Linux)
180 DIRS += cdripper theme_blond theme_blue
181 endif
182
183 # not maintained
184 #       motion-cv \
185 #       motion-hv \
186 # too costly
187 #       findobject \
188 #       greycstoration \
189 # not finished
190 #       denoisemjpeg \
191 # duplicate
192 #       vocoder \
193
194 PLUGIN_DIR = $(BINDIR)/plugins
195 DATA = $(PLUGIN_DIR)/fonts $(PLUGIN_DIR)/shapes $(PLUGIN_DIR)/scopes
196 LADSPA_DIR = $(BINDIR)/ladspa
197
198 all:    $(PLUGIN_DIR) $(DIRS) $(DATA) $(LADSPA_DIR)
199
200 $(PLUGIN_DIR):
201         mkdir -p $@
202
203 $(DATA):        $(PLUGIN_DIR)
204         cp -a $(notdir $@) $(PLUGIN_DIR)/.
205
206 $(LADSPA_DIR):
207         mkdir -p $@
208         if [ -d $(THIRDPARTY)/ladspa-*/usr/local/lib*/ladspa ]; then \
209                 cp -a $(THIRDPARTY)/ladspa-*/usr/local/lib*/ladspa/. $@/. ; \
210         fi
211
212 # parallel compilation of all directories
213 .PHONY: $(DIRS)
214 $(DIRS):
215         $(MAKE) -C $@
216
217 clean:
218         rm -rf $(foreach d,$(DIRS),$(d)/$(OBJDIR))
219         rm -rf $(PLUGIN_DIR) $(LADSPA_DIR)
220
221 install:
222
223 # dependencies for parallel build
224 aging:          libeffecttv
225 burn:           libeffecttv
226 dot:            libeffecttv
227 holo:           libeffecttv
228 motion2point:   downsample motion
229 motion:         downsample
230 timestretchrt:  timestretch
231