CC=/usr/local/gcc6/bin/gcc CPPFLAGS= CFLAGS=-O2 -Wall -Wextra -std=c11 all: ss-darwin-strict-aliasing ss-darwin-no-strict-aliasing all: ss-musl0-strict-aliasing ss-musl0-no-strict-aliasing all: ss-musl1-strict-aliasing ss-musl1-no-strict-aliasing all: ss-musl2-strict-aliasing ss-musl2-no-strict-aliasing ss-darwin-strict-aliasing ss-darwin-no-strict-aliasing: ss.c $(CC) -o $@ ss.c $(CPPFLAGS) $(CFLAGS) -f$(@:ss-darwin-%=%) ss-musl0-strict-aliasing ss-musl0-no-strict-aliasing: ss.c $(CC) -o $@ ss.c $(CPPFLAGS) -DMUSL_PATCH=0 $(CFLAGS) -f$(@:ss-musl0-%=%) ss-musl1-strict-aliasing ss-musl1-no-strict-aliasing: ss.c $(CC) -o $@ ss.c $(CPPFLAGS) -DMUSL_PATCH=1 $(CFLAGS) -f$(@:ss-musl1-%=%) ss-musl2-strict-aliasing ss-musl2-no-strict-aliasing: ss.c $(CC) -o $@ ss.c $(CPPFLAGS) -DMUSL_PATCH=2 $(CFLAGS) -f$(@:ss-musl2-%=%) test: all @for T in ss-darwin* ss-musl*; do \ printf "== %s ==\n" "$${T}"; \ "./$${T}"; \ printf "\n"; \ done clean: rm -f -- ./ss-darwin* ./ss-musl*