Skip to content

Commit

Permalink
Makefile
Browse files Browse the repository at this point in the history
  • Loading branch information
powturbo committed Jan 8, 2020
1 parent 0cbba54 commit 08b86de
Showing 1 changed file with 30 additions and 34 deletions.
64 changes: 30 additions & 34 deletions makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# powturbo (c) Copyright 2015-2019
# powturbo (c) Copyright 2015-2020
# Linux: "export CC=clang" "export CXX=clang". windows mingw: "set CC=gcc" "set CXX=g++" or uncomment the CC,CXX lines
CC ?= gcc
CXX ?= g++
Expand All @@ -11,62 +11,58 @@ CXX ?= g++
#CC=powerpc64le-linux-gnu-gcc
#CXX=powerpc64le-linux-gnu-g++

DDEBUG=-DNDEBUG -s
#DDEBUG=-g

DEBUG=-DNDEBUG -s
#DEBUG=-g
CFLAGS=$(DEBUG)
#------- OS/ARCH -------------------
ifneq (,$(filter Windows%,$(OS)))
OS := Windows
CFLAGS+=-D__int64_t=int64_t
CC=gcc
CXX=g++
ARCH=x86_64
# CFLAGS+=-D__int64_t=int64_t
else
OS := $(shell uname -s)
ARCH := $(shell uname -m)
ifneq (,$(findstring powerpc64le,$(CC)))
ARCH = ppc64le
endif

ifneq (,$(findstring aarch64,$(CC)))
ARCH = aarch64
else ifneq (,$(findstring powerpc64le,$(CC)))
ARCH = ppc64le
endif
endif

#------ ARMv8
ifeq ($(ARCH),aarch64)
ifeq ($(ARCH),ppc64le)
CFLAGS=-mcpu=power9 -mtune=power9
MSSE=-D__SSSE3__
else ifeq ($(ARCH),aarch64)
CFLAGS+=-march=armv8-a
ifneq (,$(findstring clang, $(CC)))
MSSE=-O3 -march=armv8-a -mcpu=cortex-a72 -falign-loops -fomit-frame-pointer
CFLAGS+=-march=armv8-a -falign-loops -fomit-frame-pointer
else
MSSE=-O3 -march=armv8-a -mcpu=cortex-a72 -falign-loops -falign-labels -falign-functions -falign-jumps -fomit-frame-pointer
CFLAGS+=-march=armv8-a
endif

else
# ----- Power9
ifeq ($(ARCH),ppc64le)
MSSE=-D__SSE__ -D__SSE2__ -D__SSE3__ -D__SSSE3__
MARCH=-march=power9 -mtune=power9
CFLAGS+=-DNO_WARN_X86_INTRINSICS
CXXFLAGS+=-DNO_WARN_X86_INTRINSICS
#------ x86_64 : minimum SSE = Sandy Bridge, AVX2 = haswell
else
MSSE=-march=corei7-avx -mtune=corei7-avx
# -mno-avx -mno-aes (add for Pentium based Sandy bridge)
CFLAGS+=-mssse3
MAVX2=-march=haswell
MSSE=-march=armv8-a
else ifeq ($(ARCH),$(filter $(ARCH),x86_64 ppc64le))
CFLAGS=-march=native
MSSE=-mssse3
endif

ifeq (,$(findstring clang, $(CC)))
DEFS+=-falign-loops
endif
#$(info ARCH="$(ARCH)")

ifeq ($(OS),$(filter $(OS),Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD DragonFly NetBSD MSYS_NT Haiku))
LDFLAGS+=-lpthread -lm
ifneq ($(OS),Darwin)
ifeq ($(OS),$(filter $(OS),Linux GNU/kFreeBSD GNU OpenBSD FreeBSD DragonFly NetBSD MSYS_NT Haiku))
LDFLAGS+=-lrt
endif
ifeq ($(STATIC),1)
LDFLAGS+=-static
endif

# Minimum CPU architecture
#MARCH=-march=native
MARCH=$(MSSE)

ifeq ($(AVX2),1)
MARCH+=-mbmi2 -mavx2
#CFLAGS+=-DUSE_AVX2
#CXXFLAGS+=-DUSE_AVX2
else
AVX2=0
endif
Expand Down

0 comments on commit 08b86de

Please sign in to comment.