File indexing completed on 2025-02-02 03:54:49
0001 # comment 0002 0003 include Makefile.in 0004 -include Makefile.doesntexist 0005 0006 .PHONY: all 0007 0008 all: target 0009 0010 foo = bar $(var) \ 0011 $(baz) quux 0012 0013 ifeq ($(CC),gcc) 0014 bla=$(call func,param1,param2) 0015 else ifeq "x" "y" 0016 $(error this seems wrong) 0017 else 0018 libs=$(normal_libs) 0019 endif 0020 0021 target1: 0022 error 0023 0024 target2: bla.cpp $@ 0025 $(CC) bla.c -o bla.o 0026 $(CC) bla.o $< \ 0027 -o bla.exe 0028 @echo "hello" \ 0029 bla bla 0030 echo "hello" \ 0031 bla bla 0032 0033 target3: ; @echo ’hello \ 0034 world’ ; echo "hello \ 0035 world" 0036 @echo "hello" 0037 0038 target4: ; echo ’hello \ 0039 world’ ; echo "hello \ 0040 world" 0041 echo "hello" 0042 0043 target5 \ 0044 target6 \ 0045 target7 &:: 0046 @echo "hello" 0047 # this should not break the rule 0048 # ifndef is a command 0049 ifndef 0050 0051 # String Substitution 0052 VAR := $(ANOTHER_VAR:%=%+1) 0053 0054 # Variable Assignment 0055 RELAXED ::= mello 0056 rempl := x 0057 foo := a b c 0058 bar := foo 0059 hello := $($(bar):a=$(rempl)) 0060 my??var=value 0061 var??=value 0062 var?=value 0063 var? = value 0064 var :::= value 0065 var ::= value 0066 var += value 0067 var != value 0068 var = value\#nocomment 0069 var = value#comment 0070 var = value;value2 0071 override var = a 0072 0073 define var :::= 0074 bar 0075 endef 0076 0077 override define var :::= 0078 bar 0079 endef 0080 0081 undefine var 0082 override undefine var 0083 0084 export foo bar 0085 export foo = bar 0086 unexport foo bar 0087 0088 prog: private EXTRA_CFLAGS = -L/usr/local/lib 0089 prog: CFLAGS = -g 0090 prog: a.o b.o 0091 0092 # Conditionals 0093 bar = 0094 foo = $(bar) 0095 ifdef bar 0096 frobozz = yes 0097 else ifdef foo 0098 frobozz = no 0099 endif 0100 0101 error_type := 0 0102 check: 0103 ifeq ($(error_type),0) 0104 else ifeq ($(error_type),1) 0105 else ifeq ($(error_type),2) 0106 else ifeq ($(error_type),3) 0107 endif 0108 0109 $(info "'") 0110 $(info '"') 0111 $(info $(??)) 0112 0113 $(eval $(call Variable_rule,target/compile_flags,$${CXX} $$(CXXFLAGS))) 0114 $(eval ${call Variable_rule,target/link_flags,$$(CXX) $$(LDFLAGS) $${LDLIBS}})