view test/Makefile.embedded @ 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 93628a1eaed4
children 917d5d213815
line wrap: on
line source

MAKEFILE = Makefile.embedded
MAKE_CMD = ${MAKE} -f ${MAKEFILE} 
all: all-dyncall all-dyncallback all-dynload
all-dynload:
	cd dynload_plain && ${MAKE_CMD}
	cd resolve_self && ${MAKE_CMD}
all-dyncall:
	cd call_suite && ${MAKE_CMD}
	cd call_suite_aggrs && ${MAKE_CMD}
	cd suite && ${MAKE_CMD}
	cd suite2 && ${MAKE_CMD}
	cd suite3 && ${MAKE_CMD}
	cd suite_floats && ${MAKE_CMD}
	cd callf && ${MAKE_CMD}
	cd plain && ${MAKE_CMD}
	cd plain_c++ && ${MAKE_CMD}
	cd ellipsis && ${MAKE_CMD}
all-dyncallback:
	cd thunk && ${MAKE_CMD}
	cd malloc_wx && ${MAKE_CMD}
	cd callback_plain && ${MAKE_CMD}
	cd callback_suite && ${MAKE_CMD}
	cd callback_suite_aggrs && ${MAKE_CMD}
all-c:
	cd plain && ${MAKE_CMD}
	cd syscall && ${MAKE_CMD}
	cd call_suite && ${MAKE_CMD}
	cd call_suite_aggrs && ${MAKE_CMD}
	cd suite && ${MAKE_CMD}
	cd callf && ${MAKE_CMD}
	cd dynload_plain && ${MAKE_CMD}
	cd resolve_self && ${MAKE_CMD}
	cd thunk && ${MAKE_CMD}
	cd malloc_wx && ${MAKE_CMD}
	cd callback_plain && ${MAKE_CMD}
	cd callback_suite && ${MAKE_CMD}
	cd callback_suite_aggrs && ${MAKE_CMD}
all-win32:
	cd suite_x86win32std  && ${MAKE_CMD}
	cd suite_x86win32fast && ${MAKE_CMD}
	cd suite2_x86win32std && ${MAKE_CMD}
	cd suite2_x86win32fast && ${MAKE_CMD}
run-all-win32:
	suite_X86win32std/suite_x86win32std
	suite_X86win32fast/suite_x86win32fast
	suite2_X86win32std/suite2_x86win32std
	suite2_X86win32fast/suite2_x86win32fast
all-unix:
	cd syscall && ${MAKE_CMD}
clean:
	cd plain && ${MAKE_CMD} clean
	cd plain_c++ && ${MAKE_CMD} clean
	cd syscall && ${MAKE_CMD} clean
	cd call_suite && ${MAKE_CMD} clean
	cd call_suite_aggrs && ${MAKE_CMD} clean
	cd suite && ${MAKE_CMD} clean
	cd suite2 && ${MAKE_CMD} clean
	cd suite3 && ${MAKE_CMD} clean
	cd suite_floats && ${MAKE_CMD} clean
	cd callback_plain && ${MAKE_CMD} clean
	cd callback_suite && ${MAKE_CMD} clean
	cd callback_suite_aggrs && ${MAKE_CMD} clean
	cd ellipsis && ${MAKE_CMD} clean
	cd callf && ${MAKE_CMD} clean
	cd dynload_plain && ${MAKE_CMD} clean
	cd resolve_self && ${MAKE_CMD} clean
	cd thunk && ${MAKE_CMD} clean
	cd malloc_wx && ${MAKE_CMD} clean
	cd syscall && ${MAKE_CMD} clean
bsd:
	LDLIBS="${LDLIBS} -lm" ${MAKE_CMD} all
linux:
	LDLIBS="${LDLIBS} -lm -ldl" ${MAKE_CMD} all
linux64:
	CFLAGS="${CFLAGS} -m64" CXXFLAGS="${CXXFLAGS} -m64" CCFLAGS="${CXXFLAGS} -m64" LDFLAGS="${LDFLAGS} -m64" LDLIBS="${LDLIBS} -lm -ldl" ${MAKE_CMD} all-c
mingw32:
	${MAKE_CMD} CC="gcc" all
osx:
	${MAKE_CMD} all
osx-template:
	CC="${CC} ${OSX_ARCH}" AS="${AS} ${OSX_ARCH}" CXX="${CXX} ${OSX_ARCH}" ${MAKE_CMD}
osx-universal:
	OSX_ARCH="-arch i386 -arch x86_64" ${MAKE_CMD} osx-template
osx-i386:
	OSX_ARCH="-arch i386" ${MAKE_CMD} osx-template
sun:
	CXX=CC LDLIBS="${LDLIBS} -lm" ${MAKE_CMD} all
sun-64bit:
	CXX=CC CFLAGS="${CFLAGS} -m64" CXXFLAGS="${CXXFLAGS} -m64" CCFLAGS="${CXXFLAGS} -m64" LDFLAGS="${LDFLAGS} -m64" LDLIBS="${LDLIBS} -lm" ${MAKE_CMD} all
sun-gcc:
	CC=gcc CCC=g++ CXX=g++ LDLIBS="${LDLIBS} -lm" ${MAKE_CMD} all
sun-gcc-64bit:
	CC=gcc CCC=g++ CXX=g++ CFLAGS="${CFLAGS} -m64" CXXFLAGS="${CXXFLAGS} -m64" CCFLAGS=-m64 LDFLAGS="${LDFLAGS} -m64" LDLIBS="${LDLIBS} -lm" ${MAKE_CMD} all
ios-sdkroot:
	\
  CC="${CC} ${IOS_ARCH} -miphoneos-version-min=${IOS_SDK}"\
  CXX="${CXX} ${IOS_ARCH} -miphoneos-version-min=${IOS_SDK}"\
  LD="${LD} ${IOS_ARCH} -miphoneos-version-min=${IOS_SDK}"\
  ASFLAGS="-isysroot ${IOS_SDKROOT}"\
  CFLAGS="-isysroot ${IOS_SDKROOT}"\
  CXXFLAGS="-isysroot ${IOS_SDKROOT}"\
  LDFLAGS="-Wl,-syslibroot ${IOS_SDKROOT}"\
  ${MAKE_CMD} all  
ios:
	IOS_SDKROOT="`xcode-select -print-path`/Platforms/iPhone${IOS_PLATFORM}.platform/Developer/SDKs/iPhone${IOS_PLATFORM}${IOS_SDK}.sdk" ${MAKE_CMD} ios-sdkroot
ios-sim:
	IOS_PLATFORM="Simulator" ${MAKE_CMD} ios
ios-os:
	IOS_PLATFORM="OS"        ${MAKE_CMD} ios
ios61-os:
	IOS_SDK="6.1" IOS_ARCH="-arch armv7"            ${MAKE_CMD} ios-os
ios61-os-no-thumb:
	IOS_SDK="6.1" IOS_ARCH="-arch armv7 -mno-thumb" ${MAKE_CMD} ios-os
ios61-sim:
	IOS_SDK="6.1" IOS_ARCH="-arch i386"             ${MAKE_CMD} ios-sim