Skip to content

Instantly share code, notes, and snippets.

View kmsheng's full-sized avatar
🏠
Working from home

kmsheng kmsheng

🏠
Working from home
View GitHub Profile
@kmsheng
kmsheng / gist:c89a3852983921bc5d790c410a6f4341
Last active August 15, 2018 07:31
Makefile simple example
all: target1 target2
target1:
@echo "Running $@"
target2:
@echo "Running $@"
@kmsheng
kmsheng / Makefile
Created August 15, 2018 07:15
Notice $@ and $* are quite different compare to shell script
all:
@echo "No target goes here"
target%:
@echo "\"\$$@\" = $@"
@echo "\"\$$*\" = $*"
@echo "\$$@ =" $@
@echo "\$$* =" $*
@kmsheng
kmsheng / Makefile
Last active August 15, 2018 07:14
Make if example
WGET_PATH := /wrong/path
ifeq ($(WGET_PATH), /wrong/path)
WGET_PATH := /usr/bin/wget
endif
all:;@echo $(WGET_PATH)
@kmsheng
kmsheng / Makefile
Last active August 15, 2018 07:12
Make function error
$(error Something is wrong here)
all:;@echo "success"
@kmsheng
kmsheng / Makefile
Created August 15, 2018 07:09
Make function wilecard
PATHS=$(wildcard /usr/bin/*)
all:;@echo $(PATHS);
@kmsheng
kmsheng / Makefile
Created August 15, 2018 07:07
Makefile function shell
TIMESTAMP := $(shell date +%s)
all:;@echo $(TIMESTAMP);
@kmsheng
kmsheng / Makefile
Created August 15, 2018 07:05
Concat values
A := "A"
B += "B"
all:;@echo $(A);
@kmsheng
kmsheng / Makefile
Created August 15, 2018 07:04
Set if not present
A :=
A ?= "A"
all:;@echo $(A)
@kmsheng
kmsheng / Makefile
Created August 15, 2018 07:03
simply expanded
A := "A"
B := $(A)
all:;@echo $(B)
@kmsheng
kmsheng / Makefile
Created August 15, 2018 07:02
recursively expanded
A = $(B)
B = "B"
all:;@echo $(A)