summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--polux/application/agent/Makefile21
-rw-r--r--polux/application/boottable/Makefile51
-rw-r--r--polux/application/goahead/LINUX/Makefile29
-rw-r--r--polux/application/goahead/Makefile3
-rw-r--r--polux/package/agent/agent.mk17
-rw-r--r--polux/package/boottable/boottable.mk19
-rw-r--r--polux/package/goahead/goahead.mk20
7 files changed, 125 insertions, 35 deletions
diff --git a/polux/application/agent/Makefile b/polux/application/agent/Makefile
index 66d317a6cb..f48c9bffbd 100644
--- a/polux/application/agent/Makefile
+++ b/polux/application/agent/Makefile
@@ -229,9 +229,26 @@ STUB_TEST_SRCDIR=test/stub/src
all: $(SNMP_AGENT)
-$(SNMP_AGENT): $(OBJDIR) $(SNMP_OBJDIR) $(AGENT_OBJDIR) $(AGENTGEN_OBJDIR) $(STUB_TEST_OBJDIR) $(ALL_OBJS) $(APP_DIR)/boottable/boottable.a \
+# Semi-colon is required at the end of the rules to make it empty to be build
+# and override any pre-defined rule known by make.
+# This is mainly required for the spc200 rules but in order to harmonize, it
+# is is preferable to do it for both rules (mse500 & spc200).
+# spc200 is also an object of dependency for the agent (spc200.c). Because of
+# the VPATH usage, make knows how to build "spc200" from "spc200.c". We need
+# to make it forget otherwise, it will try to build "spc200".
+mse500: $(SNMP_AGENT).mse500 ;
+
+spc200: $(SNMP_AGENT).spc200 ;
+
+$(SNMP_AGENT): $(SNMP_AGENT).mse500 $(SNMP_AGENT).spc200
+
+$(SNMP_AGENT).mse500: $(OBJDIR) $(SNMP_OBJDIR) $(AGENT_OBJDIR) $(AGENTGEN_OBJDIR) $(STUB_TEST_OBJDIR) $(ALL_OBJS) $(APP_DIR)/boottable/boottable.a.mse500 \
+ $(APP_DIR)/spidlib/spidlib.a $(APP_DIR)/mib/mib.a $(APP_DIR)/custom-mib/custom-mib.a $(APP_DIR)/smm/smm-client/smmlib.a
+ $(CC) -o $@ $(ALL_OBJS) $(APP_DIR)/mib/mib.a $(APP_DIR)/custom-mib/custom-mib.a $(APP_DIR)/smm/smm-client/smmlib.a $(LDFLAGS) -lpthread $(APP_DIR)/boottable/boottable.a.mse500 $(APP_DIR)/spidlib/spidlib.a
+
+$(SNMP_AGENT).spc200: $(OBJDIR) $(SNMP_OBJDIR) $(AGENT_OBJDIR) $(AGENTGEN_OBJDIR) $(STUB_TEST_OBJDIR) $(ALL_OBJS) $(APP_DIR)/boottable/boottable.a.spc200 \
$(APP_DIR)/spidlib/spidlib.a $(APP_DIR)/mib/mib.a $(APP_DIR)/custom-mib/custom-mib.a $(APP_DIR)/smm/smm-client/smmlib.a
- $(CC) -o $@ $(ALL_OBJS) $(APP_DIR)/mib/mib.a $(APP_DIR)/custom-mib/custom-mib.a $(APP_DIR)/smm/smm-client/smmlib.a $(LDFLAGS) -lpthread $(APP_DIR)/boottable/boottable.a $(APP_DIR)/spidlib/spidlib.a
+ $(CC) -o $@ $(ALL_OBJS) $(APP_DIR)/mib/mib.a $(APP_DIR)/custom-mib/custom-mib.a $(APP_DIR)/smm/smm-client/smmlib.a $(LDFLAGS) -lpthread $(APP_DIR)/boottable/boottable.a.spc200 $(APP_DIR)/spidlib/spidlib.a
$(OBJPARENT) :
mkdir $(OBJPARENT)
diff --git a/polux/application/boottable/Makefile b/polux/application/boottable/Makefile
index 5a7cca4003..f13b2e8fc6 100644
--- a/polux/application/boottable/Makefile
+++ b/polux/application/boottable/Makefile
@@ -8,6 +8,8 @@ BT=bt
SRCDIR=src
INCDIR=inc
OBJDIR=obj
+OBJDIR_MSE500=$(OBJDIR)/mse500
+OBJDIR_SPC200=$(OBJDIR)/spc200
TOPDIR=../..
ifndef LINUX_DIR
@@ -18,10 +20,14 @@ APP_DIR=$(TOPDIR)/application
SPIDLIB_DIR=$(APP_DIR)/spidlib
SPIDLIB=$(SPIDLIB_DIR)/spidlib.a
-OBJ=commands_linux.o posix_crc.o image_table_linux.o mtd_part.o commands.o ftp.o
+OBJ=commands_linux.o posix_crc.o mtd_part.o commands.o ftp.o
+OBJ_MSE500=image_table_linux.o
+OBJ_SPC200=image_table_linux.o
BT_OBJ=commands.o ftp.o bt.o
-OBJS=$(addprefix $(OBJDIR)/,$(OBJ))
-BT_OBJS=$(addprefix $(OBJDIR)/,$(BT_OBJ))
+OBJS_MSE500=$(addprefix $(OBJDIR_MSE500)/,$(OBJ) $(OBJ_MSE500))
+OBJS_SPC200=$(addprefix $(OBJDIR_SPC200)/,$(OBJ) $(OBJ_SPC200))
+BT_OBJS_MSE500=$(addprefix $(OBJDIR_MSE500)/,$(BT_OBJ))
+BT_OBJS_SPC200=$(addprefix $(OBJDIR_SPC200)/,$(BT_OBJ))
CC=arm-uclinux-gcc
AR=arm-uclinux-ar
@@ -30,23 +36,42 @@ VPATH=$(SRCDIR) $(INCDIR)
INCLUDE=-I$(TOPDIR)/include -I$(TOPDIR)/include/plc-drv -I$(LINUX_DIR)/include -I$(LINUX_DIR)/include/mtd -I$(APP_DIR)/mib/inc -I$(APP_DIR)/spidlib/inc -I$(INCDIR)
CFLAGS=$(DEFINES) $(INCLUDE) -c -msoft-float -march=armv5 -mtune=arm926ejs -mapcs-32 -fomit-frame-pointer -Os -DINLINE=inline -D__LINUX__ -DDEVICENB=1
+CFLAGS_MSE500=$(CFLAGS) -DCONFIG_ARCH_MSE500=1
+CFLAGS_SPC200=$(CFLAGS)
LDFLAGS= -msoft-float -march=armv5 -Wl,-elf2flt='-z -s 16k'
all: $(LIB) $(BT)
-$(BT): $(LIB) $(BT_OBJS) $(APP_DIR)/mib/mib.a
- $(CC) -o $@ $(BT_OBJS) $(LDFLAGS) $(LIB) -lpthread $(APP_DIR)/mib/mib.a $(SPIDLIB)
+mse500: $(BT).mse500 $(LIB).mse500
-$(LIB): $(OBJDIR) $(OBJS)
- $(AR) -rcs $@ $(OBJS)
+spc200: $(BT).spc200 $(LIB).spc200
-$(OBJDIR):
- mkdir -p $(OBJDIR);
+$(BT): $(BT).mse500 $(BT).spc200
-$(OBJDIR)/%.o: %.c
- $(CC) -MMD $(CFLAGS) -o $@ $<
+$(BT).mse500: $(LIB).mse500 $(BT_OBJS_MSE500) $(APP_DIR)/mib/mib.a
+ $(CC) -o $@ $(BT_OBJS_MSE500) $(LDFLAGS) $(LIB).mse500 -lpthread $(APP_DIR)/mib/mib.a $(SPIDLIB)
--include $(OBJDIR)/*.d
+$(BT).spc200: $(LIB).spc200 $(BT_OBJS_SPC200) $(APP_DIR)/mib/mib.a
+ $(CC) -o $@ $(BT_OBJS_SPC200) $(LDFLAGS) $(LIB).spc200 -lpthread $(APP_DIR)/mib/mib.a $(SPIDLIB)
+
+$(LIB): $(BT).mse500 $(BT).spc200
+
+$(LIB).mse500: $(OBJDIR_MSE500) $(OBJS_MSE500)
+ $(AR) -rcs $@ $(OBJS_MSE500)
+
+$(LIB).spc200: $(OBJDIR_SPC200) $(OBJS_SPC200)
+ $(AR) -rcs $@ $(OBJS_SPC200)
+
+$(OBJDIR_MSE500) $(OBJDIR_SPC200):
+ mkdir -p $@
+
+$(OBJDIR_MSE500)/%.o: %.c
+ $(CC) -MMD $(CFLAGS_MSE500) -o $@ $<
+
+$(OBJDIR_SPC200)/%.o: %.c
+ $(CC) -MMD $(CFLAGS_SPC200) -o $@ $<
+
+-include $(OBJDIR_MSE500)/*.d $(OBJDIR_SPC200)/*.d
clean :
- rm -rf $(OBJDIR) *~ $(BT) $(LIB) *.gdb
+ rm -rf $(OBJDIR_MSE500) $(OBJDIR_SPC200) *~ $(BT).* $(LIB).* *.gdb
diff --git a/polux/application/goahead/LINUX/Makefile b/polux/application/goahead/LINUX/Makefile
index 58df98f9c3..c810576a4e 100644
--- a/polux/application/goahead/LINUX/Makefile
+++ b/polux/application/goahead/LINUX/Makefile
@@ -7,12 +7,16 @@
# $Id: Makefile,v 1.2 2002/11/01 16:20:19 mmitchell Exp $
#
-all: compile
+all: compile.mse500 compile.spc200
+mse500: compile.mse500
+spc200: compile.scp200
+
TOPDIR=../../..
APP_DIR=$(TOPDIR)/application
-
-ARCH = libwebs.a ../../boottable/boottable.a ../../mib/mib.a ../../spidlib/spidlib.a
+ARCH = libwebs.a ../../mib/mib.a ../../spidlib/spidlib.a
+ARCH_MSE500 = $(ARCH) ../../boottable/boottable.a.mse500
+ARCH_SPC200 = $(ARCH) ../../boottable/boottable.a.spc200
NAME = webs
@@ -76,21 +80,28 @@ EXTRA_LDFLAGS += -msoft-float -march=armv5 -Wl,-elf2flt='-s4k'
endif
-compile: $(NAME)
+compile.mse500: $(NAME).mse500
+compile.spc200: $(NAME).spc200
#
# Build archive of objects
#
-$(ARCH): $(DEPEND_FILES)
- $(AR) $(ARFLAGS) $(ARCH) $?
+$(ARCH_MSE500): $(DEPEND_FILES)
+ $(AR) $(ARFLAGS) $(ARCH_MSE500) $?
+$(ARCH_SPC200): $(DEPEND_FILES)
+ $(AR) $(ARFLAGS) $(ARCH_SPC200) $?
#
# Primary link
#
-$(NAME): Makefile $(ARCH)
- $(CC) -o $(NAME) \
+$(NAME).mse500: Makefile $(ARCH_MSE500)
+ $(CC) -o $(NAME).mse500 \
+ $(CFLAGS) $(EXTRA_CFLAGS) $(IFLAGS) \
+ main.o $(ARCH_MSE500) $(LDFLAGS) $(EXTRA_LDFLAGS)
+$(NAME).spc200: Makefile $(ARCH_SPC200)
+ $(CC) -o $(NAME).spc200 \
$(CFLAGS) $(EXTRA_CFLAGS) $(IFLAGS) \
- main.o $(ARCH) $(LDFLAGS) $(EXTRA_LDFLAGS)
+ main.o $(ARCH_SCP200) $(LDFLAGS) $(EXTRA_LDFLAGS)
#$(DEBUG) \
clean:
diff --git a/polux/application/goahead/Makefile b/polux/application/goahead/Makefile
index 77f14d0dc3..6ea40a4dbf 100644
--- a/polux/application/goahead/Makefile
+++ b/polux/application/goahead/Makefile
@@ -7,5 +7,8 @@
all:
$(MAKE) -C ./LINUX
+mse500 spc200:
+ $(MAKE) -C ./LINUX $@
+
clean:
$(MAKE) -C ./LINUX clean
diff --git a/polux/package/agent/agent.mk b/polux/package/agent/agent.mk
index 507dfc4900..764fab490f 100644
--- a/polux/package/agent/agent.mk
+++ b/polux/package/agent/agent.mk
@@ -5,10 +5,21 @@
#############################################################
AGENT_BUILD_DIR=$(APP_DIR)/agent
-$(AGENT_BUILD_DIR)/snmp_agent:
- $(MAKE) -C $(AGENT_BUILD_DIR)
+# For what archi we need to build.
+ifeq ($(BR2_CONFIG_MARCH_MSE500_200),y)
+ APPLI_ARCH=mse500
+else ifeq ($(BR2_CONFIG_MARCH_SPC200C),y)
+ APPLI_ARCH=spc200
+else ifeq ($(BR2_CONFIG_MARCH_SPC200E),y)
+ APPLI_ARCH=spc200
+else
+ $(error Unsupported architecture)
+endif
+
+$(AGENT_BUILD_DIR)/snmp_agent.$(APPLI_ARCH):
+ $(MAKE) -C $(AGENT_BUILD_DIR) $(APPLI_ARCH)
-$(TARGET_DIR)/sbin/snmp_agent: $(AGENT_BUILD_DIR)/snmp_agent
+$(TARGET_DIR)/sbin/snmp_agent: $(AGENT_BUILD_DIR)/snmp_agent.$(APPLI_ARCH)
mkdir -p $(TARGET_DIR)/sbin; cp $< $@;
agent: spidlib mib custom-mib boottable smm $(TARGET_DIR)/sbin/snmp_agent
diff --git a/polux/package/boottable/boottable.mk b/polux/package/boottable/boottable.mk
index 8b560794b5..3798c1492d 100644
--- a/polux/package/boottable/boottable.mk
+++ b/polux/package/boottable/boottable.mk
@@ -9,12 +9,23 @@ BOOTTABLE_FILES=libbt.a bt
BOOTTABLE_TARGET=$(TARGET_DIR)/bin/bt
BOOTTABLE_BUILD=$(foreach target,$(BOOTTABLE_FILES),$(BOOTTABLE_BUILD_DIR)/$(target))
-$(BOOTTABLE_BUILD):
- $(MAKE) -C $(BOOTTABLE_BUILD_DIR)
+# For what archi we need to build.
+ifeq ($(BR2_CONFIG_MARCH_MSE500_200),y)
+ APPLI_ARCH=mse500
+else ifeq ($(BR2_CONFIG_MARCH_SPC200C),y)
+ APPLI_ARCH=spc200
+else ifeq ($(BR2_CONFIG_MARCH_SPC200E),y)
+ APPLI_ARCH=spc200
+else
+ $(error Unsupported architecture)
+endif
+
+$(BOOTTABLE_BUILD).$(APPLI_ARCH):
+ $(MAKE) -C $(BOOTTABLE_BUILD_DIR) $(APPLI_ARCH)
-$(BOOTTABLE_TARGET): $(BOOTTABLE_BUILD)
+$(BOOTTABLE_TARGET): $(BOOTTABLE_BUILD).$(APPLI_ARCH)
@mkdir -p $(TARGET_DIR)/bin
- @cp $(BOOTTABLE_BUILD_DIR)/bt $@
+ @cp $(BOOTTABLE_BUILD_DIR)/bt.$(APPLI_ARCH) $@
boottable: openssl mib $(BOOTTABLE_TARGET)
diff --git a/polux/package/goahead/goahead.mk b/polux/package/goahead/goahead.mk
index 9b2e42d8a8..8ca7369d22 100644
--- a/polux/package/goahead/goahead.mk
+++ b/polux/package/goahead/goahead.mk
@@ -8,20 +8,32 @@ GOAHEAD_BUILD_DIR=$(APP_DIR)/goahead/LINUX
GOAHEAD_BUILD=$(GOAHEAD_BUILD_DIR)/webs
GOAHEAD_TARGET=$(TARGET_DIR)/sbin/webs
-$(GOAHEAD_BUILD):
+# For what archi we need to build.
+ifeq ($(BR2_CONFIG_MARCH_MSE500_200),y)
+ APPLI_ARCH=mse500
+else ifeq ($(BR2_CONFIG_MARCH_SPC200C),y)
+ APPLI_ARCH=spc200
+else ifeq ($(BR2_CONFIG_MARCH_SPC200E),y)
+ APPLI_ARCH=spc200
+else
+ $(error Unsupported architecture)
+endif
+
+$(GOAHEAD_BUILD).$(APPLI_ARCH):
$(MAKE) -C $(GOAHEAD_BUILD_DIR) \
CC=arm-uclinux-gcc \
AR=arm-uclinux-ar \
CFLAGS="-pipe -Wall -march=armv5 -mtune=arm926ejs -msoft-float"\
- LDFLAGS="-Wl, -elf2flt='-s4k' -march=armv5 -mtune=arm926ejs -msoft-float" FROM_BUILDROOT="yes"
+ LDFLAGS="-Wl, -elf2flt='-s4k' -march=armv5 -mtune=arm926ejs -msoft-float" FROM_BUILDROOT="yes" \
+ $(APPLI_ARCH)
-$(GOAHEAD_TARGET): $(GOAHEAD_BUILD)
+$(GOAHEAD_TARGET): $(GOAHEAD_BUILD).$(APPLI_ARCH)
@mkdir -p $(TARGET_DIR)/etc
@mkdir -p $(TARGET_DIR)/sbin
@mkdir -p $(TARGET_DIR)/usr/share/www
@mkdir -p $(TARGET_DIR)/usr/share/www/cgi-bin
@cp -r $(GOAHEAD_BUILD_DIR)/../web $(TARGET_DIR)/usr/share/
- @cp $(GOAHEAD_BUILD_DIR)/webs $(TARGET_DIR)/sbin/webs
+ @cp $(GOAHEAD_BUILD).$(APPLI_ARCH) $(TARGET_DIR)/sbin/webs
webs: $(GOAHEAD_TARGET)