Subversion Repositories HelenOS

Rev

Rev 4556 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
502 decky 1
#
2
# Copyright (C) 2005 Martin Decky
3
# All rights reserved.
4
#
5
# Redistribution and use in source and binary forms, with or without
6
# modification, are permitted provided that the following conditions
7
# are met:
8
#
9
# - Redistributions of source code must retain the above copyright
10
#   notice, this list of conditions and the following disclaimer.
11
# - Redistributions in binary form must reproduce the above copyright
12
#   notice, this list of conditions and the following disclaimer in the
13
#   documentation and/or other materials provided with the distribution.
14
# - The name of the author may not be used to endorse or promote products
15
#   derived from this software without specific prior written permission.
16
#
17
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
#
28
 
4466 decky 29
CFLAGS = -I$(LIBC_PREFIX)/include -O3 -imacros $(LIBC_PREFIX)/../../../config.h \
4556 decky 30
	-fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) \
31
	-finput-charset=UTF-8 -fno-builtin -Wall -Wextra -Wno-unused-parameter \
32
	-Wmissing-prototypes -Werror-implicit-function-declaration -nostdlib \
33
	-nostdinc -pipe -g -D__$(ENDIANESS)__
1670 decky 34
LFLAGS = -M -N $(SOFTINT_PREFIX)/libsoftint.a
502 decky 35
AFLAGS =
36
 
3885 svoboda 37
## Cross-toolchain prefix
38
#
39
 
40
ifndef CROSS_PREFIX
41
	CROSS_PREFIX = /usr/local
42
endif
43
 
502 decky 44
## Setup platform configuration
45
#
46
 
3882 decky 47
-include $(LIBC_PREFIX)/../../../Makefile.config
48
-include $(LIBC_PREFIX)/../../../config.defs
49
-include $(LIBC_PREFIX)/arch/$(UARCH)/Makefile.inc
502 decky 50
 
2489 jermar 51
## Simple detection of the host system
52
#
53
HOST = $(shell uname)
54
 
55
## On Solaris, some utilities have different names
56
#
57
ifeq ($(HOST),SunOS)
58
	BINUTILS_PREFIX = "g"
59
else
60
	BINUTILS_PREFIX = ""
61
endif
62
 
502 decky 63
## Toolchain configuration
64
#
65
 
2438 decky 66
ifeq ($(COMPILER),gcc_native)
502 decky 67
	CC = gcc
2489 jermar 68
	AS = $(BINUTILS_PREFIX)as
69
	LD = $(BINUTILS_PREFIX)ld
70
	AR = $(BINUTILS_PREFIX)ar
71
	OBJCOPY = $(BINUTILS_PREFIX)objcopy
72
	OBJDUMP = $(BINUTILS_PREFIX)objdump
3882 decky 73
	DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)
2438 decky 74
endif
75
 
76
ifeq ($(COMPILER),icc_native)
77
	CC = icc
78
	AS = as
79
	LD = ld
80
	AR = ar
81
	OBJCOPY = objcopy
82
	OBJDUMP = objdump
3882 decky 83
	DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)
2438 decky 84
endif
85
 
86
ifeq ($(COMPILER),gcc_cross)
502 decky 87
	CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc
88
	AS = $(TOOLCHAIN_DIR)/$(TARGET)-as
89
	LD = $(TOOLCHAIN_DIR)/$(TARGET)-ld
90
	AR = $(TOOLCHAIN_DIR)/$(TARGET)-ar
91
	OBJCOPY = $(TOOLCHAIN_DIR)/$(TARGET)-objcopy
92
	OBJDUMP = $(TOOLCHAIN_DIR)/$(TARGET)-objdump
3882 decky 93
	DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)
502 decky 94
endif