summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cleopatre/application/libspid/Makefile33
-rw-r--r--cleopatre/buildroot/package/igmp_snoopd/igmp_snoopd.mk7
-rw-r--r--cleopatre/buildroot/package/libmme/libmme.mk8
-rw-r--r--cleopatre/buildroot/package/libspid/libspid.mk11
-rw-r--r--cleopatre/buildroot/package/managerd/managerd.mk7
-rw-r--r--cleopatre/buildroot/package/plcd/plcd.mk4
-rw-r--r--cleopatre/buildroot/package/pmd/pmd.mk5
-rw-r--r--cleopatre/buildroot/package/spidapp/spidapp.mk7
-rw-r--r--cleopatre/buildroot/package/spidinit/spidinit.mk7
9 files changed, 58 insertions, 31 deletions
diff --git a/cleopatre/application/libspid/Makefile b/cleopatre/application/libspid/Makefile
index d1e3d04bfc..baf8f40de0 100644
--- a/cleopatre/application/libspid/Makefile
+++ b/cleopatre/application/libspid/Makefile
@@ -1,14 +1,19 @@
BASE = ../..
-LINUX_DIR=$(BASE)/linux-2.6.25.10-spc300
+LINUX_DIR = $(BASE)/linux-2.6.25.10-spc300
+LIBMME_DIR = $(BASE)/application/libmme
STAT_LIB=libspid.a
DYN_LIB=libspid.so
OBJPATH=obj
SRCPATH=src
INCPATH=inc
-LIBMME=$(BASE)/application/libmme
RESPONSE_FILE=extra_flags
+# libspid have some dependencies with libmme.
+LIBMME_A_BIN = $(LIBMME_DIR)/libmme.a
+LIBMME_SO_BIN = $(LIBMME_DIR)/libmme.so
+LIBMME_MMTYPE_H = $(LIBMME_DIR)/inc/mmtypes.h
+
ifeq ($(CC_FOR_TARGET),) #direct compile
CC=arm-linux-gcc
AR=arm-linux-ar
@@ -19,10 +24,10 @@ CC_WITH_CFLAGS=$(CC) @$(BASE)/$(RESPONSE_FILE)
CC_WITHOUT_CFLAGS=$(CC_FOR_TARGET)
endif
INCLUDES=-I$(INCPATH) -I$(BASE)/include -I$(LINUX_DIR)/include -MMD -I$(LINUX_DIR)/include/asm-arm/arch-spc300
-INCLUDES+=$(shell $(LIBMME)/libmme-config --I_opts)
-LDOPTS=$(shell $(LIBMME)/libmme-config --ldopts)
-LIBS=$(shell $(LIBMME)/libmme-config --libs)
-L_OPTS=$(shell $(LIBMME)/libmme-config --L_opts)
+INCLUDES+=$(shell $(LIBMME_DIR)/libmme-config --I_opts)
+LDOPTS=$(shell $(LIBMME_DIR)/libmme-config --ldopts)
+LIBS=$(shell $(LIBMME_DIR)/libmme-config --libs)
+L_OPTS=$(shell $(LIBMME_DIR)/libmme-config --L_opts)
SRCS=$(subst $(SRCPATH)/,,$(wildcard $(SRCPATH)/*.c))
DYN_OBJS=$(addprefix $(OBJPATH)/,$(SRCS:.c=.dyn.o))
@@ -33,21 +38,16 @@ STAT_DEPS=$(patsubst %o,%d,$(STAT_OBJS))
all: $(STAT_LIB) $(DYN_LIB)
-$(STAT_LIB): $(STAT_OBJS)
+$(STAT_LIB): $(STAT_OBJS) $(LIBMME_A_BIN)
$(AR) cr $@ $(STAT_OBJS)
-$(DYN_LIB): $(DYN_OBJS) libmme
+$(DYN_LIB): $(DYN_OBJS) $(LIBMME_SO_BIN)
$(CC_WITHOUT_CFLAGS) -shared -fPIC $(LDOPTS) $(L_OPTS) $(LIBS) -o $@ $(DYN_OBJS)
-libmme:
- make -C $(LIBMME)
-
-$(LIBMME)/inc/mmtypes.h: libmme
-
-$(OBJPATH)/%.stat.o: $(SRCPATH)/%.c
+$(OBJPATH)/%.stat.o: $(SRCPATH)/%.c $(LIBMME_MMTYPE_H)
$(CC_WITH_CFLAGS) $(INCLUDES) -o $@ -c $<
-$(OBJPATH)/%.dyn.o: $(SRCPATH)/%.c
+$(OBJPATH)/%.dyn.o: $(SRCPATH)/%.c $(LIBMME_MMTYPE_H)
$(CC_WITH_CFLAGS) $(INCLUDES) -fPIC -o $@ -c $<
$(DYN_OBJS) $(STAT_OBJS): | $(OBJPATH)
@@ -57,6 +57,9 @@ $(OBJPATH):
-include $(STAT_DEPS) $(DYN_DEPS)
+$(LIBMME_A_BIN) $(LIBMME_SO_BIN) $(LIBMME_MMTYPE_H):
+ $(error libmme output files not found)
+
.PHONY: all clean
clean:
diff --git a/cleopatre/buildroot/package/igmp_snoopd/igmp_snoopd.mk b/cleopatre/buildroot/package/igmp_snoopd/igmp_snoopd.mk
index de0f7e8703..30fb9b6dd8 100644
--- a/cleopatre/buildroot/package/igmp_snoopd/igmp_snoopd.mk
+++ b/cleopatre/buildroot/package/igmp_snoopd/igmp_snoopd.mk
@@ -27,6 +27,8 @@ IGMP_SNOOPD_SITE:=$(BASE_DIR)/../application/igmp_snoopd
IGMP_SNOOPD_NAME:=igmp_snoopd-$(IGMP_SNOOPD_VERSION)
IGMP_SNOOPD_DIR:=$(BUILD_DIR)/igmp_snoopd-$(IGMP_SNOOPD_VERSION)
+IGMP_SNOOPD_LIBSPID_SITE:=$(BASE_DIR)/../application/libspid
+
igmp_snoopd-source:
$(IGMP_SNOOPD_DIR)/.unpacked:
@@ -36,10 +38,11 @@ $(IGMP_SNOOPD_DIR)/.unpacked:
$(IGMP_SNOOPD_DIR)/.configured: $(IGMP_SNOOPD_DIR)/.unpacked
touch $(IGMP_SNOOPD_DIR)/.configured
-$(IGMP_SNOOPD_DIR)/igmp_snoopd: $(IGMP_SNOOPD_DIR)/.configured
+$(IGMP_SNOOPD_DIR)/igmp_snoopd: $(IGMP_SNOOPD_LIBSPID_SITE)/libspid.so \
+ $(IGMP_SNOOPD_DIR)/.configured
$(TARGET_CONFIGURE_OPTS) \
$(MAKE) -C $(IGMP_SNOOPD_DIR) igmp_snoopd \
- LIBSPID_DIR="$(BASE_DIR)/../application/libspid"
+ LIBSPID_DIR="$(IGMP_SNOOPD_LIBSPID_SITE)"
$(TARGET_DIR)/usr/sbin/igmp_snoopd: $(IGMP_SNOOPD_DIR)/igmp_snoopd
mkdir -p $(TARGET_DIR)/usr/sbin
diff --git a/cleopatre/buildroot/package/libmme/libmme.mk b/cleopatre/buildroot/package/libmme/libmme.mk
index 5af93b0a2f..ca56011aed 100644
--- a/cleopatre/buildroot/package/libmme/libmme.mk
+++ b/cleopatre/buildroot/package/libmme/libmme.mk
@@ -28,6 +28,8 @@ LIBMME_SITE:=$(BASE_DIR)/../application/libmme
LIBMME_NAME:=libmme.so.$(LIBMME_VERSION)
LIBMME_DIR:=$(BUILD_DIR)/libmme-$(LIBMME_VERSION)
+LIBMME_BIN_SO := $(LIBMME_SITE)/libmme.so $(LIBMME_DIR)/libmme.so
+
libmme-source:
$(LIBMME_DIR)/.unpacked:
@@ -37,7 +39,7 @@ $(LIBMME_DIR)/.unpacked:
$(LIBMME_DIR)/.configured: $(LIBMME_DIR)/.unpacked
touch $(LIBMME_DIR)/.configured
-$(LIBMME_DIR)/libmme.so: $(LIBMME_DIR)/.configured
+$(LIBMME_BIN_SO): $(LIBMME_DIR)/.configured FORCE_LIBMME_MAKE
$(TARGET_CONFIGURE_OPTS) \
$(MAKE) -C $(LIBMME_DIR) libmme.so
@@ -59,8 +61,8 @@ libmme-clean:
libmme-dirclean:
rm -f $(LIBMME_DIR)
-# We declare $(LIBMME_DIR)/libmme.so rule as PHONY to force compilation
-.PHONY: $(LIBMME_DIR)/libmme.so
+# We declare FORCE_LIBMME_MAKE rule as PHONY to force compilation
+.PHONY: FORCE_LIBMME_MAKE
#############################################################
#
diff --git a/cleopatre/buildroot/package/libspid/libspid.mk b/cleopatre/buildroot/package/libspid/libspid.mk
index 824a965634..2d2885c98b 100644
--- a/cleopatre/buildroot/package/libspid/libspid.mk
+++ b/cleopatre/buildroot/package/libspid/libspid.mk
@@ -28,6 +28,9 @@ LIBSPID_SITE:=$(BASE_DIR)/../application/libspid
LIBSPID_NAME:=libspid.so.$(LIBSPID_VERSION)
LIBSPID_DIR:=$(BUILD_DIR)/libspid-$(LIBSPID_VERSION)
+LIBSPID_BIN_SO := $(LIBSPID_SITE)/libspid.so $(LIBSPID_DIR)/libspid.so
+LIBSPID_LIBMME_SITE := $(BASE_DIR)/../application/libmme
+
libspid-source:
$(LIBSPID_DIR)/.unpacked:
@@ -37,7 +40,9 @@ $(LIBSPID_DIR)/.unpacked:
$(LIBSPID_DIR)/.configured: $(LIBSPID_DIR)/.unpacked
touch $(LIBSPID_DIR)/.configured
-$(LIBSPID_DIR)/libspid.so: $(LIBSPID_DIR)/.configured
+$(LIBSPID_BIN_SO): $(LIBSPID_DIR)/.configured \
+ $(LIBSPID_LIBMME_SITE)/libmme.so \
+ FORCE_LIBSPID_MAKE
$(TARGET_CONFIGURE_OPTS) \
$(MAKE) -C $(LIBSPID_DIR) libspid.so \
LINUX_DIR="$(BASE_DIR)/../linux-2.6.25.10-spc300"
@@ -60,8 +65,8 @@ libspid-clean:
libspid-dirclean:
rm -f $(LIBSPID_DIR)
-# We declare $(LIBSPID_DIR)/libspid.so rule as PHONY to force compilation
-.PHONY: $(LIBSPID_DIR)/libspid.so
+# We declare FORCE_LIBSPID_MAKE rule as PHONY to force compilation
+.PHONY: FORCE_LIBSPID_MAKE
#############################################################
#
diff --git a/cleopatre/buildroot/package/managerd/managerd.mk b/cleopatre/buildroot/package/managerd/managerd.mk
index fd85462307..111a7b1996 100644
--- a/cleopatre/buildroot/package/managerd/managerd.mk
+++ b/cleopatre/buildroot/package/managerd/managerd.mk
@@ -29,6 +29,8 @@ MANAGERD_SITE:=$(BASE_DIR)/../application/managerd
MANAGERD_NAME:=managerd-$(MANAGERD_VERSION)
MANAGERD_DIR:=$(BUILD_DIR)/managerd-$(MANAGERD_VERSION)
+MANAGERD_LIBSPID_SITE:=$(BASE_DIR)/../application/libspid
+
managerd-source:
$(MANAGERD_DIR)/.unpacked:
@@ -38,12 +40,13 @@ $(MANAGERD_DIR)/.unpacked:
$(MANAGERD_DIR)/.configured: $(MANAGERD_DIR)/.unpacked $(BUILDROOT_CONFIG_FILE)
touch $(MANAGERD_DIR)/.configured
-$(MANAGERD_DIR)/managerd: $(MANAGERD_DIR)/.configured
+$(MANAGERD_DIR)/managerd: $(MANAGERD_LIBSPID_SITE)/libspid.so \
+ $(MANAGERD_DIR)/.configured
$(TARGET_CONFIGURE_OPTS) \
$(MAKE) -C $(MANAGERD_DIR) managerd \
LINUX_DIR="$(BASE_DIR)/../linux-2.6.25.10-spc300" \
LIBMME_DIR="$(BASE_DIR)/../application/libmme" \
- LIBSPID_DIR="$(BASE_DIR)/../application/libspid"
+ LIBSPID_DIR="$(MANAGERD_LIBSPID_SITE)"
$(TARGET_DIR)/usr/sbin/managerd: $(MANAGERD_DIR)/managerd
mkdir -p $(TARGET_DIR)/usr/sbin
diff --git a/cleopatre/buildroot/package/plcd/plcd.mk b/cleopatre/buildroot/package/plcd/plcd.mk
index 792c76d9c3..3ed3838954 100644
--- a/cleopatre/buildroot/package/plcd/plcd.mk
+++ b/cleopatre/buildroot/package/plcd/plcd.mk
@@ -29,6 +29,8 @@ PLCD_VERSION:=0.0.1
PLCD_NAME:=plcd-$(PLCD_VERSION)
PLCD_DIR:=$(BUILD_DIR)/plcd-$(PLCD_VERSION)
+PLCD_LIBSPID_SITE:=$(BASE_DIR)/../application/libspid
+
ifneq ($(IS_PLCD_DEV),)
PLCD_SITE:=$(PLCD_DEV_SITE)
PLCD_DEV_MAKE:=plcd-dev-make
@@ -41,7 +43,7 @@ else
PLCD_BIN:=plcd-$(subst ",,$(BR2_TARGET_SPIDCOM_CHIP))
endif
-plcd-dev-make:
+plcd-dev-make: $(PLCD_LIBSPID_SITE)/libspid.so
$(TARGET_CONFIGURE_OPTS) \
$(MAKE) -C $(PLCD_DIR) plcd \
LINUX_DIR="$(BASE_DIR)/../linux-2.6.25.10-spc300"
diff --git a/cleopatre/buildroot/package/pmd/pmd.mk b/cleopatre/buildroot/package/pmd/pmd.mk
index def005af36..b6502fc7a5 100644
--- a/cleopatre/buildroot/package/pmd/pmd.mk
+++ b/cleopatre/buildroot/package/pmd/pmd.mk
@@ -26,6 +26,8 @@ PMD_SITE:=$(BASE_DIR)/../application/pmd
PMD_NAME:=pmd-$(PMD_VERSION)
PMD_DIR:=$(BUILD_DIR)/pmd-$(PMD_VERSION)
+PMD_LIBSPID_SITE:=$(BASE_DIR)/../application/libspid
+
pmd-source:
$(PMD_DIR)/.unpacked:
@@ -35,7 +37,8 @@ $(PMD_DIR)/.unpacked:
$(PMD_DIR)/.configured: $(PMD_DIR)/.unpacked
touch $(PMD_DIR)/.configured
-$(PMD_DIR)/pmd: $(PMD_DIR)/.configured
+$(PMD_DIR)/pmd: $(PMD_LIBSPID_SITE)/libspid.so \
+ $(PMD_DIR)/.configured
$(TARGET_CONFIGURE_OPTS) \
$(MAKE) -C $(PMD_DIR) pmd
diff --git a/cleopatre/buildroot/package/spidapp/spidapp.mk b/cleopatre/buildroot/package/spidapp/spidapp.mk
index a9b126d81f..29b645068c 100644
--- a/cleopatre/buildroot/package/spidapp/spidapp.mk
+++ b/cleopatre/buildroot/package/spidapp/spidapp.mk
@@ -27,6 +27,8 @@ SPIDAPP_SITE:=$(BASE_DIR)/../application/spidapp
SPIDAPP_NAME:=spidapp-$(SPIDAPP_VERSION)
SPIDAPP_DIR:=$(BUILD_DIR)/spidapp-$(SPIDAPP_VERSION)
+SPIDAPP_LIBSPID_SITE:=$(BASE_DIR)/../application/libspid
+
spidapp-source:
$(SPIDAPP_DIR)/.unpacked:
@@ -36,12 +38,13 @@ $(SPIDAPP_DIR)/.unpacked:
$(SPIDAPP_DIR)/.configured: $(SPIDAPP_DIR)/.unpacked
touch $(SPIDAPP_DIR)/.configured
-$(SPIDAPP_DIR)/spidapp: $(SPIDAPP_DIR)/.configured
+$(SPIDAPP_DIR)/spidapp: $(SPIDAPP_LIBSPID_SITE)/libspid.so \
+ $(SPIDAPP_DIR)/.configured
$(TARGET_CONFIGURE_OPTS) \
$(MAKE) -C $(SPIDAPP_DIR) spidapp \
LINUX_DIR="$(BASE_DIR)/../linux-2.6.25.10-spc300" \
LIBMME_DIR="$(BASE_DIR)/../application/libmme" \
- LIBSPID_DIR="$(BASE_DIR)/../application/libspid"
+ LIBSPID_DIR="$(SPIDAPP_LIBSPID_SITE)"
$(TARGET_DIR)/usr/bin/spidapp: $(SPIDAPP_DIR)/spidapp
mkdir -p $(TARGET_DIR)/usr/bin
diff --git a/cleopatre/buildroot/package/spidinit/spidinit.mk b/cleopatre/buildroot/package/spidinit/spidinit.mk
index a097c1f289..db7dfff3a7 100644
--- a/cleopatre/buildroot/package/spidinit/spidinit.mk
+++ b/cleopatre/buildroot/package/spidinit/spidinit.mk
@@ -27,6 +27,8 @@ SPIDINIT_SITE:=$(BASE_DIR)/../application/spidinit
SPIDINIT_NAME:=spidinit-$(SPIDINIT_VERSION)
SPIDINIT_DIR:=$(BUILD_DIR)/spidinit-$(SPIDINIT_VERSION)
+SPIDINIT_LIBSPID_SITE:=$(BASE_DIR)/../application/libspid
+
spidinit-source:
$(SPIDINIT_DIR)/.unpacked:
@@ -36,12 +38,13 @@ $(SPIDINIT_DIR)/.unpacked:
$(SPIDINIT_DIR)/.configured: $(SPIDINIT_DIR)/.unpacked
touch $(SPIDINIT_DIR)/.configured
-$(SPIDINIT_DIR)/spidinit: $(SPIDINIT_DIR)/.configured
+$(SPIDINIT_DIR)/spidinit: $(SPIDINIT_LIBSPID_SITE)/libspid.so \
+ $(SPIDINIT_DIR)/.configured
$(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="$(BASE_DIR)/../application/libspid"
+ LIBSPID_DIR="$(SPIDINIT_LIBSPID_SITE)"
$(TARGET_DIR)/usr/bin/spidinit: $(SPIDINIT_DIR)/spidinit
mkdir -p $(TARGET_DIR)/usr/bin