1
1
CC =avr-gcc
2
2
CXX =avr-g++
3
- # MCU=-mmcu=atmega328p
4
- # CPU_SPEED=-DF_CPU=16000000UL
5
- # VARIANTS=standard
3
+ MCU=-mmcu =atmega328p
4
+ CPU_SPEED=-DF_CPU =16000000UL
5
+ VARIANTS =standard
6
6
7
7
SPI_PATH =libraries/SPI
8
8
SD_PATH =libraries/SD
9
9
PINS_PATH =hardware/arduino/variants/$(VARIANTS )
10
10
WIRING_PATH =hardware/arduino/cores/arduino
11
11
ETHERNET_PATH =libraries/Ethernet
12
+ SOFTWARE_SERIAL_PATH =libraries/SoftwareSerial
12
13
13
- STATIC_LIBRARIES =libarduino.a libspi.a libethernet.a libsd.a librawsd.a
14
+ STATIC_LIBRARIES =libarduino.a libspi.a libethernet.a libsd.a librawsd.a libsoftwareserial.a libstring.a
14
15
15
16
HEADER_PATHS =-I$(SPI_PATH ) -I$(PINS_PATH ) -I$(WIRING_PATH ) -I$(ETHERNET_PATH ) \
16
- -I$(ETHERNET_PATH ) /utility -I$(SD_PATH ) -I$(SD_PATH ) /utility
17
+ -I$(ETHERNET_PATH ) /utility -I$(SD_PATH ) -I$(SD_PATH ) /utility -I $( SOFTWARE_SERIAL_PATH )
17
18
ENABLE_FLAGS =-DARDUINO_WIRING_DIGITAL -DARDUINO_LITE
18
19
19
- CFLAGS=-mmcu = $(MCU ) -DF_CPU= $(CPU_SPEED ) $(ENABLE_FLAGS ) -Os -w -funsigned-char \
20
+ CFLAGS =$(MCU ) $(CPU_SPEED ) $(ENABLE_FLAGS ) -Os -w -funsigned-char \
20
21
-funsigned-bitfields -fpack-struct -fshort-enums -fno-exceptions
21
22
23
+ STRING_CFLAGS =$(MCU ) $(CPU_SPEED ) -DARDUINO_WIRING_DIGITAL -DARDUINO_STRING -Os -w -funsigned-char \
24
+ -funsigned-bitfields -fpack-struct -fshort-enums
25
+
22
26
ARDUINO_FILES =wiring.c wiring_digital.c HardwareSerial.cpp \
23
27
WInterrupts.c Print.cpp IPAddress.cpp new.cpp
24
28
@@ -27,6 +31,10 @@ ETHERNET_FILES=Ethernet.cpp EthernetUdp.cpp utility/socket.cpp \
27
31
ETHERNET_SOURCES =$(addprefix $(ETHERNET_PATH ) /, $(ETHERNET_FILES ) )
28
32
ETHERNET_OBJECTS=$(ETHERNET_SOURCES:.cpp =.o)
29
33
34
+ SOFTWARE_SERIAL_FILES =SoftwareSerial.cpp
35
+ SOFTWARE_SERIAL_SOURCES =$(addprefix $(SOFTWARE_SERIAL_PATH ) /,$(SOFTWARE_SERIAL_FILES ) )
36
+ SOFTWARE_SERIAL_OBJECTS=$(SOFTWARE_SERIAL_SOURCES;.cpp =.o)
37
+
30
38
ARDUINO_SOURCES =$(addprefix $(WIRING_PATH ) /, $(ARDUINO_FILES ) )
31
39
ARDUINO_OBJECTS1 =$(filter % .cpp, $(ARDUINO_SOURCES ) )
32
40
ARDUINO_OBJECTS2 =$(filter % .c, $(ARDUINO_SOURCES ) )
@@ -35,36 +43,45 @@ ARDUINO_OBJECTS=$(ARDUINO_OBJECTS1:.cpp=.o) $(ARDUINO_OBJECTS2:.c=.o)
35
43
.phony : clean default
36
44
37
45
default : $(STATIC_LIBRARIES )
38
-
46
+
39
47
clean :
40
48
echo ------------- CLEAN
41
- rm -f libarduino.a libspi.a libethernet.a libsd.a librawsd.a
49
+ rm -f libarduino.a libspi.a libethernet.a libsd.a librawsd.a libsoftwareserial.a libstring.a
42
50
43
- libarduino.a : $(ARDUINO_OBJECTS )
51
+ libarduino.a : $(ARDUINO_OBJECTS )
44
52
echo ------------- LIBARDUINO
45
53
avr-ar rcs $@ $^
46
54
rm $(ARDUINO_OBJECTS )
47
55
48
56
libspi.a : $(SPI_PATH ) /SPI.cpp
49
57
$(CXX ) $(HEADER_PATHS ) $< $(CFLAGS ) -c -o $(SPI_PATH ) /SPI.o
50
58
avr-ar rcs $@ $(SPI_PATH ) /SPI.o
51
- rm $(SPI_PATH ) /SPI.o
59
+ rm $(SPI_PATH ) /SPI.o
52
60
53
61
libsd.a : $(SD_PATH ) /SD.cpp librawsd.a
54
62
@echo --------------------- LIB SD
55
63
$(CXX ) $(HEADER_PATHS ) $< $(CFLAGS ) -c -o $(SD_PATH ) /SD.o
56
64
avr-ar rcs $@ $(SD_PATH ) /SD.o
57
65
rm $(SD_PATH ) /SD.o
58
-
66
+
59
67
librawsd.a : $(SD_PATH ) /utility/Sd2Card.cpp
60
68
@echo --------------------- LIBRAWSD
61
69
$(CXX ) $(HEADER_PATHS ) $< $(CFLAGS ) -c -o $(SD_PATH ) /utility/SD2Card.o
62
70
avr-ar rcs $@ $(SD_PATH ) /utility/SD2Card.o
63
71
rm $(SD_PATH ) /utility/SD2Card.o
64
72
73
+ libstring.a : $(WIRING_PATH ) /WString.cpp
74
+ $(CXX ) $(HEADER_PATHS ) $< $(STRING_CFLAGS ) -c -o $(WIRING_PATH ) /WString.o
75
+ avr-ar rcs $@ $(WIRING_PATH ) /WString.o
76
+ rm $(WIRING_PATH ) /WString.o
77
+
65
78
libethernet.a : $(ETHERNET_OBJECTS )
66
79
avr-ar rcs $@ $^
67
- rm $(ETHERNET_OBJECTS )
80
+ rm $(ETHERNET_OBJECTS )
81
+
82
+ libsoftwareserial.a : $(SOFTWARE_SERIAL_PATH ) /SoftwareSerial.cpp
83
+ $(CXX ) $(HEADER_PATHS ) $< $(CFLAGS ) -c -o $(SOFTWARE_SERIAL_PATH ) /SoftwareSerial.o
84
+ avr-ar rcs $@ $(SOFTWARE_SERIAL_PATH ) /SoftwareSerial.o
68
85
69
86
$(ETHERNET_PATH ) /% .o : $(ETHERNET_PATH ) /% .cpp
70
87
$(CXX ) $(HEADER_PATHS ) $< $(CFLAGS ) -c -o $@
@@ -74,3 +91,4 @@ $(WIRING_PATH)/%.o : $(WIRING_PATH)/%.c
74
91
75
92
$(WIRING_PATH ) /% .o : $(WIRING_PATH ) /% .cpp
76
93
$(CXX ) $(HEADER_PATHS ) $< $(CFLAGS ) -c -o $@
94
+
0 commit comments