summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cleopatre/Config.bundle-av1
-rw-r--r--cleopatre/Makefile12
-rwxr-xr-xcleopatre/application/libalme/libalme-config109
-rw-r--r--[-rwxr-xr-x]cleopatre/buildroot/package/p1905_managerd/p1905_managerd.mk55
-rw-r--r--cleopatre/devkit/p1905_managerd/Makefile70
-rwxr-xr-x[-rw-r--r--]cleopatre/devkit/p1905_managerd/S98p19050
-rw-r--r--cleopatre/devkit/p1905_managerd/src/p1905_utils.c46
7 files changed, 191 insertions, 102 deletions
diff --git a/cleopatre/Config.bundle-av b/cleopatre/Config.bundle-av
index 3342ef4e6b..c75c4a3a2a 100644
--- a/cleopatre/Config.bundle-av
+++ b/cleopatre/Config.bundle-av
@@ -8,4 +8,5 @@ DEBUG_BINS= cesar-plc-debug
PLC_BINS= plcd plcdrv
RT5572DRV_BINS= rt5572drv
MT7601UDRV_BINS= mt7601udrv
+P1905_BINS= p1905_managerd
GEN_BINS=uboot linux flashfs
diff --git a/cleopatre/Makefile b/cleopatre/Makefile
index 17b267be8f..fd5cb0dfe9 100644
--- a/cleopatre/Makefile
+++ b/cleopatre/Makefile
@@ -31,6 +31,7 @@ BUNDLE_GENBIN_PATH=$(WORK_DIRECTORY)/binaries
BUNDLE_PLCBIN_PATH=$(BUNDLE_PATH)/binaries
BUNDLE_RT5572DRV_PATH=$(BUNDLE_PATH)/rt5572drv
BUNDLE_MT7601UDRV_PATH=$(BUNDLE_PATH)/mt7601udrv
+BUNDLE_P1905BIN_PATH=$(BUNDLE_PATH)/p1905_managerd
CLEOPATRE_PATH=$(WORK_DIRECTORY)/cleopatre
CESAR_PATH=$(WORK_DIRECTORY)/cesar
@@ -42,6 +43,7 @@ LIBMME_PATH=$(CLEOPATRE_PATH)/application/libmme
PLCDRV_PATH=$(CLEOPATRE_PATH)/devkit/plcdrv
RT5572DRV_PATH=$(CLEOPATRE_PATH)/devkit/rt5572drv
MT7601UDRV_PATH=$(CLEOPATRE_PATH)/devkit/mt7601udrv
+P1905_MANAGERD_PATH=$(CLEOPATRE_PATH)/devkit/p1905_managerd
PLCD_NAME=plcd
PLCD_PATH=$(CLEOPATRE_PATH)/devkit/plcd
@@ -118,6 +120,9 @@ bundle-standalone:
$(Q)echo "Generate MT7601U binaries..."
$(Q)mkdir -p $(BUNDLE_MT7601UDRV_PATH)
$(Q)[ "$(MT7601UDRV_BINS)" = "" ] || $(MAKE) $(MT7601UDRV_BINS)
+ $(Q)echo "Generate 1905.1 binaries..."
+ $(Q)mkdir -p $(BUNDLE_P1905BIN_PATH)
+ $(Q)[ "$(P1905_BINS)" = "" ] || $(MAKE) $(P1905_BINS)
$(Q)echo "Generate Bundle archive..."
$(Q)$(MAKE) prepare-includes
$(Q)find $(BUNDLE_PATH)/application/ -name Module -exec rm -f '{}' ';'
@@ -205,6 +210,13 @@ mt7601udrv:
$(Q)cp $(MT7601UDRV_PATH)/RT2870AP.dat $(BUNDLE_MT7601UDRV_PATH)/RT2870AP.dat
$(Q)cp $(MT7601UDRV_PATH)/S32wifi $(BUNDLE_MT7601UDRV_PATH)/S32wifi
+p1905_managerd:
+ -$(Q)$(MAKE) -C $(CLEOPATRE_PATH)/buildroot clean distclean
+ $(Q)$(MAKE) -C $(CLEOPATRE_PATH)/buildroot ${mse500_REF_BOARD}_defconfig
+ $(Q)$(MAKE) -C $(CLEOPATRE_PATH)/buildroot p1905_managerd
+ $(Q)cp $(P1905_MANAGERD_PATH)/p1905_managerd $(BUNDLE_P1905BIN_PATH)/p1905_managerd
+ $(Q)cp $(P1905_MANAGERD_PATH)/S98p1905 $(BUNDLE_P1905BIN_PATH)/S98p1905
+
uboot:
$(Q)$(MAKE) -C $(UBOOT_TMP_PATH) clean distclean sdk300_config
$(Q)$(MAKE) -C $(UBOOT_TMP_PATH)
diff --git a/cleopatre/application/libalme/libalme-config b/cleopatre/application/libalme/libalme-config
new file mode 100755
index 0000000000..6e9424a777
--- /dev/null
+++ b/cleopatre/application/libalme/libalme-config
@@ -0,0 +1,109 @@
+#! /bin/sh
+
+# libalme-config
+# provides configuration info for libalme.
+
+# Copyright (C) 2013 MStar
+
+# Modeled after libpng-config.
+
+libdir=`dirname $0`
+includedir=${libdir}/inc
+libs="-lalme"
+all_libs="-lalme"
+I_opts="-I${includedir}"
+L_opts="-L${libdir}"
+R_opts=""
+cppflags=""
+ccopts=""
+ldopts="-Wl,-rpath-link=${libdir}"
+
+usage()
+{
+ cat <<EOF
+Usage: $0 [OPTION] ...
+
+Known values for OPTION are:
+
+ --libdir print path to directory containing library
+ --libs print library linking information
+ --ccopts print compiler options
+ --cppflags print pre-processor flags
+ --cflags print preprocessor flags, I_opts, and compiler options
+ --I_opts print "-I" include options
+ --L_opts print linker "-L" flags for dynamic linking
+ --R_opts print dynamic linker "-R" or "-rpath" flags
+ --ldopts print linker options
+ --ldflags print linker flags (ldopts, L_opts, R_opts, and libs)
+ --static revise subsequent outputs for static linking
+ --help print this help and exit
+EOF
+
+ exit $1
+}
+
+if test $# -eq 0; then
+ usage 1
+fi
+
+while test $# -gt 0; do
+ case "$1" in
+
+ --help)
+ usage 0
+ ;;
+
+ --ccopts)
+ echo ${ccopts}
+ ;;
+
+ --cppflags)
+ echo ${cppflags}
+ ;;
+
+ --cflags)
+ echo ${I_opts} ${cppflags} ${ccopts}
+ ;;
+
+ --libdir)
+ echo ${libdir}
+ ;;
+
+ --libs)
+ echo ${libs}
+ ;;
+
+ --I_opts)
+ echo ${I_opts}
+ ;;
+
+ --L_opts)
+ echo ${L_opts}
+ ;;
+
+ --R_opts)
+ echo ${R_opts}
+ ;;
+
+ --ldopts)
+ echo ${ldopts}
+ ;;
+
+ --ldflags)
+ echo ${ldopts} ${L_opts} ${R_opts} ${libs}
+ ;;
+
+ --static)
+ R_opts=""
+ libs=${all_libs}
+ ;;
+
+ *)
+ usage
+ exit 1
+ ;;
+ esac
+ shift
+done
+
+exit 0
diff --git a/cleopatre/buildroot/package/p1905_managerd/p1905_managerd.mk b/cleopatre/buildroot/package/p1905_managerd/p1905_managerd.mk
index 7e3e03c1a7..2c0b1327dd 100755..100644
--- a/cleopatre/buildroot/package/p1905_managerd/p1905_managerd.mk
+++ b/cleopatre/buildroot/package/p1905_managerd/p1905_managerd.mk
@@ -22,50 +22,61 @@
# USA
#
-BUILDROOT_CONFIG_FILE:=$(BASE_DIR)/.config
+P1905_MANAGERD_DEV_SITE:=$(BASE_DIR)/../devkit/p1905_managerd
+IS_P1905_MANAGERD_DEV:=$(wildcard $(P1905_MANAGERD_DEV_SITE))
P1905_MANAGERD_VERSION:=0.0.1
-P1905_MANAGERD_SITE:=$(BASE_DIR)/../devkit/p1905_managerd
P1905_MANAGERD_NAME:=p1905_managerd-$(P1905_MANAGERD_VERSION)
P1905_MANAGERD_DIR:=$(BUILD_DIR)/p1905_managerd-$(P1905_MANAGERD_VERSION)
+P1905_MANAGERD_LIBSPID_SITE:=$(BASE_DIR)/../application/libspid
+P1905_MANAGERD_LIBMME_SITE:=$(BASE_DIR)/../application/libmme
+P1905_MANAGERD_LIBALME_SITE:=$(BASE_DIR)/../application/libalme
+
+ifneq ($(IS_P1905_MANAGERD_DEV),)
+ P1905_MANAGERD_SITE:=$(P1905_MANAGERD_DEV_SITE)
+ P1905_MANAGERD_MAKE:=@$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(P1905_MANAGERD_DIR) p1905_managerd
+ P1905_MANAGERD_DEV_CLEAN:=p1905_managerd-dev-clean
+ P1905_MANAGERD_BIN:=p1905_managerd
+else
+ P1905_MANAGERD_SITE:=$(BASE_DIR)/../p1905_managerd
+ P1905_MANAGERD_MAKE:=
+ P1905_MANAGERD_DEV_CLEAN:=
+ P1905_MANAGERD_BIN:=p1905_managerd
+endif
+
+p1905_managerd-dev-clean:
+ -$(MAKE) -C $(P1905_MANAGERD_DIR) clean
+
p1905_managerd-source:
$(P1905_MANAGERD_DIR)/.unpacked:
- echo "$(P1905_MANAGERD_DIR)"
ln -s $(P1905_MANAGERD_SITE) $(P1905_MANAGERD_DIR)
touch $(P1905_MANAGERD_DIR)/.unpacked
-$(P1905_MANAGERD_DIR)/.configured: $(P1905_MANAGERD_DIR)/.unpacked $(BUILDROOT_CONFIG_FILE)
+$(P1905_MANAGERD_DIR)/.configured: $(P1905_MANAGERD_DIR)/.unpacked
touch $(P1905_MANAGERD_DIR)/.configured
-$(P1905_MANAGERD_DIR)/p1905_managerd: $(P1905_MANAGERD_DIR)/.configured
- (cd $(P1905_MANAGERD_DIR); \
- $(TARGET_CONFIGURE_OPTS) $(MAKE) LINUX_DIR="$(BASE_DIR)/../linux-2.6.25.10-spc300" \
- LIBMME_DIR="$(BASE_DIR)/../application/libmme" \
- LIBSPID_DIR="$(BASE_DIR)/../application/libspid" \
- LIBALME_DIR="$(BASE_DIR)/../application/libalme")
-
-$(TARGET_DIR)/usr/sbin/p1905_managerd: $(P1905_MANAGERD_DIR)/p1905_managerd
- mkdir -p $(TARGET_DIR)/usr/sbin
- cp $< $@
+$(P1905_MANAGERD_DIR)/$(P1905_MANAGERD_BIN): $(P1905_MANAGERD_LIBSPID_SITE)/libspid.so \
+ $(P1905_MANAGERD_LIBMME_SITE)/libmme.so \
+ $(P1905_MANAGERD_LIBALME_SITE)/libalme.so \
+ $(P1905_MANAGERD_DIR)/.configured \
+ FORCE_P1905_MANAGERD_MAKE
+ $(P1905_MANAGERD_MAKE)
-$(TARGET_DIR)/etc/init.d/S98p1905: $(P1905_MANAGERD_DIR)/S98p1905
- mkdir -p $(TARGET_DIR)/etc/init.d
+$(TARGET_DIR)/usr/sbin/p1905_managerd: $(P1905_MANAGERD_DIR)/$(P1905_MANAGERD_BIN)
cp $< $@
- chmod a+x $@
+ cp $(P1905_MANAGERD_DIR)/S98p1905 $(TARGET_DIR)/etc/init.d/S98p1905
-p1905_managerd: uclibc $(TARGET_DIR)/usr/sbin/p1905_managerd $(TARGET_DIR)/etc/init.d/S98p1905
+p1905_managerd: uclibc $(TARGET_DIR)/usr/sbin/p1905_managerd
-p1905_managerd-clean:
+p1905_managerd-clean: $(P1905_MANAGERD_DEV_CLEAN)
rm -f $(TARGET_DIR)/usr/sbin/p1905_managerd
- -$(MAKE) -C $(P1905_MANAGERD_DIR) clean
p1905_managerd-dirclean:
rm -f $(P1905_MANAGERD_DIR)
-# We declare $(P1905_MANAGERD_DIR)/p1905_managerd rule as PHONY to force compilation
-.PHONY: $(P1905_MANAGERD_DIR)/p1905_managerd
+.PHONY: FORCE_P1905_MANAGERD_MAKE
#############################################################
#
diff --git a/cleopatre/devkit/p1905_managerd/Makefile b/cleopatre/devkit/p1905_managerd/Makefile
index 878a12fcda..0298408530 100644
--- a/cleopatre/devkit/p1905_managerd/Makefile
+++ b/cleopatre/devkit/p1905_managerd/Makefile
@@ -3,30 +3,37 @@ BIN=p1905_managerd
OBJPATH=obj
SRCPATH=src
INCPATH=inc
-OBJINCPATH=$(OBJPATH)/inc
-#ifeq ($(AP_AUTO_CONFIG_SUPPORT),y)
-#ifeq ($(AP_REGISTRAR),y)
-#BIN=p1905_managerd_ap_router
-#else
-#BIN=p1905_managerd_ap_extender
-#endif
-#endif
+CLEO_BASE=../..
+LIBMME_DIR=$(CLEO_BASE)/application/libmme
+LIBSPID_DIR=$(CLEO_BASE)/application/libspid
+LIBALME_DIR=$(CLEO_BASE)/application/libalme
+LINUX_DIR=$(CLEO_BASE)/linux-2.6.25.10-spc300
+
+LIBSPID_SO_BIN = $(LIBSPID_DIR)/libspid.so
+LIBMME_SO_BIN = $(LIBMME_DIR)/libmme.so
+LIBALME_SO_BIN = $(LIBALME_DIR)/libalme.so
+
+ifeq ($(VERSION), )
+VERSION=$(shell git describe --always 2>/dev/null)
+endif
+
+RESPONSE_FILE=extra_flags
+INCLUDES = -I$(INCPATH) \
+ -I$(CLEO_BASE)/include \
+ -I$(LINUX_DIR)/include \
+ -I$(LINUX_DIR)/include/asm-arm/arch-spc300 \
+ $(shell $(LIBSPID_DIR)/libspid-config --I_opts) \
+ $(shell $(LIBALME_DIR)/libalme-config --I_opts)
-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)
-LINUX_DIR=../../linux-2.6.25.10-spc300
-LIBSPID_DIR=../../application/libspid
-LIBMME_DIR=../../application/libmme
-LIBALME_DIR=../../application/libalme
-else #compile from buildroot
-CC_WITH_CFLAGS=$(CC)
-CC_WITHOUT_CFLAGS=$(CC_FOR_TARGET)
-endif
-CLEO_INC=../../include
-EXTRA_CFLAGS=-I$(INCPATH) -I$(OBJINCPATH) -I$(LINUX_DIR)/include -I$(LINUX_DIR)/include/asm-arm/arch-spc300 -I$(LIBMME_DIR)/inc -I$(LIBSPID_DIR)/inc -I$(LIBALME_DIR)/inc -I$(CLEO_INC) -MMD
+CFLAGS += $(INCLUDES) -Os -MMD -Wall -DVERSION=\"$(VERSION)\"
+
+LIBFLAGS = $(shell $(LIBSPID_DIR)/libspid-config --L_opts) \
+ $(shell $(LIBSPID_DIR)/libspid-config --libs) \
+ $(shell $(LIBALME_DIR)/libalme-config --L_opts) \
+ $(shell $(LIBALME_DIR)/libalme-config --libs) \
+ -lrt
#################################################################################
#support interface
@@ -71,8 +78,6 @@ EXTRA_CFLAGS+= -DMT7601_ENABLE
endif
endif
-LIBS=-L$(LIBMME_DIR) -L$(LIBSPID_DIR) -lmme -lspid -lpthread
-
#################################################################################
#below is for source code include
#################################################################################
@@ -104,29 +109,27 @@ ifeq ($(PLC_SUPPORT),y)
SRCS+=plc_utils.c
endif
+#################################################################################
+#below is for build
+#################################################################################
OBJS=$(addprefix $(OBJPATH)/,$(SRCS:.c=.o))
DEPS=$(patsubst %o,%d,$(OBJS))
all: $(BIN)
-$(BIN): libspid libmme $(OBJS)
- $(CC_WITHOUT_CFLAGS) -o $@ $(OBJS) $(LIBS)
+$(BIN): $(OBJS) $(LIBSPID_SO_BIN) $(LIBMME_SO_BIN) $(LIBALME_SO_BIN)
+ $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBFLAGS)
$(OBJPATH)/%.o: $(SRCPATH)/%.c
- $(CC_WITH_CFLAGS) $(EXTRA_CFLAGS) -o $@ -c $<
+ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -o $@ -c $<
$(OBJS): | $(OBJPATH)
$(OBJPATH):
mkdir $(OBJPATH)
-$(OBJINCPATH): | $(OBJPATH)
- mkdir $@
-libspid:
- $(MAKE) -C $(LIBSPID_DIR) libspid.so
-
-libmme:
- $(MAKE) -C $(LIBMME_DIR) libmme.so
+$(LIBSPID_SO_BIN) $(LIBMME_SO_BIN) $(LIBALME_SO_BIN):
+ $(error libspid or libmme or libalme output files are not found)
-include $(DEPS)
@@ -134,5 +137,4 @@ libmme:
clean:
rm -f $(OBJS) $(DEPS) $(BIN)
- rm -rf $(OBJINCPATH)
rmdir $(OBJPATH)
diff --git a/cleopatre/devkit/p1905_managerd/S98p1905 b/cleopatre/devkit/p1905_managerd/S98p1905
index a6d3e86ccc..a6d3e86ccc 100644..100755
--- a/cleopatre/devkit/p1905_managerd/S98p1905
+++ b/cleopatre/devkit/p1905_managerd/S98p1905
diff --git a/cleopatre/devkit/p1905_managerd/src/p1905_utils.c b/cleopatre/devkit/p1905_managerd/src/p1905_utils.c
index 0da5cdac0d..8af9049f38 100644
--- a/cleopatre/devkit/p1905_managerd/src/p1905_utils.c
+++ b/cleopatre/devkit/p1905_managerd/src/p1905_utils.c
@@ -540,52 +540,6 @@ unsigned short get_bridge_port_no(char *itf_name)
return port_no;
}
-static void* mme_thread(void *arg)
-{
- mme_error_t ret = MME_SUCCESS;
- mme_ctx_t s_rcv_ctx, s_snd_ctx;
- mme_ctx_t *rcv_ctx = &s_rcv_ctx;
- mme_ctx_t *snd_ctx = &s_snd_ctx;
- thread_ctx *td_ctx;
-
- unsigned char snd_buff[2048] = {0};
- unsigned char rcv_buff[2048] = {0};
- unsigned char dst_addr[6] = {0};
-
- td_ctx = (thread_ctx *)arg;
- memcpy(dst_addr,td_ctx->local_itf, ETH_ALEN);
-
- /* form the send message context */
- snd_ctx->buffer = snd_buff;
- snd_ctx->mmtype = td_ctx->mmtype;
- snd_ctx->length = sizeof(snd_buff);
- snd_ctx->head = 256;
- snd_ctx->tail = 256;
- snd_ctx->status = MME_STATUS_OK;
-
- /* form the receive message context */
- rcv_ctx->buffer = rcv_buff;
- rcv_ctx->mmtype = td_ctx->mmtype + 1;
- rcv_ctx->length = sizeof(rcv_buff);
- rcv_ctx->head = 256;
- rcv_ctx->tail = 256;
- rcv_ctx->status = MME_STATUS_OK;
-
- ret = mme_send (snd_ctx, MME_SEND_REQ_CNF, NULL, dst_addr, rcv_ctx);
-
- if(ret == MME_SUCCESS)
- {
- has_confirm = 1;
- memcpy(td_ctx->recv_buf, (rcv_ctx->buffer + rcv_ctx->head),
- (rcv_ctx->tail - rcv_ctx->head));
- }
- else
- {
- debug_syslog("mme fail, ret=%d\n",ret);
- has_confirm = 0;
- }
-}
-
int get_link_phy_rate(itftype media_type, unsigned char *target,
unsigned char *local_itf, unsigned short *phyrate)
{