annotate Makefile.generic @ 533:71c884e610f0

- integration of patches from Raphael Luba, Thekla, Inc.: * integration of aggregate-by-value (struct, union) support patch for x64 (win and sysv) * windows/x64 asm additions to specify how stack unwinds (help for debuggers, exception handling, etc.) * see Changelog for details - new calling convention modes for thiscalls (platform agnostic, was specific before) * new signature character for platform agnostic thiscalls ('*' / DC_SIGCHAR_CC_THISCALL) - dcCallF(), dcVCallF(), dcArgF() and dcVArgF(): * added support for aggregates-by-value (wasn't part of patch) * change that those functions don't implicitly call dcReset() anymore, which was unflexible (breaking change) - added macros to feature test implementation for aggregate-by-value and syscall support - changed libdyncall_s.lib and libdyncallback_s.lib order in callback test makefiles, as some toolchains are picky about order - doc: * man page updates to describe aggregate interface * manual overview changes to highlight platforms with aggregate-by-value support - test/plain: replaced tests w/ old/stale sctruct interface with new aggregate one
author Tassilo Philipp
date Thu, 21 Apr 2022 13:35:47 +0200
parents 76b75fd84c72
children d1fa4b5a41f7
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 .PHONY: all clean install tests docs run-tests clean distclean libdyncall libdyncallback libdynload
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2 all: libdyncall libdyncallback libdynload
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
3 install: all install-libdyncall install-libdyncallback install-libdynload
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
4 libdyncall:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
5 cd dyncall && ${MAKE} all
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
6 libdyncallback:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
7 cd dyncallback && ${MAKE} all
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
8 libdynload:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
9 cd dynload && ${MAKE} all
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
10 install-libdyncall: libdyncall
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
11 cd dyncall && ${MAKE} install
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
12 install-libdyncallback: libdyncallback
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
13 cd dyncallback && ${MAKE} install
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
14 install-libdynload: libdynload
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
15 cd dynload && ${MAKE} install
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
16 clean:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
17 cd dyncall && ${MAKE} $@
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
18 cd dynload && ${MAKE} $@
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
19 cd dyncallback && ${MAKE} $@
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
20 cd test && ${MAKE} $@
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
21 cd doc && ${MAKE} $@
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
22 tests: tests-libdyncall tests-libdyncallback tests-libdynload
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
23 tests-libdyncall: libdyncall
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
24 cd test && ${MAKE} all-dyncall
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
25 tests-libdyncallback: libdyncallback
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
26 cd test && ${MAKE} all-dyncallback
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
27 tests-libdynload: libdynload
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
28 cd test && ${MAKE} all-dynload
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
29 docs:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
30 cd doc && ${MAKE} all
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
31 run-tests: all
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
32 cd test && ${MAKE} $@
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
33 distclean: clean
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
34 rm -f Makefile.config
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
35 find . -type f -name "Makefile.generic" | sed s/\.generic$$// | xargs rm
133
089df1eee6d0 - added debug help 'show-compiler-predefs' target to Makefile.generic
cslag
parents: 0
diff changeset
36 show-compiler-predefs:
089df1eee6d0 - added debug help 'show-compiler-predefs' target to Makefile.generic
cslag
parents: 0
diff changeset
37 ${CC} ${CFLAGS} -dM -E - < /dev/null
380
76b75fd84c72 makefile helper target to quickly list toolchain versions of current platform
Tassilo Philipp
parents: 133
diff changeset
38 show-tool-versions:
76b75fd84c72 makefile helper target to quickly list toolchain versions of current platform
Tassilo Philipp
parents: 133
diff changeset
39 ${CC} -v
76b75fd84c72 makefile helper target to quickly list toolchain versions of current platform
Tassilo Philipp
parents: 133
diff changeset
40 ${LD} -v
76b75fd84c72 makefile helper target to quickly list toolchain versions of current platform
Tassilo Philipp
parents: 133
diff changeset
41 ${MAKE} -v 2>/dev/null || echo ${MAKE} ${MAKE_VERSION}
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
42