dvdrip-retry-botched-vobs: Be more vocal about wrong discs.
[dvdrip] / Makefile
... / ...
CommitLineData
1### -*-makefile-*-
2
3all:
4clean::
5.PHONY: all clean
6
7CLEANFILES += $(TARGETS)
8
9.SECONDEXPANSION: # sorry
10
11prefix = $(HOME)
12exec_prefix = $(prefix)
13bindir = $(exec_prefix)/bin
14
15V = 0
16V_AT = $(V_AT_$V)
17V_AT_0 = @
18v-tag = $(call v-tag_$V,$1)
19v-tag_0 = @printf " %-8s %s\n" "$1" "$@";
20
21CC = gcc
22CFLAGS = -O2 -g -pedantic -Wall -Werror
23
24LD = gcc
25LDFLAGS =
26LIBS = -ldvdread
27
28CFLAGS.terminfo += -DUSE_TERMINFO
29LIBS.terminfo += -ltinfo
30
31CFLAGS.termcap += -DUSE_TERMCAP
32LIBS.termcap += -ltermcap
33
34TERMLIB ?= terminfo
35CFLAGS += $(CFLAGS.$(TERMLIB))
36LIBS += $(LIBS.$(TERMLIB))
37
38PROGS += dvd-sector-copy
39dvd-sector-copy_SRCS = dvd-sector-copy.c lib.c multiprogress.c
40dvd-sector-copy_LIBS = -lm
41
42PROGS += dvd-cache-keys
43dvd-cache-keys_SRCS = dvd-cache-keys.c lib.c multiprogress.c
44
45PROGS += dvd-id
46dvd-id_SRCS = dvd-id.c lib.c multiprogress.c
47
48PROGS += dvd-check-keys
49dvd-check-keys_SRCS = dvd-check-keys.c lib.c multiprogress.c
50dvd-check-keys_LIBS = -ldvdcss
51
52SCRIPTS += dvdrip
53SCRIPTS += dvdrip-upload
54SCRIPTS += dvdrip-monitor
55SCRIPTS += dvdrip-check-batch
56SCRIPTS += dvdrip-retry-botched-vobs
57
58%.o: %.c
59 $(call v-tag,CC)$(CC) -c $(CFLAGS) -o$@ -MD -MF $*.dep $<
60CLEANFILES += *.o *.dep
61
62objects = $(addsuffix $(or $2,.o),$(basename $(filter %.c %.s %.S,$1)))
63
64TARGETS += $(PROGS)
65program-objects = $(call objects,$($1_SRCS),$2)
66$(PROGS): %: $$(call program-objects,$$*) $$($$*_DEPS)
67 $(call v-tag,LD)$(LD) $(LDFLAGS) -o$@ \
68 $(call program-objects,$*) $($*_LIBS) $(LIBS)
69
70INSTALL_bin = $(addprefix inst/,$(PROGS) $(SCRIPTS))
71install: $(INSTALL_bin)
72$(INSTALL_bin): inst/%: %
73 $(V_AT)mkdir -p $(bindir)
74 $(call v-tag,INST)install -m755 $* $(bindir)/
75
76p:; : $p
77
78all: $(TARGETS)
79clean::; rm -f $(CLEANFILES)
80
81-include $(foreach p,$(PROGS), $(call program-objects,$p,.dep))