S5U1C17001C ManUal
EPSOn
11-7
(C COMPilEr PaCkagE fOr S1C17 faMily) (Ver. 1.5.0)
11 OTHEr TOOlS
11
Tools
11.1.5 Macro Definition and reference
You can define a character string as a macro in a make file and can refer to defined character strings using the
macro names. The following shows the formats in which a macro can be defined and referenced.
Definition:
<macro name>
=
<character string>
Reference:
$(
<macro name>
)
Example:
TARGET= sample
:
TOOL_DIR = /cygdrive/c/EPSON/gnu17
:
LD= $(TOOL_DIR)/ld
LIB_DIR= $(TOOL_DIR)/lib
:
LDFLAGS= -T $(TARGET).lds -Map $(TARGET).map -N
:
OBJS= boot.o \
main.o \
:
OBJLDS=
:
LIBS= $(LIB_DIR)/libc.a $(LIB_DIR)/libgcc.a
:
$(LD) $(LDFLAGS) -o $@ $(OBJS) $(OBJLDS) $(LIBS)
The last line that refers macros in the example above is a command line to invoke the linker. If the macros have
been defined as the example, this line will be executed after the macro names are replaced as below.
/cygdrive/c/EPSON/gnu17/ld -T sample.lds -Map sample.map -N -o sample.elf boot.o main.o
/cygdrive/c/EPSON/gnu17/lib/libc.a /cygdrive/c/EPSON/gnu17/lib/libgcc.a
Predefined macros
$@
used in the example above is a predefined macro. The following three predefined macros are available.
Note, however, that they can be used only in the command lines in dependency lists.
$@
This will be replaced with the target file name (including the extension) currently being processed.
Example:
sample.elf : . . .
ld -o $@ . . .
(=
ld -o sample.elf
. . .)
$*
This will be replaced with the target file name (not including the extension) currently being processed.
Example:
sample.elf : . . .
ld $*.o . . .
(=
ld sample.o
. . .)
$<
This will be replaced with the first dependency file (including the extension) of the target currently being
processed.
Example:
main.o : main.c
...
xgcc -o $@ $<
(
= xgcc -o main.o main.c
)
Precaution
When the same macro name is defined twice or more, the newest defined macro is effective.
Summary of Contents for S5U1C17001C
Page 6: ......
Page 17: ...1 General S5U1C17001C Manual 1 General ...
Page 18: ......
Page 21: ...1 2 Install S5U1C17001C Manual 2 Installation ...
Page 22: ......
Page 29: ...3 SoftDev S5U1C17001C Manual 3 Software Development Procedures ...
Page 30: ......
Page 103: ...4 SrcFiles S5U1C17001C Manual 4 Source files ...
Page 104: ......
Page 121: ...5 IDE S5U1C17001C Manual 5 gnU17 iDE ...
Page 122: ......
Page 365: ...6 Compiler S5U1C17001C Manual 6 C Compiler ...
Page 366: ......
Page 385: ...7 Library S5U1C17001C Manual 7 library ...
Page 386: ......
Page 405: ...8 Assemblr S5U1C17001C Manual 8 assembler ...
Page 406: ......
Page 439: ...9 Linker S5U1C17001C Manual 9 linker ...
Page 440: ......
Page 449: ...10 Debugger S5U1C17001C Manual 10 Debugger ...
Page 450: ......
Page 626: ...11 Tools S5U1C17001C Manual 11 Other Tools ...
Page 627: ......
Page 696: ...S1C17 Family C Compiler Package Quick Reference Reference ...