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.
Содержание S5U1C17001C
Страница 6: ......
Страница 17: ...1 General S5U1C17001C Manual 1 General ...
Страница 18: ......
Страница 21: ...1 2 Install S5U1C17001C Manual 2 Installation ...
Страница 22: ......
Страница 29: ...3 SoftDev S5U1C17001C Manual 3 Software Development Procedures ...
Страница 30: ......
Страница 103: ...4 SrcFiles S5U1C17001C Manual 4 Source files ...
Страница 104: ......
Страница 121: ...5 IDE S5U1C17001C Manual 5 gnU17 iDE ...
Страница 122: ......
Страница 365: ...6 Compiler S5U1C17001C Manual 6 C Compiler ...
Страница 366: ......
Страница 385: ...7 Library S5U1C17001C Manual 7 library ...
Страница 386: ......
Страница 404: ...7 18 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 7 liBrary THIS PAGE IS BLANK ...
Страница 405: ...8 Assemblr S5U1C17001C Manual 8 assembler ...
Страница 406: ......
Страница 438: ...8 32 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 8 aSSEMBlEr THIS PAGE IS BLANK ...
Страница 439: ...9 Linker S5U1C17001C Manual 9 linker ...
Страница 440: ......
Страница 448: ...9 8 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 9 linkEr THIS PAGE IS BLANK ...
Страница 449: ...10 Debugger S5U1C17001C Manual 10 Debugger ...
Страница 450: ......
Страница 625: ...10 174 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 10 DEBUggEr THIS PAGE IS BLANK ...
Страница 626: ...11 Tools S5U1C17001C Manual 11 Other Tools ...
Страница 627: ......
Страница 695: ...11 68 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 11 OTHEr TOOlS THIS PAGE IS BLANK ...
Страница 696: ...S1C17 Family C Compiler Package Quick Reference Reference ...