view 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
line wrap: on
line source

#//////////////////////////////////////////////////////////////////////////////
#
# Copyright (c) 2007-2022 Daniel Adler <dadler@uni-goettingen.de>,
#                         Tassilo Philipp <tphilipp@potion-studios.com>
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
#//////////////////////////////////////////////////////////////////////////////

#///////////////////////////////////////////////////
#
#	GCC nmake rules
#	tool_gcc.nmake
#
#///////////////////////////////////////////////////


CC  =gcc
CXX =g++
AR  =ar
AS  =as
LD  =g++#ld
OCP =objcopy


!IF "$(BUILD_OS)" == "nds"

CC  =arm-eabi-gcc
CXX =arm-eabi-g++
AR  =arm-eabi-ar
AS  =arm-eabi-as
LD  =arm-eabi-g++#arm-eabi-ld
OCP =arm-eabi-objcopy

!IF "$(BUILD_ARCH)" == "arm32_thumb"

ASFLAGS  = -mthumb -mthumb-interwork
CFLAGS   = -Wall -O2 -I$(TOP)\dyncall -I$(TOP)\dyncallback -fomit-frame-pointer -ffast-math -fno-strict-aliasing -mthumb -mthumb-interwork
CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
LDFLAGS  = -mno-fpu -mthumb -mthumb-interwork
ARFLAGS  =

!ELSE IF "$(BUILD_ARCH)" == "arm32_arm"

ASFLAGS  = 
CFLAGS   = -Wall -O2 -I$(TOP)\dyncall -I$(TOP)\dyncallback -fomit-frame-pointer -ffast-math -fno-strict-aliasing
CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
LDFLAGS  = -mno-fpu
ARFLAGS  =

!ENDIF

CFLAGS   = $(CFLAGS) -DARM9 -mcpu=arm9tdmi -mtune=arm9tdmi -D__nds__ -I"$(DEVKITPRO_PATH)/libnds/include"
CXXFLAGS = $(CXXFLAGS) -D__nds__ -I"$(DEVKITPRO_PATH)/libnds/include"
LDFLAGS  = $(LDFLAGS) -specs=ds_arm9.specs

!ENDIF


.SUFFIXES:
.SUFFIXES: .o .so .a .arm9 .nds .pdf .c .cpp .S .tex .cc


.S.o:
	echo .S.o: Assembling $< ...
	$(CC) $(ASFLAGS) $(CFLAGS) -o $@ -c $<

.c.o:
	echo .c.o: Compiling $< ...
	$(CC) $(CFLAGS) -o $@ -c $<

.cpp.o:
	echo .cpp.o: Compiling $< ...
	$(CXX) $(CXXFLAGS) -o $@ -c $<

.cc.o:
	echo .cc.o: Compiling $< ...
	$(CXX) $(CXXFLAGS) -o $@ -c $<

.tex.pdf:
	pdflatex $<