Universal2 support

This commit is contained in:
Christian R. Helmrich 2021-04-01 23:00:00 +02:00
parent c3a90381de
commit cc4151b9c7
2 changed files with 27 additions and 12 deletions

View File

@ -1,30 +1,34 @@
## makefile - master user make-file for compiling exhale on Linux and MacOS platforms
# written by C. R. Helmrich, last modified in 2020 - see License.htm for legal notices
# written by C. R. Helmrich, last modified in 2021 - see License.htm for legal notices
#
# The copyright in this software is being made available under the exhale Copyright License
# and comes with ABSOLUTELY NO WARRANTY. This software may be subject to other third-
# party rights, including patent rights. No such rights are granted under this License.
#
# Copyright (c) 2018-2020 Christian R. Helmrich, project ecodis. All rights reserved.
# Copyright (c) 2018-2021 Christian R. Helmrich, project ecodis. All rights reserved.
##
## BUILD32=1: compile for 32-bit platforms, BUILD32=0: compile for 64-bit platforms
BUILD32?=0
## UNIVERSAL2=1: compile for both x86_64 and arm64 on macOS, UNIVERSAL2=0: compile for native architecture on all platforms
UNIVERSAL2?=0
export BUILD32
export UNIVERSAL2
all:
$(MAKE) -C src/lib MM32=$(BUILD32)
$(MAKE) -C src/app MM32=$(BUILD32)
$(MAKE) -C src/lib MM32=$(BUILD32) UNIVERSAL2=$(UNIVERSAL2)
$(MAKE) -C src/app MM32=$(BUILD32) UNIVERSAL2=$(UNIVERSAL2)
debug:
$(MAKE) -C src/lib debug MM32=$(BUILD32)
$(MAKE) -C src/app debug MM32=$(BUILD32)
$(MAKE) -C src/lib debug MM32=$(BUILD32) UNIVERSAL2=$(UNIVERSAL2)
$(MAKE) -C src/app debug MM32=$(BUILD32) UNIVERSAL2=$(UNIVERSAL2)
release:
$(MAKE) -C src/lib release MM32=$(BUILD32)
$(MAKE) -C src/app release MM32=$(BUILD32)
$(MAKE) -C src/lib release MM32=$(BUILD32) UNIVERSAL2=$(UNIVERSAL2)
$(MAKE) -C src/app release MM32=$(BUILD32) UNIVERSAL2=$(UNIVERSAL2)
clean:
$(MAKE) -C src/lib clean MM32=$(BUILD32)
$(MAKE) -C src/app clean MM32=$(BUILD32)
$(MAKE) -C src/lib clean MM32=$(BUILD32) UNIVERSAL2=$(UNIVERSAL2)
$(MAKE) -C src/app clean MM32=$(BUILD32) UNIVERSAL2=$(UNIVERSAL2)

View File

@ -1,11 +1,11 @@
## makefile.base - common make-file for compiling exhale on Linux and MacOS platforms
# written by C. R. Helmrich, last modified in 2020 - see License.htm for legal notices
# written by C. R. Helmrich, last modified in 2021 - see License.htm for legal notices
#
# The copyright in this software is being made available under the exhale Copyright License
# and comes with ABSOLUTELY NO WARRANTY. This software may be subject to other third-
# party rights, including patent rights. No such rights are granted under this License.
#
# Copyright (c) 2018-2020 Christian R. Helmrich, project ecodis. All rights reserved.
# Copyright (c) 2018-2021 Christian R. Helmrich, project ecodis. All rights reserved.
##
## verification of config parameter
@ -50,6 +50,12 @@ ifeq ($(MM32), 1)
CPPFLAGS+=-m32
endif
# setting of MacOSX compiler flags
UNIVERSAL2?=0
ifeq ($(UNIVERSAL2), 1)
CPPFLAGS+=-arch x86_64 -arch arm64 -mmacosx-version-min=10.9
endif
# debug and release compiler flags
DEBUG_CPPFLAGS = -g -D_DEBUG
RELEASE_CPPFLAGS = -O3 -Wuninitialized
@ -66,6 +72,11 @@ ifeq ($(MM32), 1)
ALL_LDFLAGS+=-m32
endif
# setting of MacOSX linker flags
ifeq ($(UNIVERSAL2), 1)
ALL_LDFLAGS+=-arch x86_64 -arch arm64 -mmacosx-version-min=10.9
endif
# debug and release linker flags
ifeq ($(CONFIG), CONSOLE)
LDFLAGS = $(ALL_LDFLAGS)