EmuProxyZA / Makefile

From TivoZA

Back to emuProxyZA.
Download source (You will need to rename it to: Makefile)

To update the below source file, select Upload file and upload your new Makefile file (there is no need to upload it as a .txt). If you do upload a new version, please add a brief description to the change log at the bottom of this page indicating what changes you made and why.

Source

  1. MYARCH := $(shell uname -ms | tr ' ' -)
  2. DEBUG=0
  3. STATIC=0
  4. USE_TRIDGE_MFS_SO=0
  5.  
  6. CFLAGS = -Wall -I. -I/sw/include -I/sw/include/gnugetopt -I../include -D_GNU_SOURCE
  7. CCLDFLAGS =
  8.  
  9. IS_TIVO := $(shell grep -qsE 'Teleworld|TiVo' /proc/cpuinfo && echo 1 || echo 0)
  10. ifneq ($(IS_TIVO),0)
  11. MYARCH = $(shell uname -m)
  12. endif
  13. ARCH := $(MYARCH)
  14. ifeq ($(ARCH),ppc)
  15. # ARCH is ppc
  16. PREFIX=powerpc-TiVo-linux-
  17. CFLAGS += -DTIVO -DTIVO_S1
  18. EXTRABINS = mfs-utils/s1_unscramble
  19. else
  20. # ARCH is mips or native (assuming kernel/glibc largefile support)
  21. CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
  22. ifeq ($(ARCH),mips)
  23. # ARCH is mips
  24. PREFIX=mips-TiVo-linux-
  25. CFLAGS += -mips2 -DTIVO -DTIVO_S2
  26. #CCLDFLAGS += -static
  27. else
  28. # host ARCH, not cross compiling
  29. #EXTRABINS = vplayer sd-h400_unlock vsplit
  30. ifeq ($(ARCH),Darwin-Power-Macintosh)
  31. CFLAGS += -DNEED_STRNDUP -DNEED_STRNDUPA -DNEED_STRDUPA
  32. else
  33. CFLAGS += -DNEED_ALLOCA_H
  34. ifeq ($(findstring CYGWIN,$(ARCH)),CYGWIN)
  35. CFLAGS += -DNEED_STRNDUPA -DNEED_STRDUPA
  36. endif
  37. endif
  38. endif
  39. endif
  40.  
  41. ifneq ($(IS_TIVO),0)
  42. PREFIX =
  43. endif
  44.  
  45. #AN
  46. PREFIX=/usr/local/tivo/bin/
  47. CFLAGS += -DTIVO -DTIVO_S1
  48. ARCH=ppc
  49.  
  50. PPC_STRIP=/usr/local/tivo/bin/strip
  51. PPC_CFLAGS = -Wall -DTIVO -DTIVO_S1 -DPPC -O2 -msoft-float
  52. #EXTRABINS = mfs-utils/tdnsip
  53. #AN
  54.  
  55. CC = $(PREFIX)gcc
  56. AR = $(PREFIX)ar
  57.  
  58. ifeq ($(DEBUG),1)
  59. CFLAGS += -O0 -ggdb
  60. #LIBS += -lefence -lpthread
  61. else
  62. CFLAGS += -O3
  63. CCLDFLAGS += -Wl,-s
  64. endif
  65.  
  66. ifeq ($(STATIC),1)
  67. CCLDFLAGS += -static
  68. TRIDGE_MFS_LIB=$(OBJDIR)/libtridgemfs.a
  69. else
  70. ifeq ($(USE_TRIDGE_MFS_SO),1)
  71. TRIDGE_MFS_LIB=$(BINDIR)/libtridgemfs.so.1.0
  72. CCLDFLAGS += -Wl,-rpath,/usr/local/lib
  73. else
  74. TRIDGE_MFS_LIB=$(OBJDIR)/libtridgemfs.a
  75. endif
  76. endif
  77.  
  78. MFS_COMMON = mfs-utils/mfs.c mfs-utils/object.c mfs-utils/util.c mfs-utils/bitmap.c mfs-utils/io.c mfs-utils/partition.c \
  79. mfs-utils/crc.c mfs-utils/schema.c mfs-utils/query.c \
  80. mfs-utils/log.c
  81. COMMON = $(MFS_COMMON) tivodns.c base64.c mfs_attr.c osd_write.c
  82.  
  83. BINS = mfs_test emuProxyZA
  84.  
  85. #COMMON = mfs.c object.c util.c bitmap.c io.c partition.c \
  86. # crc.c pri.c export.c schema.c query.c tzoffset.c tar.c \
  87. # credits.c read_xml.c generate_xml.c generate_NowShowing.c attribute.c log.c
  88.  
  89.  
  90. #BINS = \
  91. # mfs_info mfs_ls mfs_streams mfs_dumpobj mfs_dumpschema mfs_tzoffset mfs_test \
  92. # mfs_import mfs_uberexport mfs_burstcmds \
  93. # mfs_export mfs_stream mfs_tarstream mfs_tmfstream \
  94. # tserver vserver NowShowing ciphercheck \
  95. # vplay \
  96. # mfs_dump mfs_poke \
  97. # mfs_bitmap mfs_purge mfs_getslice mfs_findzero
  98.  
  99. OBJDIR = obj.$(ARCH)
  100. BINDIR = $(ARCH)
  101.  
  102. .PHONY : all clean binaries mkdirs tags
  103.  
  104. all: proto.h mkdirs binaries
  105.  
  106. clean:
  107. rm -rf obj.* bin.* proto.h preload_schema.h *~
  108.  
  109. binaries: $(BINS:%=$(BINDIR)/%) $(EXTRABINS:%=$(BINDIR)/%)
  110.  
  111. mkdirs:
  112. mkdir -p $(OBJDIR) $(BINDIR) $(OBJDIR)/mfs-utils
  113.  
  114. tags:
  115. etags *.[ch]
  116.  
  117. mfs.h: proto.h
  118.  
  119. proto.h: $(MFS_COMMON)
  120. cat $(MFS_COMMON) | awk -f mfs-utils/mkproto.awk > mfs-utils/proto.h
  121.  
  122. .PRECIOUS : $(OBJDIR)/%.o
  123.  
  124.  
  125. $(OBJDIR)/%.o : %.c mfs-utils/mfs.h mfs-utils/log.h
  126. $(CC) $(CFLAGS) -c $< -o $@
  127.  
  128. $(BINDIR)/% : $(OBJDIR)/%.o $(TRIDGE_MFS_LIB)
  129. $(CC) $(CCLDFLAGS) -o $@ $^ $(LIBS)
  130.  
  131. $(BINDIR)/libtridgemfs.so.1.0: $(COMMON:%.c=$(OBJDIR)/%.o) $(SCHEMA:%.c=$(OBJDIR)/%.o)
  132. $(CC) -shared $(CCLDFLAGS) -Wl,-soname,libtridgemfs.so.1 -o $@ $^
  133.  
  134. $(OBJDIR)/libtridgemfs.a: $(COMMON:%.c=$(OBJDIR)/%.o) $(SCHEMA:%.c=$(OBJDIR)/%.o)
  135. $(AR) -rc $@ $^ ; $(PREFIX)ranlib $@
  136.  
  137. mfs-utils/schema.c: mfs-utils/preload_schema.h
  138.  
  139. mfs-utils/preload_schema.h: mfs-utils/schema-7.1a-02.txt
  140. perl mfs-utils/make-preload-schema.pl <$< >$@

Change Log

13 Oct 2005 - TivoZA: Uploaded the file

Advertisement