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         scaleratio \
30         audioscope \
31         bandslide \
32         bandwipe \
33         bluebanana \
34         blur \
35         brightness \
36         burn \
37         C41 \
38         cdripper \
39         chorus \
40         chromakey \
41         chromakeyhsv \
42         color3way \
43         colorbalance \
44         compressor \
45         compressormulti \
46         crikey \
47         crop \
48         crossfade \
49         dcoffset \
50         decimate \
51         deinterlace \
52         deinterlace-cv \
53         delayaudio \
54         delayvideo \
55         denoise \
56         denoisefft \
57         denoiseseltempavg \
58         denoisevideo \
59         descratch \
60         despike \
61         diffkey \
62         dissolve \
63         dot \
64         downsample \
65         edge \
66         echo \
67         echocancel \
68         fieldframe \
69         flanger \
70         flash \
71         flip \
72         framefield \
73         freeverb \
74         freezeframe \
75         gain \
76         gamma \
77         gradient \
78         graphic \
79         histeq \
80         histogram \
81         histogram_bezier \
82         holo \
83         huesaturation \
84         interpolate \
85         interpolateaudio \
86         interpolatevideo \
87         invertaudio \
88         invertvideo \
89         irissquare \
90         ivtc \
91         lens \
92         level \
93         libeffecttv \
94         linearblur \
95         $(LIVEDVB) \
96         loopaudio \
97         loopvideo \
98         motion \
99         motion51 \
100         motion-cv \
101         motion-hv \
102         motion2point \
103         motionblur \
104         normalize \
105         oilpainting \
106         overlay \
107         overlayaudio \
108         parametric \
109         perspective \
110         photoscale \
111         pitch \
112         polar \
113         radialblur \
114         reframe \
115         reframert \
116         removegaps \
117         reroute \
118         resample \
119         resamplert \
120         reverb \
121         reverseaudio \
122         reversevideo \
123         rgb601 \
124         rgbshift \
125         rotate \
126         rumbler \
127         scale \
128         sketcher \
129         shapewipe \
130         sharpen \
131         shiftinterlace \
132         slide \
133         spectrogram \
134         spherecam \
135         svg \
136         swapchannels \
137         swapframes \
138         synthesizer \
139         threshold \
140         timeavg \
141         timefront \
142         timestretch \
143         timestretchrt \
144         titler \
145         tracer \
146         translate \
147         tremolo \
148         unsharp \
149         videoscope \
150         wave \
151         whirl \
152         wipe \
153         yuv \
154         yuv411 \
155         yuvshift \
156         zoom \
157         zoomblur \
158         theme_blond \
159         theme_blond_cv \
160         theme_blue \
161         theme_blue_dot \
162         theme_bright \
163         theme_hulk \
164         theme_neophyte \
165         theme_pinklady \
166         theme_suv \
167         theme_unflat \
168         theme_cakewalk \
169
170 # too costly
171 #       findobject \
172 #       greycstoration \
173 # not finished
174 #       denoisemjpeg \
175 # duplicate
176 #       vocoder \
177
178 PLUGIN_DIR = $(BINDIR)/plugins
179 DATA = $(PLUGIN_DIR)/fonts $(PLUGIN_DIR)/shapes
180 LADSPA_DIR = $(BINDIR)/ladspa
181
182 all:    $(PLUGIN_DIR) $(DIRS) $(DATA) $(LADSPA_DIR)
183
184 $(PLUGIN_DIR):
185         mkdir -p $@
186
187 $(DATA):        $(PLUGIN_DIR)
188         cp -a $(notdir $@) $(PLUGIN_DIR)/.
189
190 $(LADSPA_DIR):
191         mkdir -p $@
192         if [ -d $(THIRDPARTY)/ladspa-*/usr/local/lib*/ladspa ]; then \
193                 cp -a $(THIRDPARTY)/ladspa-*/usr/local/lib*/ladspa/. $@/. ; \
194         fi
195
196 # parallel compilation of all directories
197 .PHONY: $(DIRS)
198 $(DIRS):
199         $(MAKE) -C $@
200
201 clean:
202         rm -rf $(foreach d,$(DIRS),$(d)/$(OBJDIR))
203         rm -rf $(PLUGIN_DIR) $(LADSPA_DIR)
204
205 install:
206
207 # dependencies for parallel build
208 aging:          libeffecttv
209 burn:           libeffecttv
210 dot:            libeffecttv
211 holo:           libeffecttv
212 motion2point:   downsample motion
213 motion:         downsample
214 timestretchrt:  timestretch
215