From 0269681ac323bf09f130132454258d279c92f89f Mon Sep 17 00:00:00 2001 From: George Hahn Date: Tue, 10 May 2022 00:37:02 -0600 Subject: Perform OS detection in makefile --- make.mk | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'make.mk') diff --git a/make.mk b/make.mk index ac5be775..d7fecd20 100644 --- a/make.mk +++ b/make.mk @@ -9,7 +9,21 @@ endif ############################################################################## .PHONY: all directory clean size -ifeq ($(OS), Windows_NT) +# OS detection, adapted from https://gist.github.com/sighingnow/deee806603ec9274fd47 +DETECTED_OS := +ifeq ($(OS),Windows_NT) + DETECTED_OS = WINDOWS +else + UNAME_S := $(shell uname -s) + ifeq ($(UNAME_S),Linux) + DETECTED_OS = LINUX + endif + ifeq ($(UNAME_S),Darwin) + DETECTED_OS = OSX + endif +endif +$(if ${VERBOSE},$(info OS detected: $(DETECTED_OS))) + MKDIR = gmkdir else MKDIR = mkdir -- cgit v1.2.3 From 0ab63691f20eafe5544787b7c7d867925bae4eb8 Mon Sep 17 00:00:00 2001 From: George Hahn Date: Tue, 10 May 2022 00:37:37 -0600 Subject: Move parallel flag into makefile with crossplatform support --- make.mk | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'make.mk') diff --git a/make.mk b/make.mk index d7fecd20..3424f9c9 100644 --- a/make.mk +++ b/make.mk @@ -29,6 +29,17 @@ else MKDIR = mkdir endif +ifeq ($(DETECTED_OS), LINUX) + MAKEFLAGS += -j `nproc` +endif +ifeq ($(DETECTED_OS), OSX) + NPROCS = $(shell sysctl hw.ncpu | grep -o '[0-9]\+') + MAKEFLAGS += -j $(NPROCS) +endif +ifeq ($(DETECTED_OS), WINDOWS) + MAKEFLAGS += -j $(NUMBER_OF_PROCESSORS) +endif + ifndef EMSCRIPTEN CC = arm-none-eabi-gcc OBJCOPY = arm-none-eabi-objcopy -- cgit v1.2.3 From 190dca0a777a8961460faaf993c9e34f921a9a1a Mon Sep 17 00:00:00 2001 From: George Hahn Date: Tue, 10 May 2022 00:42:43 -0600 Subject: fixup: restore deleted line --- make.mk | 1 + 1 file changed, 1 insertion(+) (limited to 'make.mk') diff --git a/make.mk b/make.mk index 3424f9c9..d8e2bf8a 100644 --- a/make.mk +++ b/make.mk @@ -24,6 +24,7 @@ else endif $(if ${VERBOSE},$(info OS detected: $(DETECTED_OS))) +ifeq ($(OS), Windows_NT) MKDIR = gmkdir else MKDIR = mkdir -- cgit v1.2.3