Credit Andrew - fix bug in render farm usage when using in/out pointers or selection
[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         chromakeyavid \
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         mirror \
103         motion \
104         motion51 \
105         motion2point \
106         motionblur \
107         normalize \
108         oilpainting \
109         overlay \
110         overlayaudio \
111         parametric \
112         perspective \
113         photoscale \
114         posterize \
115         pitch \
116         polar \
117         radialblur \
118         reframe \
119         reframert \
120         removegaps \
121         reroute \
122         resample \
123         resamplert \
124         reverb \
125         reverseaudio \
126         reversevideo \
127         rgb601 \
128         rgbshift \
129         rotate \
130         rumbler \
131         scale \
132         sketcher \
133         shapewipe \
134         sharpen \
135         shiftinterlace \
136         slide \
137         spectrogram \
138         speed_pc \
139         spherecam \
140         svg \
141         swapchannels \
142         swapframes \
143         swatch \
144         synthesizer \
145         threshold \
146         timeavg \
147         timeblur \
148         timefront \
149         timelapsehelper \
150         timestretch \
151         timestretchrt \
152         titler \
153         tracer \
154         translate \
155         tremolo \
156         unsharp \
157         videoscope \
158         wave \
159         whirl \
160         wipe \
161         yuv \
162         yuv411 \
163         yuvshift \
164         zoom \
165         zoomblur \
166         theme_blond_cv \
167         theme_blue_dot \
168         theme_bright \
169         theme_hulk \
170         theme_neophyte \
171         theme_pinklady \
172         theme_suv \
173         theme_unflat \
174         theme_cakewalk \
175
176 PLATFORM = $(shell uname)
177 ifeq ($(PLATFORM), NetBSD)
178 DIRS += theme_blond theme_blue
179 else ifeq ($(PLATFORM), FreeBSD)
180 DIRS += theme_blond theme_blue
181 else ifeq ($(PLATFORM), Linux)
182 DIRS += cdripper theme_blond theme_blue
183 endif
184
185 # not maintained
186 #       motion-cv \
187 #       motion-hv \
188 # too costly
189 #       findobject \
190 #       greycstoration \
191 # not finished
192 #       denoisemjpeg \
193 # duplicate
194 #       vocoder \
195
196 PLUGIN_DIR = $(BINDIR)/plugins
197 DATA = $(PLUGIN_DIR)/fonts $(PLUGIN_DIR)/shapes $(PLUGIN_DIR)/scopes
198 LADSPA_DIR = $(BINDIR)/ladspa
199
200 all:    $(PLUGIN_DIR) $(DIRS) $(DATA) $(LADSPA_DIR)
201
202 $(PLUGIN_DIR):
203         mkdir -p $@
204
205 $(DATA):        $(PLUGIN_DIR)
206         cp -a $(notdir $@) $(PLUGIN_DIR)/.
207
208 $(LADSPA_DIR):
209         mkdir -p $@
210         if [ -d $(THIRDPARTY)/ladspa-*/usr/local/lib*/ladspa ]; then \
211                 cp -a $(THIRDPARTY)/ladspa-*/usr/local/lib*/ladspa/. $@/. ; \
212         fi
213
214 # parallel compilation of all directories
215 .PHONY: $(DIRS)
216 $(DIRS):
217         $(MAKE) -C $@
218
219 clean:
220         rm -rf $(foreach d,$(DIRS),$(d)/$(OBJDIR))
221         rm -rf $(PLUGIN_DIR) $(LADSPA_DIR)
222
223 install:
224
225 # dependencies for parallel build
226 aging:          libeffecttv
227 burn:           libeffecttv
228 dot:            libeffecttv
229 holo:           libeffecttv
230 motion2point:   downsample motion
231 motion:         downsample
232 timestretchrt:  timestretch
233