115 lines
2.2 KiB
Makefile
115 lines
2.2 KiB
Makefile
# comment
|
||
|
||
include Makefile.in
|
||
-include Makefile.doesntexist
|
||
|
||
.PHONY: all
|
||
|
||
all: target
|
||
|
||
foo = bar $(var) \
|
||
$(baz) quux
|
||
|
||
<beginfold id='1'>ifeq</beginfold id='1'> ($(CC),gcc)
|
||
bla=$(call func,param1,param2)
|
||
<endfold id='1'></endfold id='1'><beginfold id='1'>else</beginfold id='1'> ifeq "x" "y"
|
||
$(error this seems wrong)
|
||
<endfold id='1'></endfold id='1'><beginfold id='1'>else</beginfold id='1'>
|
||
libs=$(normal_libs)
|
||
<endfold id='1'>endif</endfold id='1'>
|
||
|
||
target1:
|
||
error
|
||
|
||
target2: bla.cpp $@
|
||
$(CC) bla.c -o bla.o
|
||
$(CC) bla.o $< \
|
||
-o bla.exe
|
||
@echo "hello" \
|
||
bla bla
|
||
echo "hello" \
|
||
bla bla
|
||
|
||
target3: ; @echo ’hello \
|
||
world’ ; echo "hello \
|
||
world"
|
||
@echo "hello"
|
||
|
||
target4: ; echo ’hello \
|
||
world’ ; echo "hello \
|
||
world"
|
||
echo "hello"
|
||
|
||
target5 \
|
||
target6 \
|
||
target7 &::
|
||
@echo "hello"
|
||
# this should not break the rule
|
||
# ifndef is a command
|
||
ifndef
|
||
|
||
# String Substitution
|
||
VAR := $(ANOTHER_VAR:%=%+1)
|
||
|
||
# Variable Assignment
|
||
RELAXED ::= mello
|
||
rempl := x
|
||
foo := a b c
|
||
bar := foo
|
||
hello := $($(bar):a=$(rempl))
|
||
my??var=value
|
||
var??=value
|
||
var?=value
|
||
var? = value
|
||
var :::= value
|
||
var ::= value
|
||
var += value
|
||
var != value
|
||
var = value\#nocomment
|
||
var = value#comment
|
||
var = value;value2
|
||
override var = a
|
||
|
||
define var :::=
|
||
bar
|
||
endef
|
||
|
||
override define var :::=
|
||
bar
|
||
endef
|
||
|
||
undefine var
|
||
override undefine var
|
||
|
||
export foo bar
|
||
export foo = bar
|
||
unexport foo bar
|
||
|
||
prog: private EXTRA_CFLAGS = -L/usr/local/lib
|
||
prog: CFLAGS = -g
|
||
prog: a.o b.o
|
||
|
||
# Conditionals
|
||
bar =
|
||
foo = $(bar)
|
||
<beginfold id='1'>ifdef</beginfold id='1'> bar
|
||
frobozz = yes
|
||
<endfold id='1'></endfold id='1'><beginfold id='1'>else</beginfold id='1'> ifdef foo
|
||
frobozz = no
|
||
<endfold id='1'>endif</endfold id='1'>
|
||
|
||
error_type := 0
|
||
check:
|
||
<beginfold id='1'>ifeq</beginfold id='1'> ($(error_type),0)
|
||
<endfold id='1'></endfold id='1'><beginfold id='1'>else</beginfold id='1'> ifeq ($(error_type),1)
|
||
<endfold id='1'></endfold id='1'><beginfold id='1'>else</beginfold id='1'> ifeq ($(error_type),2)
|
||
<endfold id='1'></endfold id='1'><beginfold id='1'>else</beginfold id='1'> ifeq ($(error_type),3)
|
||
<endfold id='1'>endif</endfold id='1'>
|
||
|
||
$(info "'")
|
||
$(info '"')
|
||
$(info $(??))
|
||
|
||
$(eval $(call Variable_rule,target/compile_flags,$${CXX} $$(CXXFLAGS)))
|
||
$(eval ${call Variable_rule,target/link_flags,$$(CXX) $$(LDFLAGS) $${LDLIBS}})
|