annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
308
7c6f19d42b31 dynload UTF-8 support for library paths:
Tassilo Philipp
parents: 214
diff changeset
1 #//////////////////////////////////////////////////////////////////////////////
214
Tassilo Philipp
parents:
diff changeset
2 #
Tassilo Philipp
parents:
diff changeset
3 # Copyright (c) 2017 Tassilo Philipp <tphilipp@potion-studios.com>
Tassilo Philipp
parents:
diff changeset
4 #
Tassilo Philipp
parents:
diff changeset
5 # Permission to use, copy, modify, and distribute this software for any
Tassilo Philipp
parents:
diff changeset
6 # purpose with or without fee is hereby granted, provided that the above
Tassilo Philipp
parents:
diff changeset
7 # copyright notice and this permission notice appear in all copies.
Tassilo Philipp
parents:
diff changeset
8 #
Tassilo Philipp
parents:
diff changeset
9 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
Tassilo Philipp
parents:
diff changeset
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
Tassilo Philipp
parents:
diff changeset
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
Tassilo Philipp
parents:
diff changeset
12 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
Tassilo Philipp
parents:
diff changeset
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
Tassilo Philipp
parents:
diff changeset
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
Tassilo Philipp
parents:
diff changeset
15 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Tassilo Philipp
parents:
diff changeset
16 #
Tassilo Philipp
parents:
diff changeset
17 #//////////////////////////////////////////////////////////////////////////////
Tassilo Philipp
parents:
diff changeset
18
Tassilo Philipp
parents:
diff changeset
19 #///////////////////////////////////////////////////
Tassilo Philipp
parents:
diff changeset
20 #
Tassilo Philipp
parents:
diff changeset
21 # nmake makefile
Tassilo Philipp
parents:
diff changeset
22 # Nmakefile
Tassilo Philipp
parents:
diff changeset
23 #
Tassilo Philipp
parents:
diff changeset
24 #///////////////////////////////////////////////////
Tassilo Philipp
parents:
diff changeset
25
Tassilo Philipp
parents:
diff changeset
26
Tassilo Philipp
parents:
diff changeset
27 TOP = ..\..
Tassilo Philipp
parents:
diff changeset
28
Tassilo Philipp
parents:
diff changeset
29 !INCLUDE $(TOP)\buildsys\nmake\prolog.nmake
Tassilo Philipp
parents:
diff changeset
30
Tassilo Philipp
parents:
diff changeset
31
Tassilo Philipp
parents:
diff changeset
32 !IF "$(BUILD_OS)" == "windows"
Tassilo Philipp
parents:
diff changeset
33
308
7c6f19d42b31 dynload UTF-8 support for library paths:
Tassilo Philipp
parents: 214
diff changeset
34 TEST_U8_SO = dynload_plain_ß_test # this non-ASCII character seems to work in Nmakefiles *iff* the utf-8/BOM mark is present
7c6f19d42b31 dynload UTF-8 support for library paths:
Tassilo Philipp
parents: 214
diff changeset
35 TARGETS = dynload_plain.exe $(TEST_U8_SO)
214
Tassilo Philipp
parents:
diff changeset
36 OBJS = dynload_plain.obj
Tassilo Philipp
parents:
diff changeset
37
308
7c6f19d42b31 dynload UTF-8 support for library paths:
Tassilo Philipp
parents: 214
diff changeset
38 dynload_plain.exe: $(OBJS)
214
Tassilo Philipp
parents:
diff changeset
39 echo Linking $@ ...
Tassilo Philipp
parents:
diff changeset
40 $(LD) /OUT:"$@" $(LDFLAGS) $(OBJS) $(TOP)\dynload\libdynload_s.lib $(TOP)\dyncall\libdyncall_s.lib
Tassilo Philipp
parents:
diff changeset
41
308
7c6f19d42b31 dynload UTF-8 support for library paths:
Tassilo Philipp
parents: 214
diff changeset
42 $(TEST_U8_SO):
7c6f19d42b31 dynload UTF-8 support for library paths:
Tassilo Philipp
parents: 214
diff changeset
43 echo Building helper lib with UTF-8 path $(TEST_U8_SO) ...
7c6f19d42b31 dynload UTF-8 support for library paths:
Tassilo Philipp
parents: 214
diff changeset
44 echo.int dynload_plain_testfunc^(^) { return 5; } > x.c
7c6f19d42b31 dynload UTF-8 support for library paths:
Tassilo Philipp
parents: 214
diff changeset
45 type x.c
7c6f19d42b31 dynload UTF-8 support for library paths:
Tassilo Philipp
parents: 214
diff changeset
46 $(CC) x.c /link /DLL /OUT:$(TEST_U8_SO)
7c6f19d42b31 dynload UTF-8 support for library paths:
Tassilo Philipp
parents: 214
diff changeset
47 del x.c x.obj
7c6f19d42b31 dynload UTF-8 support for library paths:
Tassilo Philipp
parents: 214
diff changeset
48
214
Tassilo Philipp
parents:
diff changeset
49
Tassilo Philipp
parents:
diff changeset
50 !ELSE IF "$(BUILD_OS)" == "nds"
Tassilo Philipp
parents:
diff changeset
51
Tassilo Philipp
parents:
diff changeset
52 TARGETS = dynload_plain.nds
Tassilo Philipp
parents:
diff changeset
53 OBJS = dynload_plain.o
Tassilo Philipp
parents:
diff changeset
54
Tassilo Philipp
parents:
diff changeset
55 $(TARGETS):# $(OBJS)
Tassilo Philipp
parents:
diff changeset
56 echo Not building: There is no dynload support on this platform.
Tassilo Philipp
parents:
diff changeset
57 # echo Linking $@ ...
Tassilo Philipp
parents:
diff changeset
58 # $(LD) $(LDFLAGS) $(OBJS) $(DEVKITPRO_PATH)\libnds\lib\libnds9.a $(TOP)\dynload\libdynload_s.a $(TOP)/dyncall/libdyncall_s.a -o "$(@B).elf"
Tassilo Philipp
parents:
diff changeset
59 # $(OCP) -O binary "$(@B).elf" "$(@B).arm9"
Tassilo Philipp
parents:
diff changeset
60 # ndstool -c "$@" -9 "$(@B).arm9"
Tassilo Philipp
parents:
diff changeset
61 # del "$(@B).elf" "$(@B).arm9"
Tassilo Philipp
parents:
diff changeset
62
Tassilo Philipp
parents:
diff changeset
63 !ENDIF
Tassilo Philipp
parents:
diff changeset
64
Tassilo Philipp
parents:
diff changeset
65
Tassilo Philipp
parents:
diff changeset
66 !INCLUDE $(TOP)\buildsys\nmake\epilog.nmake
Tassilo Philipp
parents:
diff changeset
67