-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathmakefile.mk
102 lines (83 loc) · 2.58 KB
/
makefile.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# ---------------------------------------------------------------
# makefile.mk
#
# gemeinsames Makefile fuer alle STM8-Projekte, wird von
# den entsprechenden Makefiles der Projekte includiert
#
# Die Makefiles der Projekte enthalten lediglich den
# Quelldateinamen des Programms aus dem ein auf dem
# STM8 lauffaehiges Programm generiert werden soll
#
# August 2016 R. Seelig
#
# ---------------------------------------------------------------
# Pfad zu Include Dateien
INCLUDE_PATH = -I../include/
# Compilersymbole (defines)
CC_SYMBOLS =-DF_CPU=16000000
# -----------------------------------------------------------------------------------------------------
# hier endet das "User-Interface des Makefiles und es sollte ab hier nur mit Bedacht Aenderungen
# vorgenommen werden !!!
# -----------------------------------------------------------------------------------------------------
# Typename Flasherprogramm fuer den STLINK/V2
DEVICE_NAME = stm8s103f3
# Pfad zu Bibliothekn
LIBSPEC =-lstm8 -mstm8
OBJS = $(SRC_NAME).rel $(ADD_LIBS)
CC_FLAGS =--std-c99 --opt-code-size --disable-warning 197 --disable-warning 84 --disable-warning 185
CC = sdcc
LD = sdld
ADD_LIBS += $(SRCS)
.PHONY: all compile clean flash complete
all: $(OBJS)
@echo "Linking $(SRC_NAME).c with libs, Intel-Hex-File: $(SRC_NAME).ihx"
$(CC) $(LIBSPEC) $(INCLUDE_PATH) --out-fmt-ihx $(OBJS)
@rm -f ../src/*.asm
@rm -f ../src/*.rst
@rm -f ../src/*.rel
@rm -f ../src/*.sym
@rm -f ../src/*.lst
@rm -f ../src/*.map
@rm -f ../src/*.cdb
@rm -f ../src/*.lk
@rm -f ../src/*.mem
@echo " " 1>&2
@echo " ------ Programm build sucessfull -----" 1>&2
@echo " " 1>&2
@../st8readihx $(SRC_NAME).ihx
compile:
$(CC) $(LIBSPEC) $(CC_FLAGS) $(CC_SYMBOLS) $(INCLUDE_PATH) $(SRC_NAME).c -o $(SRC_NAME).rel
clean:
@rm -f *.asm
@rm -f *.rst
@rm -f *.ihx
@rm -f *.rel
@rm -f *.sym
@rm -f *.lst
@rm -f *.map
@rm -f *.cdb
@rm -f *.lk
@rm -f *.mem
@rm -f ../src/*.asm
@rm -f ../src/*.rst
@rm -f ../src/*.rel
@rm -f ../src/*.sym
@rm -f ../src/*.lst
@rm -f ../src/*.map
@rm -f ../src/*.cdb
@rm -f ../src/*.lk
@rm -f ../src/*.mem
@rm -f /usr/share/sdcc/lib/src/*.lst
@rm -f /usr/share/sdcc/lib/src/*.rel
@rm -f /usr/share/sdcc/lib/src/*.rst
@rm -f /usr/share/sdcc/lib/src/*.sym
@echo "Cleaning done..."
%.rel: %.c
$(CC) $(LIBSPEC) $(CC_FLAGS) $(CC_SYMBOLS) $(INCLUDE_PATH) -c $< -o $@
flash:
ifeq ($(FLASHERPROG), 1)
stm8_bootflash /dev/ttyUSB0 $(SRC_NAME).ihx notxbar
else
../stm8flash -c stlinkv2 -p $(DEVICE_NAME) -w $(SRC_NAME).ihx
endif
complete: clean all flash