2015-07-13 06:22:46 -04:00
|
|
|
# base
|
|
|
|
snippet base
|
|
|
|
.PHONY: clean, mrproper
|
|
|
|
CC = gcc
|
|
|
|
CFLAGS = -g -Wall
|
|
|
|
|
|
|
|
all: $1
|
|
|
|
|
|
|
|
%.o: %.c
|
|
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
|
|
|
|
${1:out}: $1.o
|
|
|
|
$(CC) $(CFLAGS) -o $@ $+
|
|
|
|
|
|
|
|
clean:
|
|
|
|
rm -f *.o core.*
|
|
|
|
|
|
|
|
mrproper: clean
|
|
|
|
rm -f $1
|
|
|
|
# add
|
|
|
|
snippet add
|
|
|
|
${1:out}: $1.o
|
|
|
|
$(CC) $(CFLAGS) -o $@ $+
|
|
|
|
# print
|
|
|
|
snippet print
|
|
|
|
print-%: ; @echo $*=$($*)
|
|
|
|
# ifeq
|
2016-05-14 07:57:54 -04:00
|
|
|
snippet if
|
2015-07-13 06:22:46 -04:00
|
|
|
ifeq (${1:cond0}, ${2:cond1})
|
2013-11-16 14:45:48 -05:00
|
|
|
${0}
|
2012-08-16 23:41:25 -04:00
|
|
|
endif
|
2016-05-14 07:57:54 -04:00
|
|
|
# ifeq ... else ... endif
|
|
|
|
snippet ife
|
|
|
|
ifeq (${1:cond0}, ${2:cond1})
|
|
|
|
${3}
|
|
|
|
else
|
|
|
|
${0}
|
|
|
|
endif
|
|
|
|
# else ...
|
|
|
|
snippet el
|
|
|
|
else
|
|
|
|
${0}
|
|
|
|
# .DEFAULT_GOAL := target
|
|
|
|
snippet default
|
|
|
|
.DEFAULT_GOAL := ${1}
|
2016-06-11 09:56:50 -04:00
|
|
|
# help target for self-documented Makefile
|
|
|
|
snippet help
|
|
|
|
help: ## Prints help for targets with comments
|
|
|
|
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $\$1, $\$2}'
|
|
|
|
${0}
|