|
@@ -0,0 +1,331 @@
|
|
|
+From 2fe4faa9d8eab6068976c7981bc166f576869b36 Mon Sep 17 00:00:00 2001
|
|
|
+From: Tzu-Jung Lee <tjlee@ambarella.com>
|
|
|
+Date: Sun, 28 Jul 2013 19:40:27 +0800
|
|
|
+Subject: [PATCH 1/1] build: fix parallel build failure
|
|
|
+
|
|
|
+This is back ported from recent upstream commit
|
|
|
+
|
|
|
+ 0e8463ea1dc55f566a88bb3df29cf3d5f23cc326
|
|
|
+
|
|
|
+Once the upstream update the download page with more
|
|
|
+recent source tarball, this will no longer be needed.
|
|
|
+
|
|
|
+Signed-off-by: Tzu-Jung Lee <tjlee@ambarella.com>
|
|
|
+---
|
|
|
+ Makefile | 222 +++++++++++++++++++++++++++++++++------------------------------
|
|
|
+ 1 file changed, 115 insertions(+), 107 deletions(-)
|
|
|
+
|
|
|
+diff --git a/Makefile b/Makefile
|
|
|
+index b79a573..ad7f163 100644
|
|
|
+--- a/Makefile
|
|
|
++++ b/Makefile
|
|
|
+@@ -67,67 +67,49 @@ LFS_FLAGS = -D_FILE_OFFSET_BITS=64
|
|
|
+ # sort of thing (presumably Linux or BSD)
|
|
|
+ ifeq ($(shell uname -s), Darwin)
|
|
|
+ SYSTEM = "macosx"
|
|
|
+- ARCH_FLAGS = -arch ppc -arch i386
|
|
|
++ ARCH_FLAGS =
|
|
|
++ # If you're still building on a version of Mac OS X that supports powerpc,
|
|
|
++ # then you may want to uncomment the next line. Obviously, this no longer
|
|
|
++ # works in Lion, which doesn't support powerpc machines any more.
|
|
|
++ #ARCH_FLAGS = -arch ppc -arch i386
|
|
|
+ else
|
|
|
+ SYSTEM = "other"
|
|
|
+- ARCH_FLAGS =
|
|
|
++ ARCH_FLAGS = -fPIC
|
|
|
+ endif
|
|
|
+
|
|
|
+ CFLAGS = $(WARNING_FLAGS) $(OPTIMISE_FLAGS) $(LFS_FLAGS) -I. $(PROFILE_FLAGS) $(ARCH_FLAGS)
|
|
|
+-LDFLAGS = -g -lm $(PROFILE_FLAGS) $(ARCH_FLAGS)
|
|
|
++LDFLAGS = -g $(PROFILE_FLAGS) $(ARCH_FLAGS) -lm
|
|
|
+
|
|
|
+ # Target directories
|
|
|
+ OBJDIR = obj
|
|
|
+ LIBDIR = lib
|
|
|
+ BINDIR = bin
|
|
|
+
|
|
|
+-# All of our non-program source files
|
|
|
+-SRCS = \
|
|
|
+- accessunit.c \
|
|
|
+- ac3.c \
|
|
|
+- adts.c \
|
|
|
+- avs.c \
|
|
|
+- bitdata.c \
|
|
|
+- es.c \
|
|
|
+- fmtx.c \
|
|
|
+- h222.c \
|
|
|
+- h262.c \
|
|
|
+- audio.c \
|
|
|
+- l2audio.c \
|
|
|
+- misc.c \
|
|
|
+- nalunit.c \
|
|
|
+- ps.c \
|
|
|
+- pes.c \
|
|
|
+- pidint.c \
|
|
|
+- ts.c \
|
|
|
+- tswrite.c \
|
|
|
+- pcap.c
|
|
|
+-
|
|
|
+ # All of our non-program object modules
|
|
|
+ OBJS = \
|
|
|
+- accessunit.o \
|
|
|
+- avs.o \
|
|
|
+- ac3.o \
|
|
|
+- adts.o \
|
|
|
+- bitdata.o \
|
|
|
+- es.o \
|
|
|
+- filter.o \
|
|
|
+- fmtx.o \
|
|
|
+- h222.o \
|
|
|
+- h262.o \
|
|
|
+- audio.o \
|
|
|
+- l2audio.o \
|
|
|
+- misc.o \
|
|
|
+- nalunit.o \
|
|
|
+- ps.o \
|
|
|
+- pes.o \
|
|
|
+- pidint.o \
|
|
|
+- reverse.o \
|
|
|
+- ts.o \
|
|
|
+- tswrite.o \
|
|
|
+- pcap.o \
|
|
|
+- ethernet.o \
|
|
|
+- ipv4.o
|
|
|
++ $(OBJDIR)/accessunit.o \
|
|
|
++ $(OBJDIR)/avs.o \
|
|
|
++ $(OBJDIR)/ac3.o \
|
|
|
++ $(OBJDIR)/adts.o \
|
|
|
++ $(OBJDIR)/bitdata.o \
|
|
|
++ $(OBJDIR)/es.o \
|
|
|
++ $(OBJDIR)/filter.o \
|
|
|
++ $(OBJDIR)/fmtx.o \
|
|
|
++ $(OBJDIR)/h222.o \
|
|
|
++ $(OBJDIR)/h262.o \
|
|
|
++ $(OBJDIR)/audio.o \
|
|
|
++ $(OBJDIR)/l2audio.o \
|
|
|
++ $(OBJDIR)/misc.o \
|
|
|
++ $(OBJDIR)/nalunit.o \
|
|
|
++ $(OBJDIR)/ps.o \
|
|
|
++ $(OBJDIR)/pes.o \
|
|
|
++ $(OBJDIR)/pidint.o \
|
|
|
++ $(OBJDIR)/reverse.o \
|
|
|
++ $(OBJDIR)/ts.o \
|
|
|
++ $(OBJDIR)/tswrite.o \
|
|
|
++ $(OBJDIR)/pcap.o \
|
|
|
++ $(OBJDIR)/ethernet.o \
|
|
|
++ $(OBJDIR)/ipv4.o
|
|
|
+
|
|
|
+ # Our program object modules
|
|
|
+ PROG_OBJS = \
|
|
|
+@@ -161,9 +143,14 @@ TEST_OBJS = \
|
|
|
+ $(OBJDIR)/test_es_unit_list.o
|
|
|
+
|
|
|
+ # Our library
|
|
|
+-LIB = $(LIBDIR)/libtstools.a
|
|
|
+-LIBOPTS = -L$(LIBDIR) -ltstools $(ARCH_FLAGS)
|
|
|
++STATIC_LIB = $(LIBDIR)/libtstools.a
|
|
|
++LIBOPTS = $(ARCH_FLAGS) $(STATIC_LIB)
|
|
|
+
|
|
|
++ifeq ($(shell uname -s), Darwin)
|
|
|
++SHARED_LIB = $(LIBDIR)/libtstools.xxx
|
|
|
++else
|
|
|
++SHARED_LIB = $(LIBDIR)/libtstools.so
|
|
|
++endif
|
|
|
+ # All of our programs (except the testing ones)
|
|
|
+ PROGS = \
|
|
|
+ $(BINDIR)/esfilter \
|
|
|
+@@ -197,7 +184,7 @@ TEST_PES_PROG = $(BINDIR)/test_pes
|
|
|
+ TEST_PROGS = test_nal_unit_list test_es_unit_list
|
|
|
+
|
|
|
+ # ------------------------------------------------------------
|
|
|
+-all: $(BINDIR) $(LIBDIR) $(OBJDIR) $(PROGS)
|
|
|
++all: $(BINDIR) $(LIBDIR) $(OBJDIR) $(PROGS) $(SHARED_LIB)
|
|
|
+
|
|
|
+ # ts2ps is not yet an offical program, so for the moment build
|
|
|
+ # it separately
|
|
|
+@@ -205,82 +192,97 @@ all: $(BINDIR) $(LIBDIR) $(OBJDIR) $(PROGS)
|
|
|
+ ts2ps: $(TS2PS_PROG)
|
|
|
+
|
|
|
+ ifeq ($(shell uname -s), Darwin)
|
|
|
+-# Try getting a library containing universal objects on Mac
|
|
|
+-$(LIB): $(OBJS)
|
|
|
+- libtool -static $(OBJS) -o $(LIB)
|
|
|
++# Make libraries containing universal objects on Mac
|
|
|
++$(STATIC_LIB): $(OBJS)
|
|
|
++ libtool -static $(OBJS) -o $(STATIC_LIB)
|
|
|
++$(SHARED_LIB): $(OBJS)
|
|
|
++ libtool -dynamic $(OBJS) -o $(SHARED_LIB)
|
|
|
+ else
|
|
|
+-$(LIB): $(LIB)($(OBJS))
|
|
|
++$(STATIC_LIB): $(OBJS)
|
|
|
++ rm -f $(STATIC_LIB)
|
|
|
++ ar rc $(STATIC_LIB) $(OBJS)
|
|
|
++
|
|
|
++$(SHARED_LIB): $(OBJS)
|
|
|
++ $(LD) -shared -o $(SHARED_LIB) $(OBJS) -lc
|
|
|
+ endif
|
|
|
+
|
|
|
+-$(BINDIR)/esfilter: $(OBJDIR)/esfilter.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/esfilter $(LDFLAGS) $(LIBOPTS)
|
|
|
++# Build all of the utilities with the static library, so that they can
|
|
|
++# be copied around, shared, etc., without having to think about it
|
|
|
++
|
|
|
++$(BINDIR)/esfilter: $(OBJDIR)/esfilter.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/esfilter $(LIBOPTS) $(LDFLAGS)
|
|
|
++
|
|
|
++$(BINDIR)/ts2es: $(OBJDIR)/ts2es.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/ts2es $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/ts2es: $(OBJDIR)/ts2es.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/ts2es $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/es2ts: $(OBJDIR)/es2ts.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/es2ts $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/es2ts: $(OBJDIR)/es2ts.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/es2ts $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/esdots: $(OBJDIR)/esdots.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/esdots $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/esdots: $(OBJDIR)/esdots.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/esdots $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/esmerge: $(OBJDIR)/esmerge.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/esmerge $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/esmerge: $(OBJDIR)/esmerge.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/esmerge $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/esreport: $(OBJDIR)/esreport.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/esreport $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/esreport: $(OBJDIR)/esreport.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/esreport $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/esreverse: $(OBJDIR)/esreverse.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/esreverse $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/esreverse: $(OBJDIR)/esreverse.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/esreverse $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/stream_type: $(OBJDIR)/stream_type.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/stream_type $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/stream_type: $(OBJDIR)/stream_type.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/stream_type $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/psreport: $(OBJDIR)/psreport.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/psreport $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/psreport: $(OBJDIR)/psreport.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/psreport $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/psdots: $(OBJDIR)/psdots.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/psdots $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/psdots: $(OBJDIR)/psdots.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/psdots $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/ps2ts: $(OBJDIR)/ps2ts.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/ps2ts $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/ps2ts: $(OBJDIR)/ps2ts.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/ps2ts $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/tsinfo: $(OBJDIR)/tsinfo.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/tsinfo $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/tsinfo: $(OBJDIR)/tsinfo.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/tsinfo $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/tsreport: $(OBJDIR)/tsreport.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/tsreport $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/tsreport: $(OBJDIR)/tsreport.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/tsreport $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/tsserve: $(OBJDIR)/tsserve.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/tsserve $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/tsserve: $(OBJDIR)/tsserve.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/tsserve $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/tsplay: $(OBJDIR)/tsplay.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/tsplay $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/tsplay: $(OBJDIR)/tsplay.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/tsplay $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/test_ps: $(OBJDIR)/test_ps.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/test_ps $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/test_ps: $(OBJDIR)/test_ps.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/test_ps $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/ts2ps: $(OBJDIR)/ts2ps.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/ts2ps $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/ts2ps: $(OBJDIR)/ts2ps.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/ts2ps $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/ts_packet_insert: $(OBJDIR)/ts_packet_insert.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/ts_packet_insert $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/ts_packet_insert: $(OBJDIR)/ts_packet_insert.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/ts_packet_insert $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/m2ts2ts: $(OBJDIR)/m2ts2ts.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/m2ts2ts $(LIBOPTS) $(LDFLAGS)
|
|
|
++$(BINDIR)/pcapreport: $(OBJDIR)/pcapreport.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/pcapreport $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/m2ts2ts: $(OBJDIR)/m2ts2ts.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/m2ts2ts $(LDFLAGS) $(LIBOPTS)
|
|
|
+-$(BINDIR)/pcapreport: $(OBJDIR)/pcapreport.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/pcapreport $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/tsfilter: $(OBJDIR)/tsfilter.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/tsfilter $(LIBOPTS) $(LDFLAGS)
|
|
|
++$(BINDIR)/tsdvbsub: $(OBJDIR)/tsdvbsub.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/tsdvbsub $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+-$(BINDIR)/test_pes: $(OBJDIR)/test_pes.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/test_pes $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/test_pes: $(OBJDIR)/test_pes.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/test_pes $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+-$(BINDIR)/test_nal_unit_list: $(OBJDIR)/test_nal_unit_list.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/test_nal_unit_list $(LDFLAGS) $(LIBOPTS)
|
|
|
+-$(BINDIR)/test_es_unit_list: $(OBJDIR)/test_es_unit_list.o $(LIB)
|
|
|
+- $(CC) $< -o $(BINDIR)/test_es_unit_list $(LDFLAGS) $(LIBOPTS)
|
|
|
++$(BINDIR)/test_nal_unit_list: $(OBJDIR)/test_nal_unit_list.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/test_nal_unit_list $(LIBOPTS) $(LDFLAGS)
|
|
|
++$(BINDIR)/test_es_unit_list: $(OBJDIR)/test_es_unit_list.o $(STATIC_LIB)
|
|
|
++ $(CC) $< -o $(BINDIR)/test_es_unit_list $(LIBOPTS) $(LDFLAGS)
|
|
|
+
|
|
|
+ # Some header files depend upon others, so including one requires
|
|
|
+ # the others as well
|
|
|
+@@ -299,14 +301,19 @@ REVERSE_H = reverse_fns.h reverse_defns.h
|
|
|
+ FILTER_H = filter_fns.h filter_defns.h $(REVERSE_H)
|
|
|
+ AUDIO_H = adts_fns.h l2audio_fns.h ac3_fns.h audio_fns.h audio_defns.h adts_defns.h
|
|
|
+
|
|
|
+-# Everyone depends upon the basic configuration file
|
|
|
+-$(LIB)($(OBJS)) $(TEST_OBJS) $(PROG_OBJS): compat.h
|
|
|
++# Everyone depends upon the basic configuration file, and I assert they all
|
|
|
++# want (or may want) printing...
|
|
|
++$(OBJS) $(TEST_OBJS) $(PROG_OBJS): compat.h
|
|
|
+
|
|
|
+ # Which library modules depend on which header files is complex, so
|
|
|
+ # lets just be simple
|
|
|
+-$(LIB)($(OBJS)): $(ACCESSUNIT_H) $(NALUNIT_H) $(TS_H) $(ES_H) $(PES_H) \
|
|
|
+- misc_fns.h $(PS_H) $(H262_H) $(TSWRITE_H) $(AVS_H) \
|
|
|
+- $(REVERSE_H) $(FILTER_H) $(AUDIO_H)
|
|
|
++$(OBJS): \
|
|
|
++ $(ACCESSUNIT_H) $(NALUNIT_H) $(TS_H) $(ES_H) $(PES_H) \
|
|
|
++ misc_fns.h $(PS_H) $(H262_H) \
|
|
|
++ $(TSWRITE_H) $(AVS_H) $(REVERSE_H) $(FILTER_H) $(AUDIO_H)
|
|
|
++
|
|
|
++$(OBJDIR)/%.o: %.c
|
|
|
++ $(CC) -c $< -o $@ $(CFLAGS)
|
|
|
+
|
|
|
+ $(OBJDIR)/es2ts.o: es2ts.c $(ES_H) $(TS_H) misc_fns.h version.h
|
|
|
+ $(CC) -c $< -o $@ $(CFLAGS)
|
|
|
+@@ -389,7 +396,8 @@ objclean:
|
|
|
+ .PHONY: clean
|
|
|
+ clean: objclean
|
|
|
+ -rm -f $(PROGS)
|
|
|
+- -rm -f $(LIB)
|
|
|
++ -rm -f $(STATIC_LIB)
|
|
|
++ -rm -f $(SHARED_LIB)
|
|
|
+ -rm -f $(PROG_OBJS)
|
|
|
+
|
|
|
+ .PHONY: distclean
|
|
|
+--
|
|
|
+1.8.3.2
|
|
|
+
|