contexts: - name: default env: bindir: "${build-dir}/out/${builder}/${app}" PREFIX: "" CC: ${PREFIX}gcc CXX: ${PREFIX}c++ LINK: ${PREFIX}gcc SIZE: ${PREFIX}size OBJCOPY: ${PREFIX}objcopy CFLAGS_WARN: - -Wall - -Werror CFLAGS: - -Os - -g tasks: info: cmd: - "echo binary: ${out}" - 'echo CFLAGS=\"${CFLAGS}\"' size: cmd: - "${SIZE} ${out}" rules: - name: CC description: CC ${out} in: "c" out: "o" gcc_deps: "$out.d" cmd: "${CC_WRAP} ${CC} -MD -MF $out.d ${CFLAGS_STD} ${CFLAGS_ARCH} ${CFLAGS_CODEGEN} ${CFLAGS_DEFINES} ${CFLAGS_WARN} ${CFLAGS_GCC} ${CFLAGS} ${includes} -c ${in} -o ${out}" - name: CXX description: CXX ${out} in: "cpp" out: "o" gcc_deps: "$out.d" cmd: "${CC_WRAP} ${CXX} -MMD -MF $out.d ${CXXFLAGS_STD} ${CXXFLAGS} ${CFLAGS_ARCH} ${CFLAGS_CODEGEN} ${CFLAGS_DEFINES} ${CFLAGS_WARN} ${CFLAGS_GCC} ${CFLAGS} ${includes} -c ${in} -o ${out}" - name: ASM description: ASM ${out} in: "S" out: "o" cmd: "${CC_WRAP} ${CC} ${CFLAGS} ${CFLAGS_ARCH} -c ${in} -o ${out}" - name: LINK description: LINK ${out} in: "o" cmd: "${LINK} ${LINKFLAGS} ${CFLAGS_STD} ${CFLAGS_ARCH} ${CFLAGS_CODEGEN} ${CFLAGS} ${in} ${libs} -o ${out}" - name: GIT_DOWNLOAD description: GIT_DOWNLOAD ${URL}@${COMMIT} cmd: "D=$$(dirname ${out}); rm -rf $$D && ${LAZE_BIN} git-clone ${url} ${commit} $$D && echo ${commit} > ${out}" - name: GIT_PATCH cmd: 'D=$$(dirname ${out}); PATCHES="$$(realpath --relative-to $$D ${in})"; git -C $$D --git-dir=.git --work-tree=. reset --hard $$(cat $${D}/.laze-downloaded) && git -C $$D am --ignore-whitespace $$PATCHES || (git -C $$D am --abort; false; ) && touch ${out}' builders: - name: host tasks: run: cmd: - ${out}