332 lines
11 KiB
Diff
332 lines
11 KiB
Diff
|
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
|
||
|
|