CC = gcc AS = nasm LD = ld CFLAGS = -g -no-pie ASFLAGS = -g -F dwarf -f elf64 LFLAGS = ASSEMBLIES = $(wildcard *.asm) PROGRAMS = $(patsubst %.asm, bin/%, ${ASSEMBLIES}) .PHONY: all clean all: bin build ${PROGRAMS} clean: -rm -r build -rm -r bin bin: mkdir bin build: mkdir build build/%.o: %.asm ${AS} ${ASFLAGS} $< -o $@ bin/6_clib: build/6_clib.o ${CC} ${CFLAGS} $< -o $@ ${LFLAGS} bin/%: build/%.o ${LD} $< -o $@