1
CC = $(CROSS)$(TARGET)cc
2
STRIP = $(CROSS)$(TARGET)strip
3
MKDEP = $(CC) -M -o $*.d $<
6
BUILD_ID = $(shell date +%F_%R)
7
VERSION = $(shell cat RELEASE)
8
GIT_VER = $(shell git describe --tags --dirty --always 2>/dev/null)
19
-Wshadow -Wformat-security -Wstrict-prototypes
21
DEFS = -DBUILD_ID=\"$(BUILD_ID)\" \
22
-DVERSION=\"$(VERSION)\" -DGIT_VER=\"$(GIT_VER)\"
26
INSTALL_PRG = tsdecrypt
27
INSTALL_PRG_DIR = $(subst //,/,$(DESTDIR)/$(PREFIX)/bin)
29
INSTALL_DOC = tsdecrypt.1
30
INSTALL_DOC_DIR = $(subst //,/,$(DESTDIR)/$(PREFIX)/man/man1)
33
FUNCS_LIB = $(FUNCS_DIR)/libfuncs.a
36
TS_LIB = $(TS_DIR)/libtsfuncs.a
38
tsdecrypt_SRC = data.c \
48
tsdecrypt_LIBS = -lcrypto -ldvbcsa -lpthread
49
tsdecrypt_OBJS = $(FUNCS_LIB) $(TS_LIB) $(tsdecrypt_SRC:.c=.o)
51
ifeq "$(shell uname -s)" "Linux"
52
tsdecrypt_LIBS += -lcrypt -lrt
55
CLEAN_OBJS = tsdecrypt $(tsdecrypt_SRC:.c=.{o,d})
59
.PHONY: distclean clean install uninstall
63
$(FUNCS_LIB): $(FUNCS_DIR)/libfuncs.h
64
$(Q)echo " MAKE $(FUNCS_LIB)"
65
$(Q)$(MAKE) -s -C $(FUNCS_DIR)
67
$(TS_LIB): $(TS_DIR)/tsfuncs.h $(TS_DIR)/tsdata.h
68
$(Q)echo " MAKE $(TS_LIB)"
69
$(Q)$(MAKE) -s -C $(TS_DIR)
71
tsdecrypt: $(tsdecrypt_OBJS)
72
$(Q)echo " LINK tsdecrypt"
73
$(Q)$(CC) $(CFLAGS) $(DEFS) $(tsdecrypt_OBJS) $(tsdecrypt_LIBS) -o tsdecrypt
77
$(Q)echo " CC tsdecrypt $<"
78
$(Q)$(CC) $(CFLAGS) $(DEFS) -c $<
80
-include $(tsdecrypt_SRC:.c=.d)
83
$(Q)echo " STRIP $(PROGS)"
87
$(Q)echo " RM $(CLEAN_OBJS)"
88
$(Q)$(RM) $(CLEAN_OBJS)
91
$(Q)$(MAKE) -s -C $(TS_DIR) clean
92
$(Q)$(MAKE) -s -C $(FUNCS_DIR) clean
95
@install -d "$(INSTALL_PRG_DIR)"
96
@install -d "$(INSTALL_DOC_DIR)"
97
@echo "INSTALL $(INSTALL_PRG) -> $(INSTALL_PRG_DIR)"
98
$(Q)-install $(INSTALL_PRG) "$(INSTALL_PRG_DIR)"
99
@echo "INSTALL $(INSTALL_DOC) -> $(INSTALL_DOC_DIR)"
100
$(Q)-install --mode 0644 $(INSTALL_DOC) "$(INSTALL_DOC_DIR)"
103
@-for FILE in $(INSTALL_PRG); do \
104
echo "RM $(INSTALL_PRG_DIR)/$$FILE"; \
105
rm "$(INSTALL_PRG_DIR)/$$FILE"; \
107
@-for FILE in $(INSTALL_DOC); do \
108
echo "RM $(INSTALL_DOC_DIR)/$$FILE"; \
109
rm "$(INSTALL_DOC_DIR)/$$FILE"; \