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