# var CC = gcc CFLAGS = -Wall -std=c11 -g -fno-stack-protector -z execstack CANARY = -Wall -std=c11 -g -fstack-protector --param ssp-buffer-size=64 AFLAGS = -S -Wall -std=c11 -g RM = /bin/rm # src, .o, .out SRC = ${wildcard *.c} ASM = ${SRC:.c=.s} OBJ = ${SRC:.c=.o} ELF = ${SRC:.c=.out} # targets all: ${ELF} : asm: ${ASM} : # rules ${ELF}: ${OBJ} ${CC} ${OBJ} -o ${ELF} # object %.o: %.c ${CC} -c ${CFLAGS} $< -o $@ %.s: %.c ${CC} ${AFLAGS} $< -o $@ # cleanall clean: ${RM} -f ${ELF} ${OBJ} ${ASM}