CC := gcc CFLAGS := -Wall -Wextra -std=c11 -O2 -fwrapv BIN := bfcomp SNIPPETS := $(wildcard *.snippet.asm) SNIPPETHEADERS := $(patsubst %.asm,%.asm.h,$(SNIPPETS)) .PHONY: all clean remake all: $(BIN) clean: rm -rf $(BIN) *.asm.h *.dSYM remake: clean all $(BIN): $(wildcard *.c *.h) $(SNIPPETHEADERS) $(CC) $(CFLAGS) -o $@ $(filter-out %.h,$^) %.asm.h: %.asm (printf '#pragma once\n\n'; xxd -i $^ | sed 's/[0-9a-f]$$/&, 0x00/' | sed 's/unsigned //g') >$@