File: Makefile.toolchain

package info (click to toggle)
libstatgen 1.0.15-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,588 kB
  • sloc: cpp: 49,624; ansic: 1,408; makefile: 320; sh: 60
file content (78 lines) | stat: -rw-r--r-- 1,950 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#
# This file allows us to create windows
# 32 and 64 bit binaries instead of binaries
# for the compiling host.  It assumes that the
# GNU compiler suite is the compiler for all
# three targets.
#
# TARGET is a bit of a misnomer.  The goal is
# really to allow different toolchains to be used
# to build the system.
#
# Supported TARGET values include:
#
# mingw32
# mingw64 (except c++, so mostly not)
# llvm
# clang
#
# Typical use is to say at the toplevel:
#   make
#   or
#   make TARGET=mingw32
#   or
#   make TARGET=mingw64
#
# But you can also just set it here:
#
# TARGET=mingw32

ifeq ($(TARGET),mingw)
	TARGET=mingw32
endif

TOOLCHAIN_DIR=

ifeq ($(TARGET), mingw32)
TOOLCHAIN_PREFIX=i586-mingw32msvc-
else ifeq ($(TARGET), mingw64)
TOOLCHAIN_PREFIX=amd64-mingw32msvc-
else ifeq ($(TARGET),llvm)
TOOLCHAIN_PREFIX=llvm-
else
TOOLCHAIN_PREFIX=
endif

UNAME:=$(shell uname)
UNAME_LIBS:=
ifeq ($(UNAME:MINGW32%=MINGW32),MINGW32)
        UNAME_LIBS=-lwsock32
endif

# CPP0X=-std=c++0x

CXX     = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)g++ $(CPP0X)
CC      = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)gcc
LD      = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)ld
AR      = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)ar
RANLIB  = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)ranlib
OBJCOPY = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)objcopy
OBJDUMP = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)objdump
STRIP   = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)strip
NM      = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)nm
SIZE    = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)size
CPP     = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)cpp
AS      = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)as
F77     = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)gfortran

# 
# clang is a drop in replacement for c++ and cc:
#
ifeq ($(TARGET), clang)
CXX=clang
CC=clang
endif

CCVERSION = $(shell $(CC) -dumpversion )

EXPORT_TOOLCHAIN="export RANLIB=$(RANLIB); export AR=$(AR); export CC='$(CC)'; export CXX='$(CXX)'; export LD=$(LD); export CCVERSION=$(CCVERSION)"