summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2017-08-21 05:51:07 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2017-08-27 19:46:26 +0200
commit8645420963417ffc64d2e88f64935249e0db225c (patch)
tree1d35667cf063d8c370634da66047d01455e9d741 /mk
parent68769b1a66f9df3387811c9de7aa146c2e17ff92 (diff)
add basic support for frosted operating system
https://github.com/insane-adding-machines/frosted Rework our architecture selection and os dependent logic a little bit to be cleaner. As only arm is supported, we only modify arm systems to comply with new changeset.
Diffstat (limited to 'mk')
-rw-r--r--mk/build.mk3
-rw-r--r--mk/fetch.mk3
-rw-r--r--mk/vars.mk9
3 files changed, 15 insertions, 0 deletions
diff --git a/mk/build.mk b/mk/build.mk
index de911508c..67a53896a 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -175,6 +175,9 @@ else
ifeq ($(ADK_TARGET_OS_BAREMETAL),y)
$(MAKE) -f mk/build.mk package/hostcompile toolchain/final
endif
+ifeq ($(ADK_TARGET_OS_FROSTED),y)
+ $(MAKE) -f mk/build.mk package/hostcompile toolchain/final target/config-prepare target/compile target/install
+endif
ifeq ($(ADK_TARGET_OS_LINUX),y)
$(MAKE) -f mk/build.mk package/hostcompile toolchain/final target/config-prepare target/compile package_clean package/compile root_clean package/install target/install package_index
endif
diff --git a/mk/fetch.mk b/mk/fetch.mk
index 636c93154..b6164c03c 100644
--- a/mk/fetch.mk
+++ b/mk/fetch.mk
@@ -87,6 +87,9 @@ $(1):
git clone --progress --depth 1 $${PKG_SITES} $${PKG_NAME}-$${PKG_VERSION} $(DL_TRACE); \
if [ $$$$? -ne 0 ]; then echo "git clone error"; exit 1; fi; \
fi; \
+ if [ ! -z "$${PKG_GIT_SUBMODULE}" ]; then \
+ (cd $${PKG_NAME}-$${PKG_VERSION}; git submodule update --init --recursive) $(DL_TRACE); \
+ fi; \
rm -rf $${PKG_NAME}-$${PKG_VERSION}/.git; \
tar cJf $${PKG_NAME}-$${PKG_VERSION}.tar.xz $${PKG_NAME}-$${PKG_VERSION}; \
touch $$$${filename}.nohash; \
diff --git a/mk/vars.mk b/mk/vars.mk
index 7ed0f0c67..ddc015fff 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -85,8 +85,12 @@ ifeq ($(ADK_TARGET_ARCH_CSKY),y)
GNU_TARGET_NAME:= $(ADK_TARGET_CPU_ARCH)-unknown-$(ADK_TARGET_LINUXTYPE)
endif
ifeq ($(ADK_TARGET_LIB_NEWLIB),y)
+ifeq ($(ADK_TARGET_OS_FROSTED),y)
+GNU_TARGET_NAME:= $(ADK_TARGET_CPU_ARCH)-frosted-$(ADK_TARGET_SUFFIX)
+else
GNU_TARGET_NAME:= $(ADK_TARGET_CPU_ARCH)-$(ADK_TARGET_SUFFIX)
endif
+endif
TARGET_CROSS:= $(TOOLCHAIN_DIR)/usr/bin/$(GNU_TARGET_NAME)-
TARGET_COMPILER_PREFIX?=${TARGET_CROSS}
CONFIGURE_TRIPLE:= --build=${GNU_HOST_NAME} \
@@ -235,6 +239,11 @@ ifneq ($(ADK_TARGET_USE_GNU_HASHSTYLE),)
TARGET_LDFLAGS+= -Wl,--hash-style=gnu
endif
+# special operating system flags
+ifeq ($(ADK_TARGET_OS_FROSTED),y)
+TARGET_CFLAGS+= -mlong-calls -fno-common -msingle-pic-base -mno-pic-data-is-text-relative
+endif
+
# special architecture optimization flags
ifeq ($(ADK_TARGET_ARCH_XTENSA),y)
ifeq ($(ADK_TARGET_BIG_ENDIAN),)