mirror of
				https://github.com/amix/vimrc
				synced 2025-10-31 06:33:35 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			51 lines
		
	
	
		
			877 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			877 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # 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:${VISUAL}}
 | |
| 	endif
 | |
| # ifeq ... else ... endif
 | |
| snippet ife
 | |
| 	ifeq (${1:cond0}, ${2:cond1})
 | |
| 		${3:${VISUAL}}
 | |
| 	else
 | |
| 		${0}
 | |
| 	endif
 | |
| # else ...
 | |
| snippet el
 | |
| 	else
 | |
| 		${0:${VISUAL}}
 | |
| # .DEFAULT_GOAL := target
 | |
| snippet default
 | |
| 	.DEFAULT_GOAL := ${1}
 | |
| # help target for self-documented Makefile
 | |
| snippet help
 | |
| 	help: ## Prints help for targets with comments
 | |
| 		@cat $(MAKEFILE_LIST) | grep -E '^[a-zA-Z_-]+:.*?## .*$$' | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $\$1, $\$2}'
 | |
| 	${0}
 | 
