aboutsummaryrefslogtreecommitdiff
path: root/vim/bundle/vim-snippets/snippets/make.snippets
diff options
context:
space:
mode:
Diffstat (limited to 'vim/bundle/vim-snippets/snippets/make.snippets')
-rw-r--r--vim/bundle/vim-snippets/snippets/make.snippets50
1 files changed, 50 insertions, 0 deletions
diff --git a/vim/bundle/vim-snippets/snippets/make.snippets b/vim/bundle/vim-snippets/snippets/make.snippets
new file mode 100644
index 0000000..332d6fc
--- /dev/null
+++ b/vim/bundle/vim-snippets/snippets/make.snippets
@@ -0,0 +1,50 @@
+# 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
+snippet if
+ ifeq (${1:cond0}, ${2:cond1})
+ ${0}
+ endif
+# 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}
+# 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}