9
VPATH+= $(SRC_PATH_BARE)/src
11
CFLAGS += $(USEDEBUG) -Wall -funsigned-char
12
CFLAGS += -I$(CURDIR) -I$(SRC_PATH)/src
13
CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
14
CFLAGS += -DHAVE_CONFIG_H -DHAVE_DLFCN_H
18
DVDREAD_LIB = $(DVDREAD_L).a
19
DVDREAD_SHLIB = $(DVDREAD_L).so
20
VPATH+= $(SRC_PATH_BARE)/src
21
DVDREAD_HEADERS = src/dvdread/dvd_reader.h \
22
src/dvdread/ifo_print.h \
23
src/dvdread/ifo_read.h \
24
src/dvdread/ifo_types.h \
25
src/dvdread/nav_print.h \
26
src/dvdread/nav_read.h \
27
src/dvdread/dvd_udf.h \
28
src/dvdread/nav_types.h \
29
src/dvdread/bitreader.h
30
DVDREAD_SRCS = dvd_input.c dvd_reader.c dvd_udf.c ifo_print.c ifo_read.c \
31
md5.c nav_print.c nav_read.c bitreader.c
32
CFLAGS += -I$(SRC_PATH)/src
40
OBJS = $(patsubst %.c,%.o, $(SRCS))
41
DVDREAD_OBJS = $(patsubst %.c,%.o, $(DVDREAD_SRCS))
42
SHOBJS = $(patsubst %.c,%.so, $(SRCS))
43
DVDREAD_SHOBJS = $(patsubst %.c,%.so, $(DVDREAD_SRCS))
45
DVDREAD_DEPS= ${DVDREAD_OBJS:%.o=%.d}
47
BUILDDEPS = Makefile config.mak
49
ifeq ($(BUILD_SHARED),yes)
50
all: $(SHLIB) $(DVDREAD_SHLIB) dvdread-config pkgconfig
51
install: $(SHLIB) $(DVDREAD_SHLIB) install-shared install-dvdread-config install-pkgconfig
54
ifeq ($(BUILD_STATIC),yes)
55
all: $(LIB) $(DVDREAD_LIB) dvdread-config pkgconfig
56
install: $(LIB) $(DVDREAD_LIB) install-static install-dvdread-config install-pkgconfig
59
install: install-headers
61
# Let version.sh create version.h
63
SVN_ENTRIES = $(SRC_PATH_BARE)/.svn/entries
64
ifeq ($(wildcard $(SVN_ENTRIES)),$(SVN_ENTRIES))
65
version.h: $(SVN_ENTRIES)
69
sh $(SRC_PATH)/version.sh $(SRC_PATH) "$(SHLIB_VERSION)"
71
$(SRCS) $(DVDREAD_SRCS): version.h
76
${DVDREAD_LIB}: version.h $(DVDREAD_OBJS) $(BUILDDEPS)
77
cd $(.OBJDIR) && $(AR) rc $@ $(DVDREAD_OBJS)
78
cd $(.OBJDIR) && $(RANLIB) $@
80
${DVDREAD_SHLIB}: version.h $(DVDREAD_SHOBJS) $(BUILDDEPS)
81
cd $(.OBJDIR) && $(CC) $(SHLDFLAGS) $(LDFLAGS) -ldl -Wl,-soname=$(DVDREAD_SHLIB).$(SHLIB_MAJOR) -o $@ $(DVDREAD_SHOBJS)
84
cd $(.OBJDIR) && $(CC) -fPIC -DPIC -MD $(CFLAGS) -c -o $@ $<
87
cd $(.OBJDIR) && $(CC) -MD $(CFLAGS) -c -o $@ $<
93
install -d $(DESTDIR)$(dvdread_incdir)
94
install -m 644 $(DVDREAD_HEADERS) $(DESTDIR)$(dvdread_incdir)
96
install-shared: $(SHLIB)
97
install -d $(DESTDIR)$(shlibdir)
99
install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(SHLIB) \
100
$(DESTDIR)$(shlibdir)/$(SHLIB).$(SHLIB_VERSION)
102
cd $(DESTDIR)$(shlibdir) && \
103
ln -sf $(SHLIB).$(SHLIB_VERSION) $(SHLIB).$(SHLIB_MAJOR)
104
cd $(DESTDIR)$(shlibdir) && \
105
ln -sf $(SHLIB).$(SHLIB_MAJOR) $(SHLIB)
107
install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_SHLIB) \
108
$(DESTDIR)$(shlibdir)/$(DVDREAD_SHLIB).$(SHLIB_VERSION)
109
cd $(DESTDIR)$(shlibdir) && \
110
ln -sf $(DVDREAD_SHLIB).$(SHLIB_VERSION) $(DVDREAD_SHLIB).$(SHLIB_MAJOR)
111
cd $(DESTDIR)$(shlibdir) && \
112
ln -sf $(DVDREAD_SHLIB).$(SHLIB_MAJOR) $(DVDREAD_SHLIB)
114
install-static: $(LIB)
115
install -d $(DESTDIR)$(libdir)
117
install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(LIB) $(DESTDIR)$(libdir)/$(LIB)
118
install $(INSTALLSTRIP) -m 755 $(.OBJDIR)/$(DVDREAD_LIB) $(DESTDIR)$(libdir)/$(DVDREAD_LIB)
124
rm -rf *~ $(.OBJDIR)/* version.h
128
find . -name "*~" | xargs rm -rf
129
rm -rf config.mak $(.OBJDIR)
131
dvdread-config: $(.OBJDIR)/dvdread-config
132
$(.OBJDIR)/dvdread-config: $(BUILDDEPS)
133
@echo '#!/bin/sh' > $(.OBJDIR)/dvdread-config
134
@echo 'prefix='$(PREFIX) >> $(.OBJDIR)/dvdread-config
135
@echo 'libdir='$(shlibdir) >> $(.OBJDIR)/dvdread-config
136
@echo 'version='$(SHLIB_VERSION) >> $(.OBJDIR)/dvdread-config
137
@echo >> $(.OBJDIR)/dvdread-config
138
cat $(SRC_PATH_BARE)/misc/dvdread-config.sh >> $(.OBJDIR)/dvdread-config
139
chmod 0755 $(.OBJDIR)/dvdread-config
141
install-dvdread-config: dvdread-config
142
install -d $(DESTDIR)$(PREFIX)/bin
143
install -m 0755 $(.OBJDIR)/dvdread-config $(DESTDIR)$(PREFIX)/bin/dvdread-config
146
-e 's,@prefix@,$(PREFIX),' \
147
-e 's,@exec_prefix@,$(PREFIX),' \
148
-e 's,@libdir@,$(shlibdir),' \
149
-e 's,@includedir@,$(PREFIX)/include,' \
150
-e 's,@VERSION@,$(SHLIB_VERSION),'
152
pkgconfig: $(.OBJDIR)/dvdread.pc
153
$(.OBJDIR)/dvdread.pc: misc/dvdread.pc.in $(BUILDDEPS)
156
install-pkgconfig: $(.OBJDIR)/dvdread.pc
157
install -d $(DESTDIR)$(libdir)/pkgconfig
158
install -m 0644 $(.OBJDIR)/dvdread.pc $(DESTDIR)$(libdir)/pkgconfig
160
vpath %.so ${.OBJDIR}
162
vpath ${LIB} ${.OBJDIR}
164
# include dependency files if they exist
165
$(addprefix ${.OBJDIR}/, ${DEPS}): ;
166
-include $(addprefix ${.OBJDIR}/, ${DEPS})