Example of a Conditional
libs_for_gcc = -lgnu
normal_libs =
ifeq ($(CC),gcc)
libs=$(libs_for_gcc)
else
libs=$(normal_libs)
endif
foo: $(objects)
$(CC) -o foo $(objects) $(libs)
Syntax of Conditionals
The syntax of a simple conditional with no else
is as follows:
text-if-true
endif
The text-if-true may be any lines of text, to be considered as part of the makefile if the condition is true. If the condition is false, no text is used instead.
The syntax of a complex conditional is as follows:
conditional-directivetext-if-true
else
text-if-false
endif
or:
conditional-directivetext-if-one-is-true
else conditional-directive
text-if-true
else
text-if-false
endif
Conditional-directive
ifeq, ifneq, ifdef, and ifndefifeq (
arg1,
arg2)
ifeq '
arg1' '
arg2'
ifeq "
arg1" "
arg2"
ifeq "
arg1" '
arg2'
ifeq '
arg1' "
arg2"
ifneq (
arg1,
arg2)
ifneq '
arg1' '
arg2'
ifneq "
arg1" "
arg2"
ifneq "
arg1" '
arg2'
ifneq '
arg1' "
arg2"
ifdef
variable-name
ifndef
variable-name
No comments:
Post a Comment