# comment include Makefile.in -include Makefile.doesntexist .PHONY: all all: target foo = bar $(var) \ $(baz) quux ifeq ($(CC),gcc) bla=$(call func,param1,param2) else ifeq "x" "y" $(error this seems wrong) else libs=$(normal_libs) endif target1: error target2: bla.cpp $@ $(CC) bla.c -o bla.o $(CC) bla.o $< \ -o bla.exe @echo "hello" # String Substitution VAR := $(ANOTHER_VAR:%=%+1) # Variable Assignment RELAXED ::= mello rempl := x foo := a b c bar := foo hello := $($(bar):a=$(rempl)) # Conditionals bar = foo = $(bar) ifdef bar frobozz = yes else ifdef foo frobozz = no endif error_type := 0 check: ifeq ($(error_type),0) else ifeq ($(error_type),1) else ifeq ($(error_type),2) else ifeq ($(error_type),3) endif