makefile 功能学习:
vim makefile,然后粘贴以下内容,退出vim后分别输入make和make linux命令:
PLAT ?= none
$(warning A top-level warning $(PLAT))
PLATS = linux freebsd macosx
CC ?= gcc
.PHONY : none $(PLATS) clean all cleanall
$(warning B top-level warning $(PLAT))
ifeq ($(PLAT), none) #注释掉也可以
.PHONY : default
$(warning C top-level warning $(PLAT))
default :
@echo "PLAT="$(PLAT)
$(MAKE) $(PLAT)
$(warning D top-level warning $(PLAT))
endif #注释掉也可以
none :
@echo "Please do 'make PLATFORM' where PLATFORM is one of these:"
@echo " $(PLATS)"
$(warning E top-level warning $(PLAT))
linux:PLAT = linux
macosx:PLAT = macosx
linux:$(warning G top-level warning $(PLAT)) \
linux:LANGUAGE := CHINESE
#linux:
# @echo "1 PLAT="$(LANGUAGE)
linux:LANGUAGE += ENGLISH
linux:
@echo "2 PLAT="$(LANGUAGE)
$(warning F top-level warning $(PLAT))