From e845e9bcf2a7651de1000e94e01b9e1a0f2aa937 Mon Sep 17 00:00:00 2001 From: Levi Pearson Date: Fri, 3 Feb 2017 18:03:37 -0700 Subject: Split lib/common/avb.c/h into separate libraries This allows pulling in gPTP client support without pulling in AVTP code and especially without pulling in a dependency on the igb library. No source had to change since avb.h just includes the broken-out headers, and there is a CPP option to include the avb_igb.h file. Makefiles were updated as well, including for all the examples that use the common avb code. --- examples/common/Makefile | 8 +++++--- examples/jackd-listener/Makefile | 18 ++++++++++++------ examples/jackd-talker/Makefile | 32 ++++++++++++++++++++++---------- examples/live_stream/Makefile | 39 +++++++++++++++++++++++++-------------- examples/simple_listener/Makefile | 18 ++++++++++++------ examples/simple_rx/Makefile | 28 +++++++++++++++++++--------- examples/simple_talker/Makefile | 31 ++++++++++++++++++++++--------- 7 files changed, 117 insertions(+), 57 deletions(-) (limited to 'examples') diff --git a/examples/common/Makefile b/examples/common/Makefile index 5e42ddbd..68a313fd 100644 --- a/examples/common/Makefile +++ b/examples/common/Makefile @@ -1,14 +1,16 @@ +DAEMONS_DIR = ../../daemons + CC ?= gcc OPT = -O2 -g -CFLAGS = $(OPT) -Wall -Wextra -Wno-parentheses +WARN = -Wall -Wextra -Wno-parentheses +CFLAGS = $(OPT) $(WARN) +CPPFLAGS = -I$(DAEMONS_DIR)/mrpd -I$(DAEMONS_DIR)/common all: talker_mrp_client.o listener_mrp_client.o talker_mrp_client.o: talker_mrp_client.c talker_mrp_client.h - $(CC) $(CFLAGS) -I../../daemons/mrpd -I../../daemons/common -c talker_mrp_client.c listener_mrp_client.o: listener_mrp_client.c listener_mrp_client.h - $(CC) $(CFLAGS) -I../../daemons/mrpd -I../../daemons/common -c listener_mrp_client.c clean: $(RM) talker_mrp_client.o listener_mrp_client.o diff --git a/examples/jackd-listener/Makefile b/examples/jackd-listener/Makefile index b0208530..4a526b91 100644 --- a/examples/jackd-listener/Makefile +++ b/examples/jackd-listener/Makefile @@ -1,18 +1,24 @@ +MRPCLIENT_DIR = ../common +MRPLISTENER_OBJS = listener_mrp_client.o +MRPLISTENER_TARGETS = $(addprefix $(MRPCLIENT_DIR)/,$(MRPLISTENER_OBJS)) + +DAEMONS_DIR = ../../daemons + CC ?= gcc OPT = -O2 -g -CFLAGS = $(OPT) -Wall -Wextra -Wno-parentheses -std=gnu99 -INCFLAGS = -I../../daemons/mrpd -I../common -I../../daemons/common +WARN = -Wall -Wextra -Wno-parentheses +CFLAGS = $(OPT) $(WARN) -std=gnu99 +CPPFLAGS = -I$(DAEMONS_DIR)/mrpd -I$(MRPCLIENT_DIR) -I$(DAEMONS_DIR)/common LDLIBS = -lpcap -lsndfile -ljack -lpthread all: jack_listener -jack_listener: jack_listener.o ../common/listener_mrp_client.o +jack_listener: jack_listener.o $(MRPLISTENER_TARGETS) jack_listener.o: jack_listener.c - $(CC) $(CFLAGS) $(INCFLAGS) -c jack_listener.c -../common/listener_mrp_client.o: - make -C ../common/ listener_mrp_client.o +$(MRPCLIENT_DIR)/%.o: $(MRPCLIENT_DIR)/%.c $(MRPCLIENT_DIR)/%.h + make -C $(MRPCLIENT_DIR) $@ %: %.o $(CC) $^ $(LDLIBS) -o $@ diff --git a/examples/jackd-talker/Makefile b/examples/jackd-talker/Makefile index f76bf2e0..9a6187e2 100644 --- a/examples/jackd-talker/Makefile +++ b/examples/jackd-talker/Makefile @@ -1,25 +1,37 @@ +AVBLIB_DIR = ../../lib/common +AVBLIB_OBJS = avb_avtp.o avb_gptp.o avb_igb.o +AVBLIB_TARGETS = $(addprefix $(AVBLIB_DIR)/,$(AVBLIB_OBJS)) + +MRPCLIENT_DIR = ../common +MRPTALKER_OBJS = talker_mrp_client.o +MRPTALKER_TARGETS = $(addprefix $(MRPCLIENT_DIR)/,$(MRPTALKER_OBJS)) + +IGBLIB_DIR = ../../lib/igb +DAEMONS_DIR = ../../daemons + CC ?= gcc OPT = -O2 -g -CFLAGS = $(OPT) $(INCFLAGS) -Wall -Wextra -Wno-parentheses -std=gnu99 -INCFLAGS = -I../../lib/igb -I../../daemons/mrpd -I../common -I../../lib/common -I../../daemons/common +WARN = -Wall -Wextra -Wno-parentheses +CFLAGS = $(OPT) $(WARN) -std=gnu99 +CPPFLAGS = -I$(IGBLIB_DIR) -I$(DAEMONS_DIR)/mrpd -I$(MRPCLIENT_DIR) -I$(AVBLIB_DIR) -I$(DAEMONS_DIR)/common LDLIBS = -ligb -lpci -lrt -pthread -ljack -LDFLAGS = -L../../lib/igb +LDFLAGS = -L$(IGBLIB_DIR) + +.PHONY: all clean all: jackd_talker -jackd_talker: jackd_talker.o jack.o ../common/talker_mrp_client.o ../../lib/common/avb.o +jackd_talker: jackd_talker.o jack.o $(MRPTALKER_TARGETS) $(AVBLIB_TARGETS) jack.o: jack.c jack.h defines.h - $(CC) $(CFLAGS) -c jack.c jackd_talker.o: jackd_talker.c defines.h jack.h - $(CC) -c $(INCFLAGS) -I../../daemons/mrpd $(CFLAGS) jackd_talker.c -../../lib/common/avb.o: ../../lib/common/avb.c ../../lib/common/avb.h - make -C ../../lib/common/ avb.o +$(AVBLIB_DIR)/%.o: $(AVBLIB_DIR)/%.h $(AVBLIB_DIR)/%.c + make -C $(AVBLIB_DIR) $@ -../common/talker_mrp_client.o: - make -C ../common/ talker_mrp_client.o +$(MRPCLIENT_DIR)/%.o: $(MRPCLIENT_DIR)/%.c $(MRPCLIENT_DIR)/%.h + make -C $(MRPCLIENT_DIR) $@ %: %.o $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ diff --git a/examples/live_stream/Makefile b/examples/live_stream/Makefile index 4eb4feed..b5c96957 100644 --- a/examples/live_stream/Makefile +++ b/examples/live_stream/Makefile @@ -1,30 +1,41 @@ +AVBLIB_DIR = ../../lib/common +AVBLIB_OBJS = avb_avtp.o avb_gptp.o avb_igb.o +AVBLIB_TARGETS = $(addprefix $(AVBLIB_DIR)/,$(AVBLIB_OBJS)) + +MRPCLIENT_DIR = ../common +MRPTALKER_OBJS = talker_mrp_client.o +MRPTALKER_TARGETS = $(addprefix $(MRPCLIENT_DIR)/,$(MRPTALKER_OBJS)) +MRPLISTENER_OBJS = listener_mrp_client.o +MRPLISTENER_TARGETS = $(addprefix $(MRPCLIENT_DIR)/,$(MRPLISTENER_OBJS)) + +IGBLIB_DIR = ../../lib/igb +DAEMONS_DIR = ../../daemons + CC?=gcc OPT=-O2 -g -CFLAGS=$(OPT) -Wall -Wextra -Wno-parentheses -INCFLAGS=-I ../../lib/igb/ -I../../daemons/mrpd -I../common -I../../lib/common -I../../daemons/common +WARN=-Wall -Wextra -Wno-parentheses +CFLAGS=$(OPT) $(WARN) +CPPFLAGS=-I$(IGBLIB_DIR) -I$(DAEMONS_DIR)/mrpd -I$(MRPCLIENT_DIR) -I$(AVBLIB_DIR) -I$(DAEMONS_DIR)/common LDLIBS=-ligb -lpci -lrt -lpthread -LDFLAGS=-L ../../lib/igb/ +LDFLAGS=-L$(IGBLIB_DIR) + +.PHONY: all clean all: talker listener -talker: talker.o ../../lib/common/avb.o ../common/talker_mrp_client.o +talker: talker.o $(MRPTALKER_TARGETS) $(AVBLIB_TARGETS) talker.o: talker.c - $(CC) $(CFLAGS) $(INCFLAGS) $(EXTRA_FLAGS) -c talker.c - -../common/talker_mrp_client.o: ../common/talker_mrp_client.c ../common/talker_mrp_client.h - make -C ../common/ talker_mrp_client.o -listener: listener.o ../../lib/common/avb.o ../common/listener_mrp_client.o +listener: listener.o $(MRPLISTENER_TARGETS) $(AVBLIB_TARGETS) listener.o: listener.c - $(CC) $(CFLAGS) $(INCFLAGS) $(EXTRA_FLAGS) -c listener.c -../common/listener_mrp_client.o: ../common/listener_mrp_client.c ../common/listener_mrp_client.h - make -C ../common/ listener_mrp_client.o +$(AVBLIB_DIR)/%.o: $(AVBLIB_DIR)/%.h $(AVBLIB_DIR)/%.c + make -C $(AVBLIB_DIR) $@ -../../lib/common/avb.o: ../../lib/common/avb.c ../../lib/common/avb.h - make -C ../../lib/common/ avb.o +$(MRPCLIENT_DIR)/%.o: $(MRPCLIENT_DIR)/%.c $(MRPCLIENT_DIR)/%.h + make -C $(MRPCLIENT_DIR) $@ %: %.o $(CC) $(LDFLAGS) $^ $(LDLIBS) $(EXTRA_FLAGS) -o $@ diff --git a/examples/simple_listener/Makefile b/examples/simple_listener/Makefile index 9a4b33a6..02d66fa8 100644 --- a/examples/simple_listener/Makefile +++ b/examples/simple_listener/Makefile @@ -1,18 +1,24 @@ +MRPCLIENT_DIR = ../common +MRPLISTENER_OBJS = listener_mrp_client.o +MRPLISTENER_TARGETS = $(addprefix $(MRPCLIENT_DIR)/,$(MRPLISTENER_OBJS)) + +DAEMONS_DIR = ../../daemons + CC ?= gcc OPT = -O2 -g -CFLAGS = $(OPT) -Wall -Wextra -Wno-parentheses -INCFLAGS = -I../../daemons/mrpd -I../common -I../../daemons/common +WARN=-Wall -Wextra -Wno-parentheses +CFLAGS=$(OPT) $(WARN) +CPPFLAGS = -I$(DAEMONS_DIR)/mrpd -I$(MRPCLIENT_DIR) -I$(DAEMONS_DIR)/common LDLIBS = -lpcap -lsndfile -pthread all: simple_listener -simple_listener: simple_listener.o ../common/listener_mrp_client.o +simple_listener: simple_listener.o $(MRPLISTENER_TARGETS) simple_listener.o: simple_listener.c - $(CC) $(CFLAGS) $(INCFLAGS) -c simple_listener.c -../common/listener_mrp_client.o: ../common/listener_mrp_client.c ../common/listener_mrp_client.h - make -C ../common/ listener_mrp_client.o +$(MRPCLIENT_DIR)/%.o: $(MRPCLIENT_DIR)/%.c $(MRPCLIENT_DIR)/%.h + make -C $(MRPCLIENT_DIR) $@ %: %.o $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ diff --git a/examples/simple_rx/Makefile b/examples/simple_rx/Makefile index bf83a484..c27e811b 100644 --- a/examples/simple_rx/Makefile +++ b/examples/simple_rx/Makefile @@ -1,23 +1,33 @@ + +MRPCLIENT_DIR = ../common +MRPLISTENER_OBJS = listener_mrp_client.o +MRPLISTENER_TARGETS = $(addprefix $(MRPCLIENT_DIR)/,$(MRPLISTENER_OBJS)) + +IGBLIB_DIR = ../../lib/igb +IGBLIB_OBJS = igb.o +IGBLIB_TARGETS = $(addprefix $(IGBLIB_DIR)/,$(IGBLIB_OBJS)) + +DAEMONS_DIR = ../../daemons + CC ?= gcc OPT = -O2 -g -CFLAGS = $(OPT) -Wall -Wextra -Wno-parentheses -IGBDIR = ../../lib/igb -INCFLAGS = -I../../daemons/mrpd -I../common -I../../daemons/common -I$(IGBDIR) +WARN=-Wall -Wextra -Wno-parentheses +CFLAGS=$(OPT) $(WARN) +CPPFLAGS = -I$(DAEMONS_DIR)/mrpd -I$(MRPCLIENT_DIR) -I$(DAEMONS_DIR)/common -I$(IGBLIB_DIR) # GLIBC versions starting with 2.17 don't need -lrt anymore LDLIBS = -lpcap -lsndfile -pthread -lpci -lrt all: simple_rx -simple_rx: simple_rx.o ../common/listener_mrp_client.o $(IGBDIR)/igb.o +simple_rx: simple_rx.o $(MRPLISTENER_TARGETS) $(IGBLIB_TARGETS) simple_rx.o: simple_rx.c - $(CC) $(CFLAGS) $(INCFLAGS) -c simple_rx.c -../common/listener_mrp_client.o: ../common/listener_mrp_client.c ../common/listener_mrp_client.h - make -C ../common/ listener_mrp_client.o +$(MRPCLIENT_DIR)/%.o: $(MRPCLIENT_DIR)/%.c $(MRPCLIENT_DIR)/%.h + make -C $(MRPCLIENT_DIR) $@ -$(IGBDIR)/igb.o: $(IGBDIR)/igb.c - make -C $(IGBDIR) igb.o +$(IGBLIB_DIR)/%.o: $(IGBLIB_DIR)/%.c $(IGBLIB_DIR)/%.h + make -C $(IGBLIB_DIR) $@ %: %.o $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ diff --git a/examples/simple_talker/Makefile b/examples/simple_talker/Makefile index bba47b03..aef9c541 100644 --- a/examples/simple_talker/Makefile +++ b/examples/simple_talker/Makefile @@ -1,22 +1,35 @@ +AVBLIB_DIR = ../../lib/common +AVBLIB_OBJS = avb_avtp.o avb_gptp.o avb_igb.o +AVBLIB_TARGETS = $(addprefix $(AVBLIB_DIR)/,$(AVBLIB_OBJS)) + +MRPCLIENT_DIR = ../common +MRPTALKER_OBJS = talker_mrp_client.o +MRPTALKER_TARGETS = $(addprefix $(MRPCLIENT_DIR)/,$(MRPTALKER_OBJS)) + +IGBLIB_DIR = ../../lib/igb +DAEMONS_DIR = ../../daemons + CC?=gcc OPT=-O2 -g -CFLAGS=$(OPT) -Wall -Wextra -Wno-parentheses -INCFLAGS=-I../../lib/igb -I../../daemons/mrpd -I../common -I../../lib/common -I../../daemons/common +WARN=-Wall -Wextra -Wno-parentheses +CFLAGS=$(OPT) $(WARN) +CPPFLAGS=-I$(IGBLIB_DIR) -I$(DAEMONS_DIR)/mrpd -I$(MRPCLIENT_DIR) -I$(AVBLIB_DIR) -I$(DAEMONS_DIR)/common LDLIBS=-ligb -lpci -lrt -lm -pthread -LDFLAGS=-L../../lib/igb +LDFLAGS=-L$(IGBLIB_DIR) + +.PHONY: all clean all: simple_talker -simple_talker: simple_talker.o ../common/talker_mrp_client.o ../../lib/common/avb.o +simple_talker: simple_talker.o $(MRPTALKER_TARGETS) $(AVBLIB_TARGETS) simple_talker.o: simple_talker.c - $(CC) $(CFLAGS) $(INCFLAGS) -c simple_talker.c -../../lib/common/avb.o: ../../lib/common/avb.h ../../lib/common/avb.c - make -C ../../lib/common/ avb.o +$(AVBLIB_DIR)/%.o: $(AVBLIB_DIR)/%.h $(AVBLIB_DIR)/%.c + make -C $(AVBLIB_DIR) $@ -../common/talker_mrp_client.o: ../common/talker_mrp_client.c ../common/talker_mrp_client.h - make -C ../common/ talker_mrp_client.o +$(MRPCLIENT_DIR)/%.o: $(MRPCLIENT_DIR)/%.c $(MRPCLIENT_DIR)/%.h + make -C $(MRPCLIENT_DIR) $@ %: %.o $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ -- cgit v1.2.1