include config.mk Q?=@ SRC=$(wildcard **/*.c) SRC+=$(wildcard teensy/platform/${PLATFORM}/**/*.c) SRC+=$(wildcard teensy/platform/${PLATFORM}/*.c) OBJ=$(SRC:%.c=.obj/%.o) .PHONY: all echo run clean full-clean all: Makefile.dep ${OUT} echo: $(Q)echo CFLAGS=${CFLAGS} $(Q)echo LDFLAGS=${LDFLAGS} $(Q)echo SRC=${SRC} $(Q)echo OBJ=${OBJ} ${OUT}: ${OBJ} $(Q)echo linking $@ $(Q)${CC} -o $@ ${LDFLAGS} ${OBJ} .obj/%.o: %.c $(Q)mkdir -p ${@D} $(Q)echo ${CC} $< $(Q)${CC} -c -o $@ ${CFLAGS} $< Makefile.dep: ${SRC} $(Q)echo update $@ $(Q)${CC} ${CFLAGS} ${SRC} -MM > $@ run: all ${RUN_CMD} ./${OUT} clean: rm -f ${OBJ} ${OUT} # Don't use this unless you are fine with your custom config getting deleted full-clean: clean rm -rf .obj config.mk include Makefile.dep