Rev 1981 | Rev 1992 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 1981 | Rev 1984 | ||
|---|---|---|---|
| Line 121... | Line 121... | ||
| 121 | # only used for heap (malloc()). |
121 | # only used for heap (malloc()). |
| 122 | #EXTMEMOPTS = -Wl,--defsym=__heap_start=0x801100,--defsym=__heap_end=0x80ffff |
122 | #EXTMEMOPTS = -Wl,--defsym=__heap_start=0x801100,--defsym=__heap_end=0x80ffff |
| 123 | 123 | ||
| 124 | EXTMEMOPTS = |
124 | EXTMEMOPTS = |
| 125 | 125 | ||
| 126 | BIOSOPTS = -Wl,-L$(BIOSDIR),-Tdata,$(BIOS_RAM_END) |
126 | BIOSOPTS = -Wl,-L$(BIOSDIR),-Tdata,$(BIOS_RAM_END) |
| 127 | 127 | ||
| 128 | # Linker flags. |
128 | # Linker flags. |
| 129 | # -Wl,...: tell GCC to pass this to linker. |
129 | # -Wl,...: tell GCC to pass this to linker. |
| 130 | # -Map: create map file |
130 | # -Map: create map file |
| 131 | # --cref: add cross reference to map file |
131 | # --cref: add cross reference to map file |
| 132 | LDFLAGS = -Wl,-Map=$(TARGET).map,--cref |
132 | LDFLAGS = -Wl,-Map=$(TARGET).map,--cref |
| 133 | LDFLAGS += $(EXTMEMOPTS) |
133 | LDFLAGS += $(EXTMEMOPTS) |
| 134 | LDFLAGS += $(BIOSOPTS) |
134 | LDFLAGS += $(BIOSOPTS) |
| 135 | LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB) |
- | |
| 136 | 135 | ||
| - | 136 | LDLIBS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB) |
|
| - | 137 | LDLIBS += -lbios |
|
| 137 | # --------------------------------------------------------------------------- |
138 | # --------------------------------------------------------------------------- |
| 138 | 139 | ||
| 139 | # Define programs and commands. |
140 | # Define programs and commands. |
| 140 | SHELL = sh |
141 | SHELL = sh |
| 141 | CC = avr-gcc |
142 | CC = avr-gcc |
| Line 168... | Line 169... | ||
| 168 | MSG_ASSEMBLING = Assembling: |
169 | MSG_ASSEMBLING = Assembling: |
| 169 | MSG_DEPEND = Generating dependencies: |
170 | MSG_DEPEND = Generating dependencies: |
| 170 | MSG_CLEANING = Cleaning project: |
171 | MSG_CLEANING = Cleaning project: |
| 171 | MSG_CREATE = Creating: |
172 | MSG_CREATE = Creating: |
| 172 | 173 | ||
| - | 174 | #First filter out all .a library files |
|
| - | 175 | SOURCES_FILTER = |
|
| 173 | # Define all object files. |
176 | # Define all object files. |
| 174 | #OBJ = $(filter %.o,$(SOURCES:.c=.o) $(SOURCES:.S=.o)) |
177 | #OBJ = $(filter %.o,$(SOURCES:.c=.o) $(SOURCES:.S=.o)) |
| 175 | OBJ = $(addsuffix .o,$(basename $(SOURCES))) |
178 | OBJ = $(addsuffix .o,$(basename $(SOURCES))) |
| 176 | 179 | ||
| 177 | # Define all listing files. |
180 | # Define all listing files. |
| Line 267... | Line 270... | ||
| 267 | # AVRs, making it impossible to override the .data placement with a |
270 | # AVRs, making it impossible to override the .data placement with a |
| 268 | # subsequent -Tdata option. Detect the broken case and re-run ld with the |
271 | # subsequent -Tdata option. Detect the broken case and re-run ld with the |
| 269 | # correct .data location substituted. |
272 | # correct .data location substituted. |
| 270 | %.elf: $(OBJ) |
273 | %.elf: $(OBJ) |
| 271 | @echo $(MSG_LINKING) $@ |
274 | @echo $(MSG_LINKING) $@ |
| 272 |
|
275 | eval $$($(CC) -v $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS) 2>&1 | $(AWK) '{ if (gsub("0x800100","$(BIOS_RAM_END)") == 1) print }') |
| - | 276 | ||
| - | 277 | #$(LDLIBS) |
|
| 273 | 278 | ||
| 274 | # Compile: create object files from C source files. |
279 | # Compile: create object files from C source files. |
| 275 | %.o : %.c |
280 | %.o : %.c |
| 276 | @echo $(MSG_COMPILING) $< |
281 | @echo $(MSG_COMPILING) $< |
| 277 | @$(CC) -c $(CFLAGS) $< -o $@ |
282 | @$(CC) -c $(CFLAGS) $< -o $@ |