|
@@ -3037,15 +3037,21 @@ macro _SRC("rodata", SRC, SRCFLAGS...) {
|
|
|
.SEM=target_rodata_sources PRIVATE ${input:SRC} ${output;hide;suf=${OBJ_SUF}.o:SRC} ${input;hide:"build/scripts/rodata2cpp.py"}
|
|
|
}
|
|
|
|
|
|
-# tag:src-processing
|
|
|
-macro _SRC("S", SRC, SRCFLAGS...) {
|
|
|
+macro _SRS_S_ASM(SRC, SRCFLAGS...) {
|
|
|
.CMD=$C_COMPILER $C_FLAGS_PLATFORM $CFLAGS $SFLAGS $SRCFLAGS -c -o ${output:SRC.o} ${input:SRC} $TOOLCHAIN_ENV ${pre=-I:_C__INCLUDE}
|
|
|
.SEM=target_sources PRIVATE ${input:SRC} ${output;hide;suf=${OBJ_SUF}.o:SRC} $_ADD_EXTRA_FLAGS($SRCFLAGS) && add_language ASM
|
|
|
}
|
|
|
|
|
|
+# tag:src-processing
|
|
|
+macro _SRC("S", SRC, SRCFLAGS...) {
|
|
|
+ .CMD=$_SRS_S_ASM($SRC, $SRCFLAGS)
|
|
|
+ .SEM=$_SRS_S_ASM($SRC, $SRCFLAGS)
|
|
|
+}
|
|
|
+
|
|
|
# tag:src-processing
|
|
|
macro _SRC("s", SRC, SRCFLAGS...) {
|
|
|
- .CMD=$_SRC(S, $SRC $SRCFLAGS)
|
|
|
+ .CMD=$_SRS_S_ASM($SRC, $SRCFLAGS)
|
|
|
+ .SEM=$_SRS_S_ASM($SRC, $SRCFLAGS)
|
|
|
}
|
|
|
|
|
|
# tag:src-processing
|
|
@@ -3226,11 +3232,8 @@ macro _SRC("m", SRC, SRCFLAGS...) {
|
|
|
.CMD=$_SRC(c $SRC $SRCFLAGS)
|
|
|
}
|
|
|
|
|
|
-# tag:src-processing
|
|
|
-macro _SRC("masm", SRC, SRCFLAGS...) {
|
|
|
- .CMD=$_SRC_masm($SRC $SRCFLAGS)
|
|
|
-}
|
|
|
-
|
|
|
+MASM_SEM=target_sources PRIVATE ${input:SRC} ${output;hide;suf=${OBJ_SUF}.o:SRC} \
|
|
|
+ && curdir_masm_flags ${MASMFLAGS}
|
|
|
YASM_SEM=target_yasm_source PRIVATE ${input:SRC} ${output;hide;suf=${OBJ_SUF}.o:SRC} $YASM_FLAGS ${pre=-I :_ASM__INCLUDE} $SRCFLAGS ${pre=-P :PREINCLUDES} ${input;hide:"build/scripts/run_tool.py"} \
|
|
|
&& set_global_flags YASM_FLAGS -f ${_YASM_FMT_VALUE}${HARDWARE_ARCH} $_YASM_PLATFORM_FLAGS_VALUE -D ${pre=_;suf=_:HARDWARE_TYPE} -D_YASM_ $ASM_PREFIX_VALUE $_YASM_PREDEFINED_FLAGS_VALUE \
|
|
|
&& add_language ASM \
|
|
@@ -3239,6 +3242,12 @@ ASM_SEM=target_yasm_source PRIVATE ${input:SRC} ${output;hide;suf=${OBJ_SUF}.o:S
|
|
|
&& set_global_flags YASM_FLAGS -f ${_YASM_FMT_VALUE}${HARDWARE_ARCH} $_YASM_PLATFORM_FLAGS_VALUE -D ${pre=_;suf=_:HARDWARE_TYPE} -D_YASM_ $ASM_PREFIX_VALUE $_YASM_PREDEFINED_FLAGS_VALUE \
|
|
|
&& add_language ASM \
|
|
|
&& conan_require_tool yasm/1.3.0 && conan_import '"bin, *yasm* -> ./bin"' && conan_import '"bin, ytasm* -> ./bin"'
|
|
|
+# tag:src-processing
|
|
|
+macro _SRC("masm", SRC, SRCFLAGS...) {
|
|
|
+ .CMD=$_SRC_masm($SRC $SRCFLAGS)
|
|
|
+ .SEM=$MASM_SEM
|
|
|
+}
|
|
|
+
|
|
|
# tag:src-processing
|
|
|
macro _SRC("yasm", SRC, SRCFLAGS...) {
|
|
|
.CMD=$_SRC_yasm($SRC $SRCFLAGS PREINCLUDES $YASM_PREINCLUDES_VALUE)
|