@@ -19,19 +19,19 @@ OBJCOPY := avr-objcopy
19
19
20
20
CFLAGS := -std=c99 -Wall -Wextra -g -Os -fdata-sections -ffunction-sections -fshort-enums -mmcu=$(MCU ) -DF_CPU=$(F_CPU )
21
21
CPPFLAGS := $(INCLUDES:%=-I% )
22
- LDFLAGS := -Xlinker --gc-sections -Xlinker -Map=$(EXEC ) .map -Xlinker --relax # -Xlinker --strip-all
22
+ LDFLAGS := -Xlinker --gc-sections -Xlinker -Map=$(EXEC ) .map -Xlinker --relax -Wl,-u,vfprintf -lprintf_flt -lm # -Xlinker --strip-all
23
23
24
24
25
25
26
26
OBJS := $(SOURCES:.c=.o ) # For every .c file associate a .o (object) file
27
27
PREPROCESSED := $(SOURCES:.c=.i ) # For every .c file associate a .i (preprocessed) file
28
28
ASSEMBLIES := $(SOURCES:.c=.s ) # For every .c file associate a .s (Assembly) file
29
- DEPENDENCIES := $(SOURCES:.c=.o.d )
29
+ DEPENDENCIES := $(SOURCES:.c=.o.d ) $( TESTS:.c=.o.d )
30
30
TESTSOBJS := $(TESTS:.c=.o )
31
31
32
32
33
33
module_name :=
34
- EXEC := out
34
+ EXEC := $( EXEC )
35
35
MAINFUNC :=
36
36
37
37
@@ -101,7 +101,7 @@ $(EXEC).lss: $(EXEC).elf
101
101
$(EXEC ) .elf : $(OBJS ) $(MAINFUNC )
102
102
@echo Building Target: $@
103
103
$(CC ) $(CFLAGS ) $(CPPFLAGS ) $(LDFLAGS ) $(OBJS ) $(MAINFUNC ) -o $(EXEC ) .elf
104
- avr-size -C $(EXEC ) .elf
104
+ @ avr-size -C $(EXEC ) .elf
105
105
106
106
107
107
@@ -129,7 +129,7 @@ $(EXEC).elf: $(OBJS) $(MAINFUNC)
129
129
# `make x.hex` generate an object file, x.hex from elf file, x.elf,.
130
130
% .hex :% .elf
131
131
@echo Genrating hex file --------------------------------- $@
132
- $(OBJCOPY ) -j .text -j .data -O ihex $< $@
132
+ @ $(OBJCOPY ) -j .text -j .data -O ihex $< $@
133
133
134
134
135
135
# `make docs` for generating documentation
@@ -147,22 +147,23 @@ module:
147
147
@mkdir -p $(shell dirname ${module_name})
148
148
@touch $(module_name ) _config.h \
149
149
$(module_name ) _interface.h \
150
- $(module_name ) _programg .c \
150
+ $(module_name ) _program .c \
151
151
$(module_name ) _register.h \
152
152
$(module_name ) _private.h
153
153
154
154
155
155
.PHONY : test
156
156
test :
157
- @echo The Sources are: $(SOURCES )
157
+ @echo The Sources are : $(SOURCES )
158
158
@echo
159
- @echo The Includes are: $(INCLUDES )
159
+ @echo The Includes are : $(INCLUDES )
160
160
@echo
161
- @echo The objects are: $(OBJS )
162
- @echo Test files are: $(TESTSOBJS )
161
+ @echo The objects are : $(OBJS )
162
+ @echo Test files are : $(TESTSOBJS )
163
163
164
164
165
165
.PHONY : clean
166
166
clean :
167
- rm -rf $(OBJS ) $(PREPROCESSED ) $(ASSEMBLIES ) $(DEPENDENCIES ) \
167
+ @ rm -rf $(OBJS ) $(PREPROCESSED ) $(ASSEMBLIES ) $(DEPENDENCIES ) $( TESTSOBJS ) \
168
168
* .out * .map * .elf * .map * .hex * .s * .i * .d * .lss * .o * .obj
169
+ @echo CLEANED!
0 commit comments