tsdecrypt reads and decrypts CSA encrypted incoming mpeg transport stream over UDP/RTP using code words obtained from OSCAM or similar CAM server. tsdecrypt communicates with CAM server using cs378x (camd35 over tcp) protocol or newcamd protocol. https://georgi.unixsol.org/programs/tsdecrypt/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Makefile 2.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. CC = $(CROSS)$(TARGET)gcc
  2. STRIP = $(CROSS)$(TARGET)strip
  3. BUILD_ID = $(shell date +%F_%R)
  4. VERSION="v3.0"
  5. GIT_VER = $(shell git describe --tags --dirty --always 2>/dev/null)
  6. CFLAGS = -ggdb -Wall -Wextra -Wshadow -Wformat-security -Wno-strict-aliasing -O2 -D_GNU_SOURCE -DBUILD_ID=\"$(BUILD_ID)\"
  7. ifneq "$(GIT_VER)" ""
  8. CFLAGS += -DGIT_VER=\"$(GIT_VER)\"
  9. else
  10. CFLAGS += -DGIT_VER=\"$(VERSION)\"
  11. endif
  12. RM = /bin/rm -f
  13. Q = @
  14. PREFIX ?= /usr/local
  15. INSTALL_PRG = tsdecrypt
  16. INSTALL_PRG_DIR = $(subst //,/,$(DESTDIR)/$(PREFIX)/bin)
  17. INSTALL_DOC = tsdecrypt.1
  18. INSTALL_DOC_DIR = $(subst //,/,$(DESTDIR)/$(PREFIX)/man/man1)
  19. FUNCS_DIR = libfuncs
  20. FUNCS_LIB = $(FUNCS_DIR)/libfuncs.a
  21. TS_DIR = libtsfuncs
  22. TS_LIB = $(TS_DIR)/libtsfuncs.a
  23. tsdecrypt_OBJS = data.o udp.o util.o camd.o process.o tables.o tsdecrypt.o $(FUNCS_LIB) $(TS_LIB)
  24. tsdecrypt_LIBS = -lcrypto -ldvbcsa -lpthread
  25. CLEAN_OBJS = tsdecrypt $(tsdecrypt_OBJS) *~
  26. PROGS = tsdecrypt
  27. .PHONY: distclean clean install uninstall
  28. all: $(PROGS)
  29. $(FUNCS_LIB):
  30. $(Q)echo " MAKE $(FUNCS_LIB)"
  31. $(Q)$(MAKE) -s -C $(FUNCS_DIR)
  32. $(TS_LIB):
  33. $(Q)echo " MAKE $(TS_LIB)"
  34. $(Q)$(MAKE) -s -C $(TS_DIR)
  35. tsdecrypt: $(tsdecrypt_OBJS)
  36. $(Q)echo " LINK tsdecrypt"
  37. $(Q)$(CC) $(CFLAGS) $(tsdecrypt_OBJS) $(tsdecrypt_LIBS) -o tsdecrypt
  38. %.o: %.c data.h
  39. $(Q)echo " CC tsdecrypt $<"
  40. $(Q)$(CC) $(CFLAGS) -c $<
  41. strip:
  42. $(Q)echo " STRIP $(PROGS)"
  43. $(Q)$(STRIP) $(PROGS)
  44. clean:
  45. $(Q)echo " RM $(CLEAN_OBJS)"
  46. $(Q)$(RM) $(CLEAN_OBJS)
  47. distclean: clean
  48. $(Q)$(MAKE) -s -C $(TS_DIR) clean
  49. $(Q)$(MAKE) -s -C $(FUNCS_DIR) clean
  50. install: all strip
  51. @install -d "$(INSTALL_PRG_DIR)"
  52. @install -d "$(INSTALL_DOC_DIR)"
  53. @echo "INSTALL $(INSTALL_PRG) -> $(INSTALL_PRG_DIR)"
  54. $(Q)-install $(INSTALL_PRG) "$(INSTALL_PRG_DIR)"
  55. @echo "INSTALL $(INSTALL_DOC) -> $(INSTALL_DOC_DIR)"
  56. $(Q)-install --mode 0644 $(INSTALL_DOC) "$(INSTALL_DOC_DIR)"
  57. uninstall:
  58. @-for FILE in $(INSTALL_PRG); do \
  59. echo "RM $(INSTALL_PRG_DIR)/$$FILE"; \
  60. rm "$(INSTALL_PRG_DIR)/$$FILE"; \
  61. done
  62. @-for FILE in $(INSTALL_DOC); do \
  63. echo "RM $(INSTALL_DOC_DIR)/$$FILE"; \
  64. rm "$(INSTALL_DOC_DIR)/$$FILE"; \
  65. done