view test/dynload_plain/Nmakefile @ 308:7c6f19d42b31

dynload UTF-8 support for library paths: - added missing support to windows - added test code for all platforms to dynload_plain - doc update
author Tassilo Philipp
date Thu, 24 Oct 2019 23:19:20 +0200
parents 0592eb360af2
children 655cafde0859
line wrap: on
line source

#//////////////////////////////////////////////////////////////////////////////
#
# Copyright (c) 2017 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.
#
#//////////////////////////////////////////////////////////////////////////////

#///////////////////////////////////////////////////
#
#	nmake makefile
#	Nmakefile
#
#///////////////////////////////////////////////////


TOP = ..\..

!INCLUDE $(TOP)\buildsys\nmake\prolog.nmake


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

TEST_U8_SO = dynload_plain_ß_test # this non-ASCII character seems to work in Nmakefiles *iff* the utf-8/BOM mark is present
TARGETS = dynload_plain.exe $(TEST_U8_SO)
OBJS = dynload_plain.obj

dynload_plain.exe: $(OBJS)
	echo Linking $@ ...
	$(LD) /OUT:"$@" $(LDFLAGS) $(OBJS) $(TOP)\dynload\libdynload_s.lib $(TOP)\dyncall\libdyncall_s.lib

$(TEST_U8_SO):
	echo Building helper lib with UTF-8 path $(TEST_U8_SO) ...
	echo.int dynload_plain_testfunc^(^) { return 5; } > x.c
	type x.c
	$(CC) x.c /link /DLL /OUT:$(TEST_U8_SO)
	del x.c x.obj


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

TARGETS = dynload_plain.nds
OBJS = dynload_plain.o

$(TARGETS):# $(OBJS)
	echo Not building: There is no dynload support on this platform.
#	echo Linking $@ ...
#	$(LD) $(LDFLAGS) $(OBJS) $(DEVKITPRO_PATH)\libnds\lib\libnds9.a $(TOP)\dynload\libdynload_s.a $(TOP)/dyncall/libdyncall_s.a -o "$(@B).elf"
#	$(OCP) -O binary "$(@B).elf" "$(@B).arm9"
#	ndstool -c "$@" -9 "$(@B).arm9"
#	del "$(@B).elf" "$(@B).arm9"

!ENDIF


!INCLUDE $(TOP)\buildsys\nmake\epilog.nmake