2015-04-10 07:47:46 -04:00
|
|
|
# base
|
|
|
|
snippet base
|
|
|
|
.PHONY: clean, mrproper
|
|
|
|
CC = gcc
|
|
|
|
CFLAGS = -g -Wall
|
|
|
|
|
2015-04-16 12:55:07 -04:00
|
|
|
all: $1
|
2015-04-10 07:47:46 -04:00
|
|
|
|
2015-04-16 12:55:07 -04:00
|
|
|
%.o: %.c
|
2015-04-10 07:47:46 -04:00
|
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
|
2015-04-16 12:55:07 -04:00
|
|
|
${1:out}: $1.o
|
2015-04-10 07:47:46 -04:00
|
|
|
$(CC) $(CFLAGS) -o $@ $+
|
|
|
|
|
2015-04-16 12:55:07 -04:00
|
|
|
clean:
|
2015-04-10 07:47:46 -04:00
|
|
|
rm -f *.o core.*
|
|
|
|
|
2015-04-16 12:55:07 -04:00
|
|
|
mrproper: clean
|
2015-04-10 07:47:46 -04:00
|
|
|
rm -f $1
|
2015-04-10 18:16:34 -04:00
|
|
|
# add
|
|
|
|
snippet add
|
2015-04-16 12:55:07 -04:00
|
|
|
${1:out}: $1.o
|
2015-04-10 18:16:34 -04:00
|
|
|
$(CC) $(CFLAGS) -o $@ $+
|
2015-04-16 12:53:27 -04:00
|
|
|
# print
|
2015-04-10 14:00:19 -04:00
|
|
|
snippet print
|
|
|
|
print-%: ; @echo $*=$($*)
|
2015-04-10 07:47:46 -04:00
|
|
|
# ifeq
|
2016-05-12 10:02:37 -04:00
|
|
|
snippet if
|
2015-04-22 16:29:14 -04:00
|
|
|
ifeq (${1:cond0}, ${2:cond1})
|
2013-07-25 17:17:32 -04:00
|
|
|
${0}
|
2011-09-23 22:09:53 -04:00
|
|
|
endif
|
2016-05-12 10:02:37 -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-05-23 07:16:36 -04:00
|
|
|
# help target for self-documented Makefile
|
2016-05-17 10:29:01 -04:00
|
|
|
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}
|