浏览代码

Add Default Architecture

JDierkse 5 年之前
父节点
当前提交
be2883e29d

+ 15 - 9
Makefile

@@ -7,6 +7,11 @@
 ROOTPATH     := $(shell git rev-parse --show-toplevel)
 COMMANDLINE  := $(shell ps -o args= $$PPID)
 
+# ---------- Base Includes ----------
+
+-include $(ROOTPATH)/Makefile.conf
+-include $(ROOTPATH)/Makefiles/Makefile.conf.base
+
 # ---------- Architectures ----------
 
 ARCHS        := $(shell ls $(ROOTPATH)/Makefiles/Makefile.conf.* | grep -v base | sed 's/.*Makefile\.conf\.//g')
@@ -16,6 +21,16 @@ ARCHS        += any
 
 ARCHS        := $(filter-out any,$(ARCHS))
 
+ifeq ($(ARCH),)
+        ifneq ($(DEFAULTARCH),)
+                ARCH := $(DEFAULTARCH)
+        else
+                ARCH := x86_64
+        endif
+endif
+
+-include $(ROOTPATH)/Makefiles/Makefile.conf.$(ARCH)
+
 ifeq (,$(findstring -S,$(COMMANDLINE)))
         ifneq ($(ARCH),)
                 $(info ARCH: $(ARCH))
@@ -51,9 +66,6 @@ REALOBJECTS  := $(SOURCES:.cpp=.o.$(ARCH))
 DEPENDS       = $(REALOBJECTS:.o.$(ARCH)=.d.$(ARCH))
 OBJECTS      := Makefile.conf
 OBJECTS      += $(REALOBJECTS)
-LIBRARIES     =
-LIBFILES      =
-TARGETS       =
 
 # ---------- Recursive Targets ----------
 
@@ -66,12 +78,6 @@ artifacts: $(LOCALOBJECTS)
 
 .DEFAULT_GOAL := artifacts
 
-# ---------- Includes ----------
-
--include $(ROOTPATH)/Makefiles/Makefile.conf.$(ARCH)
--include $(ROOTPATH)/Makefiles/Makefile.conf.base
--include $(ROOTPATH)/Makefile.conf
-
 # ---------- Libraries ----------
 
 define build_target_library_arch

+ 14 - 16
Makefile.aliases

@@ -2,39 +2,37 @@
 # Makefile.conf.aliases
 #
 
-ARCHS        += armv6
-ARCHS        += armv8
-ARCHS        += alpine
+ALIASES      += armv6
+ALIASES      += armv8
+ALIASES      += alpine
+ARCHS        += $(ALIASES)
 
 ARCH         := $(filter $(ARCHS),$(MAKECMDGOALS))
 MAKECMDGOALS := $(filter-out $(ARCH),$(MAKECMDGOALS))
 
 # ARMv6 Defaults to Raspbian jessie
 ifeq ($(ARCH),armv6)
-ARCH         := armv6-jessie
+        ARCH := armv6-jessie
 
-.PHONY: armv6
-armv6: $(ARCH)
+        .PHONY: armv6
+        armv6: $(ARCH)
 endif
 
 # ARMv8 Defaults to Raspbian stretch
 ifeq ($(ARCH),armv8)
-ARCH         := armv8-stretch
+        ARCH := armv8-stretch
 
-.PHONY: armv8
-armv8: $(ARCH)
+        .PHONY: armv8
+        armv8: $(ARCH)
 endif
 
 # Alpine defaults to x86_64 alpine
 ifeq ($(ARCH),alpine)
-ARCH         := x86_64-alpine
+        ARCH := x86_64-alpine
 
-.PHONY: alpine
-alpine: $(ARCH)
+        .PHONY: alpine
+        alpine: $(ARCH)
 endif
 
-# Default is x86_64
-ifeq ($(ARCH),)
-ARCH         := x86_64
-endif
+ARCHS        := $(filter-out $(ALIASES),$(ARCHS))
 

+ 2 - 1
Makefile.conf.armv6-jessie

@@ -3,7 +3,7 @@
 #
 
 ARCH := armv6-jessie
-CFLAGS := -marm -march=armv6
+CFLAGS += -marm -march=armv6
 
 ARCHBASEDIR := /opt/build/Raspbian-jessie
 
@@ -16,3 +16,4 @@ CFLAGS += -I$(ARCHBASEDIR)/include -I$(ARCHBASEDIR)/include/arm-linux-gnueabihf
 LFLAGS += -L$(ARCHBASEDIR)/lib -L$(ARCHBASEDIR)/lib/arm-linux-gnueabihf -L$(ARCHBASEDIR)/usr/lib -L$(ARCHBASEDIR)/usr/lib/arm-linux-gnueabihf
 LFLAGS += -Wl,-rpath,$(ARCHBASEDIR)/lib -Wl,-rpath,$(ARCHBASEDIR)/lib/arm-linux-gnueabihf -Wl,-rpath,$(ARCHBASEDIR)/usr/lib -Wl,-rpath,$(ARCHBASEDIR)/usr/lib/arm-linux-gnueabihf
 LFLAGS += --sysroot $(ARCHBASEDIR)/tools/arm-rpi-linux-gnueabihf/sysroot
+

+ 2 - 1
Makefile.conf.armv6-stretch

@@ -3,7 +3,7 @@
 #
 
 ARCH := armv6-stretch
-CFLAGS := -marm -march=armv6
+CFLAGS += -marm -march=armv6
 
 ARCHBASEDIR := /opt/build/Raspbian-stretch
 
@@ -16,3 +16,4 @@ CFLAGS += -I$(ARCHBASEDIR)/include -I$(ARCHBASEDIR)/include/arm-linux-gnueabihf
 LFLAGS += -L$(ARCHBASEDIR)/lib -L$(ARCHBASEDIR)/lib/arm-linux-gnueabihf -L$(ARCHBASEDIR)/usr/lib -L$(ARCHBASEDIR)/usr/lib/arm-linux-gnueabihf
 LFLAGS += -Wl,-rpath,$(ARCHBASEDIR)/lib -Wl,-rpath,$(ARCHBASEDIR)/lib/arm-linux-gnueabihf -Wl,-rpath,$(ARCHBASEDIR)/usr/lib -Wl,-rpath,$(ARCHBASEDIR)/usr/lib/arm-linux-gnueabihf
 LFLAGS += --sysroot $(ARCHBASEDIR)/tools/arm-rpi-linux-gnueabihf/sysroot
+

+ 2 - 1
Makefile.conf.armv8-alpine

@@ -3,7 +3,7 @@
 #
 
 ARCH := armv8-alpine
-CFLAGS := -marm -mcpu=cortex-a53 -mfpu=neon-fp-armv8
+CFLAGS += -marm -mcpu=cortex-a53 -mfpu=neon-fp-armv8
 
 ARCHBASEDIR := /opt/build/alpine
 
@@ -17,3 +17,4 @@ LFLAGS += -L$(ARCHBASEDIR)/lib -L$(ARCHBASEDIR)/arm-linux-musleabihf/lib -L$(ARC
 LFLAGS += -Wl,-rpath,$(ARCHBASEDIR)/lib -Wl,-rpath,$(ARCHBASEDIR)/arm-linux-musleabihf/lib -Wl,-rpath,$(ARCHBASEDIR)/arm-linux-musleabihf/usr/lib
 
 CFLAGS += -Wno-stringop-truncation
+

+ 2 - 1
Makefile.conf.armv8-jessie

@@ -3,7 +3,7 @@
 #
 
 ARCH := armv8-jessie
-CFLAGS := -marm -mcpu=cortex-a53 -mfpu=neon-fp-armv8
+CFLAGS += -marm -mcpu=cortex-a53 -mfpu=neon-fp-armv8
 
 ARCHBASEDIR := /opt/build/Raspbian-jessie
 
@@ -16,3 +16,4 @@ CFLAGS += -I$(ARCHBASEDIR)/include -I$(ARCHBASEDIR)/include/arm-linux-gnueabihf
 LFLAGS += -L$(ARCHBASEDIR)/lib -L$(ARCHBASEDIR)/lib/arm-linux-gnueabihf -L$(ARCHBASEDIR)/usr/lib -L$(ARCHBASEDIR)/usr/lib/arm-linux-gnueabihf
 LFLAGS += -Wl,-rpath,$(ARCHBASEDIR)/lib -Wl,-rpath,$(ARCHBASEDIR)/lib/arm-linux-gnueabihf -Wl,-rpath,$(ARCHBASEDIR)/usr/lib -Wl,-rpath,$(ARCHBASEDIR)/usr/lib/arm-linux-gnueabihf
 LFLAGS += --sysroot $(ARCHBASEDIR)/tools/arm-rpi-linux-gnueabihf/sysroot
+

+ 2 - 1
Makefile.conf.armv8-stretch

@@ -3,7 +3,7 @@
 #
 
 ARCH := armv8-stretch
-CFLAGS := -marm -mcpu=cortex-a53 -mfpu=neon-fp-armv8
+CFLAGS += -marm -mcpu=cortex-a53 -mfpu=neon-fp-armv8
 
 ARCHBASEDIR := /opt/build/Raspbian-stretch
 
@@ -16,3 +16,4 @@ CFLAGS += -I$(ARCHBASEDIR)/include -I$(ARCHBASEDIR)/include/arm-linux-gnueabihf
 LFLAGS += -L$(ARCHBASEDIR)/lib -L$(ARCHBASEDIR)/lib/arm-linux-gnueabihf -L$(ARCHBASEDIR)/usr/lib -L$(ARCHBASEDIR)/usr/lib/arm-linux-gnueabihf
 LFLAGS += -Wl,-rpath,$(ARCHBASEDIR)/lib -Wl,-rpath,$(ARCHBASEDIR)/lib/arm-linux-gnueabihf -Wl,-rpath,$(ARCHBASEDIR)/usr/lib -Wl,-rpath,$(ARCHBASEDIR)/usr/lib/arm-linux-gnueabihf
 LFLAGS += --sysroot $(ARCHBASEDIR)/tools/arm-rpi-linux-gnueabihf/sysroot
+

+ 1 - 0
Makefile.conf.base

@@ -10,3 +10,4 @@ CFLAGS += -Wno-unused -Wno-variadic-macros -Wno-parentheses -Wno-unused-paramete
 CFLAGS += -ffunction-sections -fdata-sections
 LFLAGS += -Wl,--gc-sections
 SFLAGS := -s -R .comment --strip-unneeded
+

+ 1 - 0
Makefile.conf.x86_64

@@ -8,3 +8,4 @@ AR := ar
 CC := g++
 STRIP := strip
 OBJCOPY := objcopy
+

+ 1 - 0
Makefile.conf.x86_64-alpine

@@ -16,3 +16,4 @@ LFLAGS += -L$(ARCHBASEDIR)/lib -L$(ARCHBASEDIR)/x86_64-linux-musl/lib -L$(ARCHBA
 LFLAGS += -Wl,-rpath,$(ARCHBASEDIR)/lib -Wl,-rpath,$(ARCHBASEDIR)/x86_64-linux-musl/lib -Wl,-rpath,$(ARCHBASEDIR)/x86_64-linux-musl/usr/lib
 
 CFLAGS += -Wno-stringop-truncation
+