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