Subversion Repositories HomeAutomation

Rev

Rev 551 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 551 Rev 562
Line 1... Line 1...
1
include bios.inc
1
# Paths: default pathnames if they are not
2
 
-
 
3
# Target file name (without extension).
2
# passed on from parent Makefile.
-
 
3
ifndef TARGET
4
TARGET = main
4
TARGET = main
5
 
5
endif
-
 
6
ifndef LIBDIR
6
LIBDIR = ../../avr-lib
7
LIBDIR = ../../../avr-lib
-
 
8
endif
7
include $(LIBDIR)/system.inc
9
ifndef SRCDIR
-
 
10
SRCDIR = ../src
8
 
11
endif
9
# List C source files here. (C dependencies are automatically generated.)
-
 
10
CSRC =	$(TARGET).c\
12
ifndef BIOSDIR
11
		$(LIBDIR)/drivers/timer/timebase.c\
13
BIOSDIR = ../bios
-
 
14
endif
12
		$(LIBDIR)/drivers/lcd/clcd/lcd_HD44780.c\
15
ifndef CFGDIR
-
 
16
CFGDIR = ..
-
 
17
endif
-
 
18
 
13
		$(LIBDIR)/drivers/mcu/mcu.c\
19
include $(CFGDIR)/bios.inc
14
 
20
 
15
# List Assembler source files here.
21
# VPATH: setup search path for source files.
-
 
22
vpath
16
# Make them always end in a capital .S.  Files ending in a lowercase .s
23
vpath %.c $(LIBDIR):$(SRCDIR)
-
 
24
 
17
# will not be considered source files but generated files (assembler
25
# List source files here. (C dependencies are automatically generated.)
18
# output from the compiler), and will be deleted upon "make clean"!
26
SOURCES =	main.c\
19
# Even though the DOS/Win* filesystem matches both .s and .S the same,
27
                drivers/timer/timebase.c\
20
# it will preserve the spelling of the filenames, and gcc itself does
28
                drivers/lcd/clcd/lcd_HD44780.c\
21
# care about how the name is spelled on its command-line.
29
                drivers/mcu/mcu.c\
22
ASRC = 
-
 
23
 
-
 
24
 
30
 
25
# Optimization level, can be [0, 1, 2, 3, s]. 
31
# Optimization level, can be [0, 1, 2, 3, s]. 
26
# 0 = turn off optimization. s = optimize for size.
32
# 0 = turn off optimization. s = optimize for size.
27
# (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
33
# (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
28
OPT = s
34
OPT = s
29
#OPT = 3
35
#OPT = 3
Line 33... Line 39...
33
# AVR (extended) COFF requires stabs, plus an avr-objcopy run.
39
# AVR (extended) COFF requires stabs, plus an avr-objcopy run.
34
DEBUG = stabs
40
DEBUG = stabs
35
#DEBUG = dwarf-2
41
#DEBUG = dwarf-2
36
 
42
 
37
# List any extra directories to look for include files here.
43
# List any extra directories to look for include files here.
38
#     Each directory must be seperated by a space.
44
# Each directory must be separated by a space.
39
EXTRAINCDIRS = $(LIBDIR)\
45
EXTRAINCDIRS = $(LIBDIR) $(BIOSDIR)
40
				$(LIBDIR)/drivers/lcd/clcd\
-
 
41
				$(LIBDIR)/drivers/timer\
-
 
42
 
46
 
43
# Compiler flag to set the C Standard level.
47
# Compiler flag to set the C Standard level.
44
# c89   - "ANSI" C
48
# c89   - "ANSI" C
45
# gnu89 - c89 plus GCC extensions
49
# gnu89 - c89 plus GCC extensions
46
# c99   - ISO C99 standard (not yet fully implemented)
50
# c99   - ISO C99 standard (not yet fully implemented)
47
# gnu99 - c99 plus GCC extensions
51
# gnu99 - c99 plus GCC extensions
48
CSTANDARD = -std=gnu99
52
CSTANDARD = -std=gnu99
49
 
53
 
50
# Place -D or -U options here
54
# Place -D or -U options here
51
CDEFS =
55
CDEFS =
52
 
56
 
53
# Place -I options here
57
# Place -I options here
54
CINCS =
58
CINCS =
Line 65... Line 69...
65
CFLAGS += -g$(DEBUG)
69
CFLAGS += -g$(DEBUG)
66
CFLAGS += $(CDEFS) $(CINCS)
70
CFLAGS += $(CDEFS) $(CINCS)
67
CFLAGS += -O$(OPT)
71
CFLAGS += -O$(OPT)
68
CFLAGS += -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
72
CFLAGS += -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
69
CFLAGS += -Wall -Wstrict-prototypes
73
CFLAGS += -Wall -Wstrict-prototypes
70
CFLAGS += -Wa,-adhlns=$(<:.c=.lst)
74
CFLAGS += -Wa,-adhlns=$(@:.o=.lst)
71
CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
75
CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
72
CFLAGS += $(CSTANDARD)
76
CFLAGS += $(CSTANDARD)
-
 
77
CFLAGS += $(GENDEPFLAGS)
73
 
78
 
74
 
79
 
75
 
80
 
76
# Assembler flags.
81
# Assembler flags.
77
#  -Wa,...:   tell GCC to pass this to the assembler.
82
#  -Wa,...:   tell GCC to pass this to the assembler.
Line 80... Line 85...
80
#             for use in COFF files, additional information about filenames
85
#             for use in COFF files, additional information about filenames
81
#             and function names needs to be present in the assembler source
86
#             and function names needs to be present in the assembler source
82
#             files -- see avr-libc docs [FIXME: not yet described there]
87
#             files -- see avr-libc docs [FIXME: not yet described there]
83
##ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs 
88
##ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs 
84
ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp
89
ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp
85
ASFLAGS += -Wa,-adhlns=$(<:.S=.lst),-g$(DEBUG)
90
ASFLAGS += -Wa,-adhlns=$(@:.o=.lst),-g$(DEBUG)
86
 
91
 
87
 
92
 
88
#Additional libraries.
93
#Additional libraries.
89
 
94
 
90
# Minimalistic printf version
95
# Minimalistic printf version
Line 115... Line 120...
115
# only used for heap (malloc()).
120
# only used for heap (malloc()).
116
#EXTMEMOPTS = -Wl,--defsym=__heap_start=0x801100,--defsym=__heap_end=0x80ffff
121
#EXTMEMOPTS = -Wl,--defsym=__heap_start=0x801100,--defsym=__heap_end=0x80ffff
117
 
122
 
118
EXTMEMOPTS =
123
EXTMEMOPTS =
119
 
124
 
120
BIOSOPTS = -Wl,-L.,-Tdata,$(BIOS_RAM_END) -lbios
125
BIOSOPTS = -Wl,-L$(BIOSDIR),-Tdata,$(BIOS_RAM_END) -lbios
121
 
126
 
122
# Linker flags.
127
# Linker flags.
123
#  -Wl,...:     tell GCC to pass this to linker.
128
#  -Wl,...:     tell GCC to pass this to linker.
124
#    -Map:      create map file
129
#    -Map:      create map file
125
#    --cref:    add cross reference to  map file
130
#    --cref:    add cross reference to  map file
Line 127... Line 132...
127
LDFLAGS += $(EXTMEMOPTS)
132
LDFLAGS += $(EXTMEMOPTS)
128
LDFLAGS += $(BIOSOPTS)
133
LDFLAGS += $(BIOSOPTS)
129
LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
134
LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
130
 
135
 
131
# ---------------------------------------------------------------------------
136
# ---------------------------------------------------------------------------
132
 
-
 
133
# Define directories, if needed.
-
 
134
DIRAVR = c:/progra~1/winavr
-
 
135
DIRAVRBIN = $(DIRAVR)/bin
-
 
136
DIRAVRUTILS = $(DIRAVR)/utils/bin
-
 
137
DIRINC = .
-
 
138
DIRLIB = $(DIRAVR)/avr/lib
-
 
139
 
-
 
140
 
137
 
141
# Define programs and commands.
138
# Define programs and commands.
142
SHELL = sh
139
SHELL = sh
143
CC = avr-gcc
140
CC = avr-gcc
144
AWK = awk
141
AWK = awk
145
OBJCOPY = avr-objcopy
142
OBJCOPY = avr-objcopy
146
OBJDUMP = avr-objdump
143
OBJDUMP = avr-objdump
147
SIZE = avr-size
144
SIZE = avr-size
148
NM = avr-nm
145
NM = avr-nm
149
REMOVE = rm -f
146
RM = rm -f
150
COPY = cp
147
CP = cp
151
 
148
MKDIR = mkdir
152
 
149
 
153
 
150
 
154
 
151
 
155
# Define Messages
152
# Define Messages
156
# English
153
# English
157
MSG_ERRORS_NONE = Errors: none
154
MSG_ERRORS_NONE = Errors: none
158
MSG_BEGIN = -------- begin --------
155
MSG_BEGIN = -------- begin --------
159
MSG_END = --------  end  --------
156
MSG_END = --------  end  --------
Line 168... Line 165...
168
MSG_LINKING = Linking:
165
MSG_LINKING = Linking:
169
MSG_COMPILING = Compiling:
166
MSG_COMPILING = Compiling:
170
MSG_ASSEMBLING = Assembling:
167
MSG_ASSEMBLING = Assembling:
171
MSG_DEPEND = Generating dependencies:
168
MSG_DEPEND = Generating dependencies:
172
MSG_CLEANING = Cleaning project:
169
MSG_CLEANING = Cleaning project:
-
 
170
MSG_CREATE = Creating:
173
 
171
 
174
 
-
 
175
 
-
 
176
 
-
 
177
# Define all object files.
172
# Define all object files.
178
OBJ = $(CSRC:.c=.o) $(ASRC:.S=.o) 
173
OBJ = $(filter %.o,$(SOURCES:.c=.o) $(SOURCES:.S=.o))
179
 
174
 
180
# Define all listing files.
175
# Define all listing files.
181
LST = $(ASRC:.S=.lst) $(CSRC:.c=.lst)
176
LST = $(OBJ:.o=.lst)
182
 
-
 
183
 
-
 
184
# Compiler flags to generate dependency files.
-
 
185
### GENDEPFLAGS = -Wp,-M,-MP,-MT,$(*F).o,-MF,.dep/$(@F).d
-
 
186
GENDEPFLAGS = -M -MG -MP -MT "$(<:.c=.o) $@" -MF $@
-
 
187
 
-
 
188
# Combine all necessary flags and optional flags.
-
 
189
# Add target processor to flags.
-
 
190
#ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS)
-
 
191
#ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
-
 
192
 
-
 
193
 
177
 
-
 
178
# Define all dependency files.
-
 
179
DEP = $(OBJ:.o=.d)
194
 
180
 
-
 
181
BUILDDIRS = $(sort $(filter-out ./,$(dir $(OBJ))))
195
 
182
 
-
 
183
BIOS_RAM_END := $(shell $(AWK) '/0x[0-9a-f]+.*__bios_ram_end/ { print $$1 }' $(BIOSDIR)/bios.map)
-
 
184
 
-
 
185
# Compiler flags to generate dependency files.
-
 
186
GENDEPFLAGS = -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)"
196
 
187
 
197
# Default target.
188
# Default target.
198
all: begin sizebefore build sizeafter finished end
189
all: sizebefore buildtree config.h build sizeafter
199
 
190
 
200
build: elf hex eep lss sym
191
build: elf hex eep lss sym
201
 
192
 
202
elf: $(TARGET).elf
193
elf: $(TARGET).elf
203
hex: $(TARGET).hex
194
hex: $(TARGET).hex
204
eep: $(TARGET).eep
195
eep: $(TARGET).eep
205
lss: $(TARGET).lss 
196
lss: $(TARGET).lss 
206
sym: $(TARGET).sym
197
sym: $(TARGET).sym
207
config: config.h
-
 
208
 
-
 
209
install: hex
-
 
210
	$(CANUPLOAD) $(CANULFLAGS) -n $(NODE_ID) -f $(TARGET).hex -r
-
 
211
 
-
 
212
reset: 
-
 
213
	$(CANUPLOAD) $(CANULFLAGS) -n $(NODE_ID) -r
-
 
214
 
-
 
215
start: 
-
 
216
	$(CANUPLOAD) $(CANULFLAGS) -n $(NODE_ID) -s
-
 
217
 
-
 
218
# Eye candy.
-
 
219
# AVR Studio 3.x does not check make's exit code but relies on
-
 
220
# the following magic strings to be generated by the compile job.
-
 
221
begin:
-
 
222
	@echo
-
 
223
	@echo $(MSG_BEGIN)
-
 
224
 
-
 
225
finished:
-
 
226
	@echo $(MSG_ERRORS_NONE)
-
 
227
 
-
 
228
end:
-
 
229
	@echo $(MSG_END)
-
 
230
	@echo
-
 
231
 
198
 
-
 
199
buildtree: $(BUILDDIRS)
232
 
200
 
233
# Display size of file.
201
# Display size of file.
234
HEXSIZE = $(SIZE) --target=ihex $(TARGET).hex
202
HEXSIZE = $(SIZE) --target=ihex $(TARGET).hex
235
ELFSIZE = $(SIZE) $(TARGET).elf
203
ELFSIZE = $(SIZE) $(TARGET).elf
236
sizebefore:
204
sizebefore:
237
	@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); echo; fi
205
	@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); echo; fi
238
 
206
 
239
sizeafter:
207
sizeafter:
240
	@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi
208
	@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi
241
 
-
 
242
 
209
 
243
# Generate config.h from bios.inc and config.inc
210
# Generate config.h from bios.inc and config.inc
244
config.h: bios.inc config.inc
211
config.h: $(CFGDIR)/bios.inc $(CFGDIR)/config.inc
245
	@echo Generating $@
212
	@echo Generating $@
246
	@echo "/* This file is automatically generated. Do not edit. */\n" > $@
213
	@echo "/* This file is automatically generated. Do not edit. */\n" > $@
247
	@cat $^ | $(AWK) 'BEGIN { FS="="; print "#ifndef CONFIG_H_\n#define CONFIG_H_\n" } /^[^#].*=.*/ { print "#define "$$1,$$2 } END { print "\n#endif /*CONFIG_H_*/" }' >> $@
214
	@cat $^ | $(AWK) 'BEGIN { FS="="; print "#ifndef CONFIG_H_\n#define CONFIG_H_\n" } /^[^#].*=.*/ { print "#define "$$1,$$2 } END { print "\n#endif /*CONFIG_H_*/" }' >> $@
-
 
215
 
-
 
216
$(CFGDIR)/config.inc: $(SRCDIR)/config.inc.template
-
 
217
	@if [ ! -f $@ ]; then cp $< $@; fi
248
 
218
 
249
# Display compiler version information.
219
# Display compiler version information.
250
gccversion : 
220
gccversion : 
251
	@$(CC) --version
221
	@$(CC) --version
252
 
222
 
Line 257... Line 227...
257
--change-section-address .noinit-0x800000 \
227
--change-section-address .noinit-0x800000 \
258
--change-section-address .eeprom-0x810000 
228
--change-section-address .eeprom-0x810000 
259
 
229
 
260
 
230
 
261
coff: $(TARGET).elf
231
coff: $(TARGET).elf
262
	@echo
-
 
263
	@echo $(MSG_COFF) $(TARGET).cof
232
	@echo $(MSG_COFF) $(TARGET).cof
264
	$(COFFCONVERT) -O coff-avr $< $(TARGET).cof
233
	@$(COFFCONVERT) -O coff-avr $< $(TARGET).cof
265
 
-
 
266
 
234
 
267
extcoff: $(TARGET).elf
235
extcoff: $(TARGET).elf
268
	@echo
-
 
269
	@echo $(MSG_EXTENDED_COFF) $(TARGET).cof
236
	@echo $(MSG_EXTENDED_COFF) $(TARGET).cof
270
	$(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof
237
	@$(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof
271
 
238
 
272
# Create final output files (.hex, .eep) from ELF output file.
239
# Create final output files (.hex, .eep) from ELF output file.
273
%.hex: %.elf
240
%.hex: %.elf
274
	@echo
-
 
275
	@echo $(MSG_FLASH) $@
241
	@echo $(MSG_FLASH) $@
276
	$(OBJCOPY) -j .text -j .data -O ihex $< $@
242
	@$(OBJCOPY) -j .text -j .data -O ihex $< $@
277
 
243
 
278
%.eep: %.elf
244
%.eep: %.elf
279
	@echo
-
 
280
	@echo $(MSG_EEPROM) $@
245
	@echo $(MSG_EEPROM) $@
281
	-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
246
	-@$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
282
	--change-section-lma .eeprom=0 -O ihex $< $@
247
	--change-section-lma .eeprom=0 -O ihex $< $@
283
 
248
 
284
# Create extended listing file from ELF output file.
249
# Create extended listing file from ELF output file.
285
%.lss: %.elf
250
%.lss: %.elf
286
	@echo
-
 
287
	@echo $(MSG_EXTENDED_LISTING) $@
251
	@echo $(MSG_EXTENDED_LISTING) $@
288
	$(OBJDUMP) -h -S $< > $@
252
	@$(OBJDUMP) -h -S $< > $@
289
 
253
 
290
# Create a symbol table from ELF output file.
254
# Create a symbol table from ELF output file.
291
%.sym: %.elf
255
%.sym: %.elf
292
	@echo
-
 
293
	@echo $(MSG_SYMBOL_TABLE) $@
256
	@echo $(MSG_SYMBOL_TABLE) $@
294
	$(NM) -n $< > $@
257
	@$(NM) -n $< > $@
295
 
-
 
296
 
-
 
297
 
258
 
298
# Link: create ELF output file from object files.
259
# Link: create ELF output file from object files.
299
.SECONDARY : $(TARGET).elf
260
.SECONDARY : $(TARGET).elf
300
.PRECIOUS : $(OBJ)
261
.PRECIOUS : $(OBJ)
301
ifneq (,$(filter atmega88 atmega168, $(MCU)))
262
ifneq (,$(filter atmega88 atmega168, $(MCU)))
302
%.elf: $(OBJ)
263
%.elf: $(OBJ)
303
	@echo
-
 
304
	@echo $(MSG_LINKING) $@
264
	@echo $(MSG_LINKING) $@
305
	@echo GCC bug workaround for ATmega88/ATmega168:
265
	@echo GCC bug workaround for ATmega88/ATmega168:
306
	eval $$($(CC) -v $(CFLAGS) -o $@ $^ $(LDFLAGS) 2>&1 | $(AWK) '{ if (gsub("0x800100","$(BIOS_RAM_END)") == 1) print }')
266
	@eval $$($(CC) -v $(CFLAGS) -o $@ $^ $(LDFLAGS) 2>&1 | $(AWK) '{ if (gsub("0x800100","$(BIOS_RAM_END)") == 1) print }')
307
else
267
else
308
%.elf: $(OBJ)
268
%.elf: $(OBJ)
309
	@echo
-
 
310
	@echo $(MSG_LINKING) $@
269
	@echo $(MSG_LINKING) $@
311
	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
270
	@$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
312
endif
271
endif
313
 
272
 
314
# Compile: create object files from C source files.
273
# Compile: create object files from C source files.
315
%.o : %.c
274
%.o : %.c
316
	@echo
-
 
317
	@echo $(MSG_COMPILING) $<
275
	@echo $(MSG_COMPILING) $<
318
	$(CC) -c $(CFLAGS) $< -o $@ 
276
	@$(CC) -c $(CFLAGS) $< -o $@ 
319
 
-
 
320
 
277
 
321
# Compile: create assembler files from C source files.
278
# Compile: create assembler files from C source files.
322
%.s : %.c
279
%.s : %.c
323
	$(CC) -S $(CFLAGS) $< -o $@
280
	@$(CC) -S $(CFLAGS) $< -o $@
324
 
-
 
325
 
281
 
326
# Assemble: create object files from assembler source files.
282
# Assemble: create object files from assembler source files.
327
%.o : %.S
283
%.o : %.S
328
	@echo
-
 
329
	@echo $(MSG_ASSEMBLING) $<
284
	@echo $(MSG_ASSEMBLING) $<
330
	$(CC) -c $(ASFLAGS) $< -o $@
285
	$(CC) -c $(ASFLAGS) $< -o $@
331
 
286
 
332
# Depends: create dependency files from c source files.
287
# Depends: create dependency files from c source files.
333
%.d : %.c
288
#%.d : %.c | $(BUILDDIRS)
334
	@echo $(MSG_DEPEND) $<
289
#	@echo $(MSG_DEPEND) $<
335
	@$(CC) -c $(CFLAGS) $(GENDEPFLAGS) $<
290
#	@$(CC) -c $(CFLAGS) $(GENDEPFLAGS) $<
-
 
291
 
-
 
292
# Buildtree: create directories for output files.
-
 
293
$(BUILDDIRS) :
-
 
294
	@echo $(MSG_CREATE) $@
-
 
295
	@$(MKDIR) -p $@
336
 
296
 
337
# Target: clean project.
297
# Target: clean project.
338
clean: begin clean_list finished end
-
 
339
 
-
 
340
clean_list :
298
clean: 
341
	@echo
-
 
342
	@echo $(MSG_CLEANING)
299
	@echo $(MSG_CLEANING)
343
	$(REMOVE) $(TARGET).hex
300
	$(RM) $(TARGET).hex
344
	$(REMOVE) $(TARGET).eep
301
	$(RM) $(TARGET).eep
345
	$(REMOVE) $(TARGET).obj
-
 
346
	$(REMOVE) $(TARGET).cof
302
	$(RM) $(TARGET).cof
347
	$(REMOVE) $(TARGET).elf
303
	$(RM) $(TARGET).elf
348
	$(REMOVE) $(TARGET).map
304
	$(RM) $(TARGET).map
349
	$(REMOVE) $(TARGET).obj
-
 
350
	$(REMOVE) $(TARGET).a90
-
 
351
	$(REMOVE) $(TARGET).sym
305
	$(RM) $(TARGET).sym
352
	$(REMOVE) $(TARGET).lnk
-
 
353
	$(REMOVE) $(TARGET).lss
306
	$(RM) $(TARGET).lss
354
	$(REMOVE) $(OBJ)
307
	$(RM) $(OBJ)
355
	$(REMOVE) $(LST)
308
	$(RM) $(DEP)
356
	$(REMOVE) $(CSRC:.c=.s)
-
 
357
	$(REMOVE) $(CSRC:.c=.d)
-
 
358
	$(REMOVE) -r .dep
309
	$(RM) $(LST)
359
	$(REMOVE) config.h
310
	$(RM) config.h
360
 
311
 
361
 
312
distclean: clean
-
 
313
	$(RM) -r $(BUILDDIRS)
362
 
314
 
363
# Include the dependency files.
315
# Include the dependency files.
-
 
316
ifneq ($(MAKECMDGOALS),clean)
-
 
317
ifneq ($(strip $(DEP)),)
364
-include $(CSRC:%.c=%.d)
318
-include $(DEP)
-
 
319
endif
365
 
320
endif
366
 
321
 
367
# Listing of phony targets.
322
# Listing of phony targets.
368
.PHONY : all begin finish end sizebefore sizeafter gccversion \
323
.PHONY : all sizebefore sizeafter build \
369
build elf hex eep lss sym config coff extcoff \
324
elf hex eep lss sym coff extcoff clean \
370
clean clean_list program programlock programinit
325
distclean gccversion
371
 
326