make: update Makefile

This commit is contained in:
Markus F.X.J. Oberhumer 2022-12-12 05:32:04 +01:00
parent 4cdf77e16f
commit 7256ea3b32
1 changed files with 26 additions and 22 deletions

View File

@ -14,20 +14,6 @@ ifneq ($(VERBOSE),)
UPX_CMAKE_BUILD_FLAGS += --verbose
endif
# check git submodules
ifeq ($(wildcard ./vendor/doctest/doctest/.),)
$(error ERROR: missing git submodule; run 'git submodule update --init')
endif
ifeq ($(wildcard ./vendor/lzma-sdk/C/.),)
$(error ERROR: missing git submodule; run 'git submodule update --init')
endif
ifeq ($(wildcard ./vendor/ucl/include/.),)
$(error ERROR: missing git submodule; run 'git submodule update --init')
endif
ifeq ($(wildcard ./vendor/zlib/crc32.c),)
$(error ERROR: missing git submodule; run 'git submodule update --init')
endif
#***********************************************************************
# default
#***********************************************************************
@ -55,35 +41,53 @@ release: build/release
#***********************************************************************
# force building with gcc/g++
build/%-gcc: export CC=gcc
build/%-gcc: export CXX=g++
build/debug-gcc: PHONY
$(call run_config,$@,Debug)
$(call run_build,$@,Debug)
build/release-gcc: PHONY
$(call run_config,$@,Release)
$(call run_build,$@,Release)
build/%-gcc: export CC=gcc
build/%-gcc: export CXX=g++
# force building with clang/clang++
build/%-clang: export CC=clang
build/%-clang: export CXX=clang++
build/debug-clang: PHONY
$(call run_config,$@,Debug)
$(call run_build,$@,Debug)
build/release-clang: PHONY
$(call run_config,$@,Release)
$(call run_build,$@,Release)
build/%-clang: export CC=clang
build/%-clang: export CXX=clang++
# cross compiler: Windows mingw-w64
build/%-cross-mingw64: export CC=x86_64-w64-mingw32-gcc
build/%-cross-mingw64: export CXX=x86_64-w64-mingw32-g++
# disable sanitize to avoid link errors on GitHub CI
build/%-cross-mingw64: UPX_CMAKE_CONFIG_FLAGS += -DUPX_CONFIG_DISABLE_SANITIZE=1
build/debug-cross-mingw64: PHONY
$(call run_config,$@,Debug)
$(call run_build,$@,Debug)
build/release-cross-mingw64: PHONY
$(call run_config,$@,Release)
$(call run_build,$@,Release)
build/%-cross-mingw64: export CC=x86_64-w64-mingw32-gcc
build/%-cross-mingw64: export CXX=x86_64-w64-mingw32-g++
# disable sanitize to avoid link errors on GitHub CI
build/%-cross-mingw64: UPX_CMAKE_CONFIG_FLAGS += -DUPX_CONFIG_DISABLE_SANITIZE=1
#***********************************************************************
# misc
#***********************************************************************
.PHONY: PHONY
# check git submodules
ifeq ($(wildcard ./vendor/doctest/doctest/.),)
$(error ERROR: missing git submodule; run 'git submodule update --init')
endif
ifeq ($(wildcard ./vendor/lzma-sdk/C/.),)
$(error ERROR: missing git submodule; run 'git submodule update --init')
endif
ifeq ($(wildcard ./vendor/ucl/include/.),)
$(error ERROR: missing git submodule; run 'git submodule update --init')
endif
ifeq ($(wildcard ./vendor/zlib/crc32.c),)
$(error ERROR: missing git submodule; run 'git submodule update --init')
endif