40d50c129a8b0739bb96a0acb9f36989e7ac5497
[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         motion \
102         motion51 \
103         motion2point \
104         motionblur \
105         normalize \
106         oilpainting \
107         overlay \
108         overlayaudio \
109         parametric \
110         perspective \
111         photoscale \
112         posterize \
113         pitch \
114         polar \
115         radialblur \
116         reframe \
117         reframert \
118         removegaps \
119         reroute \
120         resample \
121         resamplert \
122         reverb \
123         reverseaudio \
124         reversevideo \
125         rgb601 \
126         rgbshift \
127         rotate \
128         rumbler \
129         scale \
130         sketcher \
131         shapewipe \
132         sharpen \
133         shiftinterlace \
134         slide \
135         spectrogram \
136         speed_pc \
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_cv \
164         theme_blue_dot \
165         theme_bright \
166         theme_hulk \
167         theme_neophyte \
168         theme_pinklady \
169         theme_suv \
170         theme_unflat \
171         theme_cakewalk \
172
173 PLATFORM = $(shell uname)
174 ifeq ($(PLATFORM), NetBSD)
175 DIRS += theme_blond theme_blue
176 else ifeq ($(PLATFORM), FreeBSD)
177 DIRS += theme_blond theme_blue
178 else ifeq ($(PLATFORM), Linux)
179 DIRS += cdripper theme_blond theme_blue
180 endif
181
182 # not maintained
183 #       motion-cv \
184 #       motion-hv \
185 # too costly
186 #       findobject \
187 #       greycstoration \
188 # not finished
189 #       denoisemjpeg \
190 # duplicate
191 #       vocoder \
192
193 PLUGIN_DIR = $(BINDIR)/plugins
194 DATA = $(PLUGIN_DIR)/fonts $(PLUGIN_DIR)/shapes $(PLUGIN_DIR)/scopes
195 LADSPA_DIR = $(BINDIR)/ladspa
196
197 all:    $(PLUGIN_DIR) $(DIRS) $(DATA) $(LADSPA_DIR)
198
199 $(PLUGIN_DIR):
200         mkdir -p $@
201
202 $(DATA):        $(PLUGIN_DIR)
203         cp -a $(notdir $@) $(PLUGIN_DIR)/.
204
205 $(LADSPA_DIR):
206         mkdir -p $@
207         if [ -d $(THIRDPARTY)/ladspa-*/usr/local/lib*/ladspa ]; then \
208                 cp -a $(THIRDPARTY)/ladspa-*/usr/local/lib*/ladspa/. $@/. ; \
209         fi
210
211 # parallel compilation of all directories
212 .PHONY: $(DIRS)
213 $(DIRS):
214         $(MAKE) -C $@
215
216 clean:
217         rm -rf $(foreach d,$(DIRS),$(d)/$(OBJDIR))
218         rm -rf $(PLUGIN_DIR) $(LADSPA_DIR)
219
220 install:
221
222 # dependencies for parallel build
223 aging:          libeffecttv
224 burn:           libeffecttv
225 dot:            libeffecttv
226 holo:           libeffecttv
227 motion2point:   downsample motion
228 motion:         downsample
229 timestretchrt:  timestretch
230