annotate buildsys/nmake/tool_gcc.nmake @ 457:90b1d927912a

- suite_aggrs: make sure random memory used doesn't ever result in NaN fp values (for every possible address), as this messes with result comparison
author Tassilo Philipp
date Fri, 28 Jan 2022 14:11:21 +0100
parents 3e629dc19168
children ed19b429a152
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
1 #//////////////////////////////////////////////////////////////////////////////
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2 #
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
3 # Copyright (c) 2007,2009 Daniel Adler <dadler@uni-goettingen.de>,
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
4 # Tassilo Philipp <tphilipp@potion-studios.com>
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
5 #
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
6 # Permission to use, copy, modify, and distribute this software for any
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
8 # copyright notice and this permission notice appear in all copies.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
9 #
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
17 #
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
18 #//////////////////////////////////////////////////////////////////////////////
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
19
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
20 #///////////////////////////////////////////////////
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
21 #
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
22 # GCC nmake rules
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
23 # tool_gcc.nmake
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
24 #
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
25 #///////////////////////////////////////////////////
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
26
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
27
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
28 CC =arm-eabi-gcc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
29 CXX =arm-eabi-g++
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
30 AR =arm-eabi-ar
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
31 AS =arm-eabi-as
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
32 LD =arm-eabi-g++#arm-eabi-ld
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
33 OCP =arm-eabi-objcopy
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
34
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
35 !IF "$(BUILD_ARCH)" == "arm32_thumb"
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
36
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
37 ASFLAGS = -g -mthumb -mthumb-interwork
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
38 CFLAGS = -g -Wall -O2 -I$(TOP)\dyncall -I$(TOP)\dyncallback -fomit-frame-pointer -ffast-math -fno-strict-aliasing -mthumb -mthumb-interwork
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
39 CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
40 LDFLAGS = -g -mno-fpu -mthumb -mthumb-interwork
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
41 ARFLAGS =
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
42
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
43 !ELSE IF "$(BUILD_ARCH)" == "arm32_arm"
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
44
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
45 ASFLAGS = -g
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
46 CFLAGS = -g -Wall -O2 -I$(TOP)\dyncall -I$(TOP)\dyncallback -fomit-frame-pointer -ffast-math -fno-strict-aliasing
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
47 CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
48 LDFLAGS = -g -mno-fpu
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
49 ARFLAGS =
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
50
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
51 !ENDIF
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
52
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
53
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
54 !IF "$(BUILD_OS)" == "nds"
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
55 CFLAGS = $(CFLAGS) -DARM9 -mcpu=arm9tdmi -mtune=arm9tdmi -D__nds__ -I"$(DEVKITPRO_PATH)/libnds/include"
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
56 CXXFLAGS = $(CXXFLAGS) -D__nds__ -I"$(DEVKITPRO_PATH)/libnds/include"
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
57 LDFLAGS = $(LDFLAGS) -specs=ds_arm9.specs
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
58 !ENDIF
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
59
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
60
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
61 .SUFFIXES:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
62 .SUFFIXES: .o .so .a .arm9 .nds .pdf .c .cpp .S .tex .cc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
63
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
64
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
65 .S.o:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
66 echo .S.o: Assembling $< ...
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
67 $(CC) $(ASFLAGS) $(CFLAGS) -o $@ -c $<
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
68
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
69 .c.o:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
70 echo .c.o: Compiling $< ...
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
71 $(CC) $(CFLAGS) -o $@ -c $<
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
72
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
73 .cpp.o:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
74 echo .cpp.o: Compiling $< ...
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
75 $(CXX) $(CXXFLAGS) -o $@ -c $<
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
76
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
77 .cc.o:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
78 echo .cc.o: Compiling $< ...
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
79 $(CXX) $(CXXFLAGS) -o $@ -c $<
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
80
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
81 .tex.pdf:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
82 pdflatex $<