]> git.sesse.net Git - vlc/blob - plugins/yuv/Makefile
de0730d52c463bf2161457b730245e982681518c
[vlc] / plugins / yuv / Makefile
1 ###############################################################################
2 # vlc (VideoLAN Client) yuv module makefile
3 # (c)2001 VideoLAN
4 ###############################################################################
5
6 include ../../Makefile.modules
7
8 ###############################################################################
9 # Objects and files
10 ###############################################################################
11 PLUGIN_YUV = yuv.o video_yuv.o transforms_yuv.o
12 PLUGIN_YUVMMX = yuvmmx.o video_yuvmmx.o transforms_yuvmmx.o
13
14 BUILTIN_YUV = $(PLUGIN_YUV:%.o=%-BUILTIN.o)
15 BUILTIN_YUVMMX = $(PLUGIN_YUVMMX:%.o=%-BUILTIN.o)
16
17 STD_PLUGIN_OBJ = $(PLUGIN_YUV) $(PLUGIN_YUVMMX)
18 STD_BUILTIN_OBJ = $(BUILTIN_YUV) $(BUILTIN_YUVMMX)
19 ALL_OBJ = $(STD_PLUGIN_OBJ) $(STD_BUILTIN_OBJ)
20
21 objects := $(ALL_OBJ)
22 cdependancies := $(objects:%.o=.dep/%.d)
23
24 export
25
26 #
27 # Virtual targets
28 #
29 all:
30
31 clean:
32         rm -f $(ALL_OBJ)
33         rm -f *.o *.moc *.bak *.builtin
34         rm -rf .dep
35
36 FORCE:
37
38 $(cdependancies): %.d: FORCE
39         @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
40
41 $(ALL_OBJ): %.o: ../../Makefile.dep Makefile
42
43 $(STD_PLUGIN_OBJ): %.o: .dep/%.d
44 $(STD_PLUGIN_OBJ): %.o: %.c
45         $(CC) $(CFLAGS) $(PCFLAGS) -c -o $@ $<
46
47 $(STD_BUILTIN_OBJ): %-BUILTIN.o: .dep/%.d
48 $(STD_BUILTIN_OBJ): %-BUILTIN.o: %.c
49         $(CC) $(CFLAGS) -DBUILTIN -c -o $@ $<
50
51 #
52 # Real targets
53 #
54 ../../lib/yuv.so: $(PLUGIN_YUV)
55         $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_YUV)
56
57 ../../lib/yuv.a: $(BUILTIN_YUV)
58         ar r $@ $^
59
60 ../../lib/yuvmmx.so: $(PLUGIN_YUVMMX)
61         $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) 
62
63 ../../lib/yuvmmx.a: $(BUILTIN_YUVMMX)
64         ar r $@ $^
65