blob: 7fa7c8f2915ad6fc4fdd8f540637fc703553d023 [file] [log] [blame]
builddir = out
clang = ccache clang -fcolor-diagnostics -Weverything
gcc = ccache gcc-7 -fdiagnostics-color -Wall -Wextra
cflags = -Werror -Os
rule clang
command = $clang $cflags -MD -MF $out.d -c $in -o $out
depfile = $out.d
deps = gcc
rule gcc
command = $gcc $cflags -MD -MF $out.d -c $in -o $out
depfile = $out.d
deps = gcc
rule link
command = $clang $ldflags $in -o $out
rule run
command = ./$in > $out
build out/skcms.clang.o: clang skcms.c
build out/tests.clang.o: clang tests.c
build out/tests.clang: link out/skcms.clang.o out/tests.clang.o
build out/tests.clang.ok: run out/tests.clang
build out/skcms.gcc.o: gcc skcms.c
build out/tests.gcc.o: gcc tests.c
build out/tests.gcc: link out/skcms.gcc.o out/tests.gcc.o
build out/tests.gcc.ok: run out/tests.gcc
build out/skcms.san.o: clang skcms.c
cflags = $cflags -fsanitize=address,undefined
build out/tests.san.o: clang tests.c
cflags = $cflags -fsanitize=address,undefined
build out/tests.san: link out/skcms.san.o out/tests.san.o
ldflags = -fsanitize=address,undefined
build out/tests.san.ok: run out/tests.san