summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cleopatre/application/spidinit/Makefile36
-rw-r--r--cleopatre/buildroot/package/spidinit/spidinit.mk11
2 files changed, 26 insertions, 21 deletions
diff --git a/cleopatre/application/spidinit/Makefile b/cleopatre/application/spidinit/Makefile
index 68a711c2d6..d98cf6d539 100644
--- a/cleopatre/application/spidinit/Makefile
+++ b/cleopatre/application/spidinit/Makefile
@@ -2,22 +2,34 @@ BIN=spidinit
OBJPATH=obj
SRCPATH=src
INCPATH=inc
-CLEO_BASE=../..
-RESPONSE_FILE=extra_flags
+
+CLEO_DIR=../..
+LINUX_DIR = $(CLEO_DIR)/linux-2.6.25.10-spc300
+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_BASE)/libspid
-LIBMME_DIR=$(CLEO_BASE)/libmme
else #compile from buildroot
CC_WITH_CFLAGS=$(CC)
CC_WITHOUT_CFLAGS=$(CC_FOR_TARGET)
endif
-EXTRA_CFLAGS=-I$(INCPATH) -I$(LINUX_DIR)/include/asm-arm/arch-spc300 \
- -I$(CLEO_BASE)/include -I$(LIBMME_DIR)/inc -I$(LIBSPID_DIR)/inc -MMD -@$(CLEO_BASE)/$(RESPONSE_FILE)
-LIBS=-L$(LIBMME_DIR) -L$(LIBSPID_DIR) -lmme -lspid
+
+RESPONSE_FILE = extra_flags
+INCLUDES = -I$(INCPATH) \
+ -I$(LINUX_DIR)/include/asm-arm/arch-spc300 \
+ -I$(CLEO_DIR)/include \
+ $(shell $(LIBSPID_DIR)/libspid-config --I_opts)
+
+EXTRA_CFLAGS = $(INCLUDES) -MMD -Wall @$(CLEO_DIR)/$(RESPONSE_FILE)
+
+LIBS = $(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): libspid libmme $(OBJS)
+$(BIN): $(OBJS) $(LIBSPID_SO_BIN) $(LIBMME_SO_BIN)
$(CC_WITHOUT_CFLAGS) -o $@ $(OBJS) $(LIBS)
$(OBJPATH)/%.o: $(SRCPATH)/%.c
@@ -36,12 +48,8 @@ $(OBJS): | $(OBJPATH)
$(OBJPATH):
mkdir $(OBJPATH)
-libspid:
- $(MAKE) -C $(LIBSPID_DIR) libspid.so
-
-libmme:
- $(MAKE) -C $(LIBMME_DIR) libmme.so
-
+$(LIBSPID_SO_BIN) $(LIBMME_SO_BIN):
+ $(error libspid or libmme output files are not found)
-include $(DEPS)
diff --git a/cleopatre/buildroot/package/spidinit/spidinit.mk b/cleopatre/buildroot/package/spidinit/spidinit.mk
index db7dfff3a7..d75dcb56f1 100644
--- a/cleopatre/buildroot/package/spidinit/spidinit.mk
+++ b/cleopatre/buildroot/package/spidinit/spidinit.mk
@@ -39,12 +39,9 @@ $(SPIDINIT_DIR)/.configured: $(SPIDINIT_DIR)/.unpacked
touch $(SPIDINIT_DIR)/.configured
$(SPIDINIT_DIR)/spidinit: $(SPIDINIT_LIBSPID_SITE)/libspid.so \
- $(SPIDINIT_DIR)/.configured
+ $(SPIDINIT_DIR)/.configured FORCE_SPIDINIT_MAKE
$(TARGET_CONFIGURE_OPTS) \
- $(MAKE) -C $(SPIDINIT_DIR) spidinit \
- LINUX_DIR="$(BASE_DIR)/../linux-2.6.25.10-spc300" \
- LIBMME_DIR="$(BASE_DIR)/../application/libmme" \
- LIBSPID_DIR="$(SPIDINIT_LIBSPID_SITE)"
+ $(MAKE) -C $(SPIDINIT_DIR) spidinit
$(TARGET_DIR)/usr/bin/spidinit: $(SPIDINIT_DIR)/spidinit
mkdir -p $(TARGET_DIR)/usr/bin
@@ -65,8 +62,8 @@ spidinit-clean:
spidinit-dirclean:
rm -f $(SPIDINIT_DIR)
-# We declare $(SPIDINIT_DIR)/spidinit rule as PHONY to force compilation
-.PHONY: $(SPIDINIT_DIR)/spidinit
+# We declare FORCE_SPIDINIT_MAKE rule as PHONY to force compilation
+.PHONY: FORCE_SPIDINIT_MAKE
#############################################################
#