File indexing completed on 2024-05-12 04:02:06

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 <beginfold id='1'>ifeq</beginfold id='1'> ($(CC),gcc)
0014     bla=$(call func,param1,param2)
0015 <endfold id='1'></endfold id='1'><beginfold id='1'>else</beginfold id='1'> ifeq "x" "y"
0016     $(error this seems wrong)
0017 <endfold id='1'></endfold id='1'><beginfold id='1'>else</beginfold id='1'>
0018     libs=$(normal_libs)
0019 <endfold id='1'>endif</endfold id='1'>
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: ; @echohello \
0034 world’ ; echo "hello \
0035 world"
0036         @echo "hello"
0037 
0038 target4: ; echohello \
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 <beginfold id='1'>ifdef</beginfold id='1'> bar
0096 frobozz = yes
0097 <endfold id='1'></endfold id='1'><beginfold id='1'>else</beginfold id='1'> ifdef foo
0098 frobozz = no
0099 <endfold id='1'>endif</endfold id='1'>
0100 
0101 error_type := 0
0102 check:
0103 <beginfold id='1'>ifeq</beginfold id='1'> ($(error_type),0)
0104 <endfold id='1'></endfold id='1'><beginfold id='1'>else</beginfold id='1'> ifeq ($(error_type),1)
0105 <endfold id='1'></endfold id='1'><beginfold id='1'>else</beginfold id='1'> ifeq ($(error_type),2)
0106 <endfold id='1'></endfold id='1'><beginfold id='1'>else</beginfold id='1'> ifeq ($(error_type),3)
0107 <endfold id='1'>endif</endfold id='1'>
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}})