annotate buildsys/nmake/tool_gcc.nmake @ 632:ed19b429a152

- added explicit arm64 target, and clang tool options to Windows' configure.bat - configure.{bat,rc} now writing Makefile.config, for consistency/compatibility (e.g. configure.bat can now be used to set up env flags for a non-nmake toolchain) - simplified/decluttered Windows and Plan9 configure scripts (removal of unused/stale options, ...) - removed stale test/makepkg.sh helper
author Tassilo Philipp
date Sat, 19 Nov 2022 15:45:41 +0100
parents 3e629dc19168
children
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 #
632
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
3 # Copyright (c) 2007-2022 Daniel Adler <dadler@uni-goettingen.de>,
0
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
632
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
28 CC =gcc
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
29 CXX =g++
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
30 AR =ar
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
31 AS =as
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
32 LD =g++#ld
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
33 OCP =objcopy
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
34
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
35
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
36 !IF "$(BUILD_OS)" == "nds"
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
37
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
38 CC =arm-eabi-gcc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
39 CXX =arm-eabi-g++
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
40 AR =arm-eabi-ar
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
41 AS =arm-eabi-as
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
42 LD =arm-eabi-g++#arm-eabi-ld
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
43 OCP =arm-eabi-objcopy
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
44
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
45 !IF "$(BUILD_ARCH)" == "arm32_thumb"
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
46
632
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
47 ASFLAGS = -mthumb -mthumb-interwork
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
48 CFLAGS = -Wall -O2 -I$(TOP)\dyncall -I$(TOP)\dyncallback -fomit-frame-pointer -ffast-math -fno-strict-aliasing -mthumb -mthumb-interwork
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
49 CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
632
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
50 LDFLAGS = -mno-fpu -mthumb -mthumb-interwork
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
51 ARFLAGS =
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
52
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
53 !ELSE IF "$(BUILD_ARCH)" == "arm32_arm"
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
54
632
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
55 ASFLAGS =
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
56 CFLAGS = -Wall -O2 -I$(TOP)\dyncall -I$(TOP)\dyncallback -fomit-frame-pointer -ffast-math -fno-strict-aliasing
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
57 CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
632
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
58 LDFLAGS = -mno-fpu
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
59 ARFLAGS =
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
60
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
61 !ENDIF
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
62
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
63 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
64 CXXFLAGS = $(CXXFLAGS) -D__nds__ -I"$(DEVKITPRO_PATH)/libnds/include"
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
65 LDFLAGS = $(LDFLAGS) -specs=ds_arm9.specs
632
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
66
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
67 !ENDIF
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
68
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
69
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
70 .SUFFIXES:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
71 .SUFFIXES: .o .so .a .arm9 .nds .pdf .c .cpp .S .tex .cc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
72
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
73
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
74 .S.o:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
75 echo .S.o: Assembling $< ...
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
76 $(CC) $(ASFLAGS) $(CFLAGS) -o $@ -c $<
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
77
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
78 .c.o:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
79 echo .c.o: Compiling $< ...
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
80 $(CC) $(CFLAGS) -o $@ -c $<
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
81
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
82 .cpp.o:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
83 echo .cpp.o: Compiling $< ...
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
84 $(CXX) $(CXXFLAGS) -o $@ -c $<
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
85
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
86 .cc.o:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
87 echo .cc.o: Compiling $< ...
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
88 $(CXX) $(CXXFLAGS) -o $@ -c $<
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
89
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
90 .tex.pdf:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
91 pdflatex $<
632
ed19b429a152 - added explicit arm64 target, and clang tool options to Windows' configure.bat
Tassilo Philipp
parents: 0
diff changeset
92