浏览代码

litecross: build target config logic into the makefile

leaving necessary configuration options for certain targets to the
user is error-prone and inconvenient. instead of configuration for
exact target string matchs in the sample config.mak, provide general
logic in the makefile itself which should cover all variants as well.
Rich Felker 9 年之前
父节点
当前提交
03bd65562a
共有 2 个文件被更改,包括 25 次插入17 次删除
  1. 0 17
      config.mak.dist
  2. 25 0
      litecross/Makefile

+ 0 - 17
config.mak.dist

@@ -63,20 +63,3 @@
 # where to look for source files.
 
 # COMMON_CONFIG += --with-debug-prefix-map=$(PWD)=
-
-# The following are options needed to make certain targets work right.
-# They may be moved to main build logic rather than config.mak at some
-# point in the future.
-
-ifeq ($(TARGET),sh2eb-linux-muslfdpic)
-GCC_CONFIG += --with-cpu=mj2
-GCC_CONFIG += --enable-fdpic
-endif
-
-ifeq ($(TARGET),mips64-linux-musl)
-GCC_CONFIG += --with-abi=64
-endif
-
-ifeq ($(TARGET),arm-linux-musleabihf)
-GCC_CONFIG += --with-float=hard
-endif

+ 25 - 0
litecross/Makefile

@@ -12,6 +12,31 @@ TOOLCHAIN_CONFIG = $(GCC_CONFIG)
 XGCC_DIR = ../obj_toolchain/gcc
 XGCC = $(XGCC_DIR)/xgcc -B $(XGCC_DIR)
 
+ifneq ($(findstring fdpic,$(TARGET)),)
+GCC_CONFIG += --enable-fdpic
+endif
+
+ifneq ($(filter x86_64%x32,$(TARGET)),)
+GCC_CONFIG += --with-abi=x32
+endif
+
+ifneq ($(findstring mips64,$(TARGET))$(findstring mipsisa64,$(TARGET)),)
+ifneq ($(findstring n32,$(TARGET)),)
+GCC_CONFIG += --with-abi=n32
+else
+GCC_CONFIG += --with-abi=64
+endif
+endif
+
+ifneq ($(filter %sf,$(TARGET)),)
+GCC_CONFIG += --with-float=soft
+endif
+
+ifneq ($(filter %hf,$(TARGET)),)
+GCC_CONFIG += --with-float=hard
+endif
+
+
 -include config.mak
 
 MAKE += MULTILIB_OSDIRNAMES=