]> git.sesse.net Git - vlc/blob - extras/libdvdcss/Makefile
Some heavy changes today:
[vlc] / extras / libdvdcss / Makefile
1 ###############################################################################
2 # vlc (VideoLAN Client) dvd module Makefile
3 # (c)2001 VideoLAN
4 ###############################################################################
5
6 BASE_A := libdvdcss.a
7 BASE_SO := libdvdcss.so
8 MAJOR_SO := libdvdcss.so.$(shell echo $(LIBDVDCSS_VERSION) | cut -f1 -d.)
9 FULL_SO := libdvdcss.so.$(LIBDVDCSS_VERSION)
10 ifneq (,$(SOFLAGS))
11 ALL_SOFLAGS := $(SOFLAGS)$(MAJOR_SO)
12 SOFLAGS :=
13 endif
14
15 #
16 # C headers directories
17 #
18 CFLAGS := -I../../include -I../../extras $(CFLAGS)
19
20 #
21 # Objects
22 #
23 OBJ_C = libdvdcss.o css.o ioctl.o
24 ALL_OBJ = $(OBJ_C) $(OBJ_LIBDVDCSS)
25
26
27 # Standard dependencies
28 #
29 C_DEP := $(ALL_OBJ:%.o=.dep/%.d)
30
31 #
32 # Virtual targets
33 #
34 all: ../../lib/$(FULL_SO) ../../lib/$(BASE_A)
35
36 clean:
37         rm -f $(ALL_OBJ)
38         rm -f *.o
39         rm -rf .dep
40
41 install:
42         mkdir -p $(DESTDIR)$(includedir)/videolan
43         $(INSTALL) -m 644 videolan/dvdcss.h $(DESTDIR)$(includedir)/videolan
44         mkdir -p $(DESTDIR)$(libdir)
45         -$(INSTALL) -m 644 ../../lib/$(BASE_A) $(DESTDIR)$(libdir)
46         -$(INSTALL) -m 644 ../../lib/$(FULL_SO) $(DESTDIR)$(libdir)
47         rm -f $(DESTDIR)$(libdir)/$(BASE_SO) && ln -s $(FULL_SO) $(DESTDIR)$(libdir)/$(BASE_SO)
48         rm -f $(DESTDIR)$(libdir)/$(MAJOR_SO) && ln -s $(FULL_SO) $(DESTDIR)$(libdir)/$(MAJOR_SO)
49
50 uninstall:
51         rm -f $(DESTDIR)$(includedir)/videolan/dvdcss.h
52         rm -f $(DESTDIR)$(libdir)/$(BASE_A)
53         rm -f $(DESTDIR)$(libdir)/$(BASE_SO)
54         rm -f $(DESTDIR)$(libdir)/$(MAJOR_SO)
55         rm -f $(DESTDIR)$(libdir)/$(FULL_SO)
56
57 FORCE:
58
59 $(ALL_OBJ): %.o: ../../Makefile.dep Makefile
60
61 $(C_DEP): %.d: FORCE
62         @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
63
64 $(OBJ_C): %.o: .dep/%.d
65 $(OBJ_C): %.o: %.c
66         $(CC) $(CFLAGS) $(CFLAGS_LIBDVDCSS) $(PCFLAGS) -c -o $@ $<
67
68 bsdi_dvdioctl.o: ../BSDI_dvdioctl/dvdioctl.c
69         $(CC) $(CFLAGS) $(CFLAGS_LIBDVDCSS) $(PCFLAGS) -c -o $@ $<
70
71 ../../lib/$(FULL_SO): $(OBJ_C) $(OBJ_LIBDVDCSS)
72         $(CC) $(PCFLAGS) $(ALL_SOFLAGS) -o $@ $^ $(PLDFLAGS) $(LIB_LIBDVDCSS)
73         rm -f ../../lib/$(BASE_SO) && ln -s $(FULL_SO) ../../lib/$(BASE_SO)
74         rm -f ../../lib/$(MAJOR_SO) && ln -s $(FULL_SO) ../../lib/$(MAJOR_SO)
75
76 ../../lib/$(BASE_A): $(OBJ_C) $(OBJ_LIBDVDCSS)
77         ar r $@ $^
78         $(RANLIB) $@
79