e6718432975fa57d578748b4108483cdf21ee0f4
[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 \
164         theme_blond_cv \
165         theme_blue \
166         theme_blue_dot \
167         theme_bright \
168         theme_hulk \
169         theme_neophyte \
170         theme_pinklady \
171         theme_suv \
172         theme_unflat \
173         theme_cakewalk \
174
175 PLATFORM = $(shell uname -o)
176 ifneq ($(PLATFORM), FreeBSD)
177 DIRS += cdripper
178 endif
179
180 # not maintained
181 #       motion-cv \
182 #       motion-hv \
183 # too costly
184 #       findobject \
185 #       greycstoration \
186 # not finished
187 #       denoisemjpeg \
188 # duplicate
189 #       vocoder \
190
191 PLUGIN_DIR = $(BINDIR)/plugins
192 DATA = $(PLUGIN_DIR)/fonts $(PLUGIN_DIR)/shapes $(PLUGIN_DIR)/scopes
193 LADSPA_DIR = $(BINDIR)/ladspa
194
195 all:    $(PLUGIN_DIR) $(DIRS) $(DATA) $(LADSPA_DIR)
196
197 $(PLUGIN_DIR):
198         mkdir -p $@
199
200 $(DATA):        $(PLUGIN_DIR)
201         cp -a $(notdir $@) $(PLUGIN_DIR)/.
202
203 $(LADSPA_DIR):
204         mkdir -p $@
205         if [ -d $(THIRDPARTY)/ladspa-*/usr/local/lib*/ladspa ]; then \
206                 cp -a $(THIRDPARTY)/ladspa-*/usr/local/lib*/ladspa/. $@/. ; \
207         fi
208
209 # parallel compilation of all directories
210 .PHONY: $(DIRS)
211 $(DIRS):
212         $(MAKE) -C $@
213
214 clean:
215         rm -rf $(foreach d,$(DIRS),$(d)/$(OBJDIR))
216         rm -rf $(PLUGIN_DIR) $(LADSPA_DIR)
217
218 install:
219
220 # dependencies for parallel build
221 aging:          libeffecttv
222 burn:           libeffecttv
223 dot:            libeffecttv
224 holo:           libeffecttv
225 motion2point:   downsample motion
226 motion:         downsample
227 timestretchrt:  timestretch
228