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 ## 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 # 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- # 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. # 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=1: compile for 32-bit platforms, BUILD32=0: compile for 64-bit platforms
BUILD32?=0 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 BUILD32
export UNIVERSAL2
all: all:
$(MAKE) -C src/lib MM32=$(BUILD32) $(MAKE) -C src/lib MM32=$(BUILD32) UNIVERSAL2=$(UNIVERSAL2)
$(MAKE) -C src/app MM32=$(BUILD32) $(MAKE) -C src/app MM32=$(BUILD32) UNIVERSAL2=$(UNIVERSAL2)
debug: debug:
$(MAKE) -C src/lib debug MM32=$(BUILD32) $(MAKE) -C src/lib debug MM32=$(BUILD32) UNIVERSAL2=$(UNIVERSAL2)
$(MAKE) -C src/app debug MM32=$(BUILD32) $(MAKE) -C src/app debug MM32=$(BUILD32) UNIVERSAL2=$(UNIVERSAL2)
release: release:
$(MAKE) -C src/lib release MM32=$(BUILD32) $(MAKE) -C src/lib release MM32=$(BUILD32) UNIVERSAL2=$(UNIVERSAL2)
$(MAKE) -C src/app release MM32=$(BUILD32) $(MAKE) -C src/app release MM32=$(BUILD32) UNIVERSAL2=$(UNIVERSAL2)
clean: clean:
$(MAKE) -C src/lib clean MM32=$(BUILD32) $(MAKE) -C src/lib clean MM32=$(BUILD32) UNIVERSAL2=$(UNIVERSAL2)
$(MAKE) -C src/app clean MM32=$(BUILD32) $(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 ## 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 # 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- # 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. # 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 ## verification of config parameter
@ -50,6 +50,12 @@ ifeq ($(MM32), 1)
CPPFLAGS+=-m32 CPPFLAGS+=-m32
endif 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 and release compiler flags
DEBUG_CPPFLAGS = -g -D_DEBUG DEBUG_CPPFLAGS = -g -D_DEBUG
RELEASE_CPPFLAGS = -O3 -Wuninitialized RELEASE_CPPFLAGS = -O3 -Wuninitialized
@ -66,6 +72,11 @@ ifeq ($(MM32), 1)
ALL_LDFLAGS+=-m32 ALL_LDFLAGS+=-m32
endif 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 # debug and release linker flags
ifeq ($(CONFIG), CONSOLE) ifeq ($(CONFIG), CONSOLE)
LDFLAGS = $(ALL_LDFLAGS) LDFLAGS = $(ALL_LDFLAGS)