summaryrefslogtreecommitdiff
path: root/cleopatre/application
diff options
context:
space:
mode:
Diffstat (limited to 'cleopatre/application')
-rw-r--r--cleopatre/application/igmp_snoopd/Makefile28
1 files changed, 20 insertions, 8 deletions
diff --git a/cleopatre/application/igmp_snoopd/Makefile b/cleopatre/application/igmp_snoopd/Makefile
index 2181e57f8b..b00bad4061 100644
--- a/cleopatre/application/igmp_snoopd/Makefile
+++ b/cleopatre/application/igmp_snoopd/Makefile
@@ -4,20 +4,32 @@ SRCPATH=src
INCPATH=inc
CLEO_DIR = ../..
-RESPONSE_FILE=extra_flags
+LIBSPID_DIR = $(CLEO_DIR)/application/libspid
+LIBMME_DIR = $(CLEO_DIR)/application/libmme
+
+LIBSPID_SO_BIN = $(LIBSPID_DIR)/libspid.so
+LIBMME_SO_BIN = $(LIBMME_DIR)/libmme.so
ifeq ($(CC_FOR_TARGET),) #direct compile
CC=arm-linux-gcc
CC_WITH_CFLAGS=$(CC) -I/opt/spidcom/spc300/usr/include -g -Os
CC_WITHOUT_CFLAGS=$(CC)
-LIBSPID_DIR = $(CLEO_DIR)/application/libspid
else #compile from buildroot
CC_WITH_CFLAGS=$(CC)
CC_WITHOUT_CFLAGS=$(CC_FOR_TARGET)
endif
-EXTRA_CFLAGS=-I$(INCPATH) -I$(CLEO_DIR)/include -I$(LIBSPID_DIR)/inc -MMD -Wall -Wextra -Wstrict-prototypes -Winline @$(CLEO_DIR)/$(RESPONSE_FILE)
-LIBS=-lm -lrt -L$(LIBSPID_DIR) -lspid
+RESPONSE_FILE=extra_flags
+INCLUDES = -I$(INCPATH) \
+ -I$(CLEO_DIR)/include \
+ $(shell $(LIBSPID_DIR)/libspid-config --I_opts)
+
+EXTRA_CFLAGS= $(INCLUDES) -MMD -Wall -Wextra -Wstrict-prototypes -Winline \
+ @$(CLEO_DIR)/$(RESPONSE_FILE)
+
+LIBS = -lm -lrt \
+ $(shell $(LIBSPID_DIR)/libspid-config --L_opts) \
+ $(shell $(LIBSPID_DIR)/libspid-config --libs)
SRCS=$(subst $(SRCPATH)/,,$(wildcard $(SRCPATH)/*.c))
OBJS=$(addprefix $(OBJPATH)/,$(SRCS:.c=.o))
@@ -25,7 +37,7 @@ DEPS=$(patsubst %o,%d,$(OBJS))
all: $(BIN)
-$(BIN): $(OBJS) libspid
+$(BIN): $(OBJS) $(LIBSPID_SO_BIN) $(LIBMME_SO_BIN)
$(CC_WITHOUT_CFLAGS) -o $@ $(OBJS) $(LIBS)
$(OBJPATH)/%.o: $(SRCPATH)/%.c
@@ -36,15 +48,15 @@ $(OBJS): | $(OBJPATH)
$(OBJPATH):
mkdir $(OBJPATH)
-libspid:
- $(MAKE) -C $(LIBSPID_DIR) libspid.so
+$(LIBSPID_SO_BIN) $(LIBMME_SO_BIN):
+ $(error libspid or libmme output files are not found)
-include $(DEPS)
mcast_client: test/mcast_client.c #requires libreadline-dev
gcc -Wall -Wextra test/mcast_client.c -lreadline -lhistory -o mcast_client
-.PHONY: all clean libspid
+.PHONY: all clean
clean:
rm -f $(OBJS) $(DEPS) $(BIN)