11CC =avr-gcc
22CXX =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
66
77SPI_PATH =libraries/SPI
88SD_PATH =libraries/SD
99PINS_PATH =hardware/arduino/variants/$(VARIANTS )
1010WIRING_PATH =hardware/arduino/cores/arduino
1111ETHERNET_PATH =libraries/Ethernet
12+ SOFTWARE_SERIAL_PATH =libraries/SoftwareSerial
1213
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
1415
1516HEADER_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 )
1718ENABLE_FLAGS =-DARDUINO_WIRING_DIGITAL -DARDUINO_LITE
1819
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 \
2021 -funsigned-bitfields -fpack-struct -fshort-enums -fno-exceptions
2122
23+ STRING_CFLAGS =$(MCU ) $(CPU_SPEED ) -DARDUINO_WIRING_DIGITAL -DARDUINO_STRING -Os -w -funsigned-char \
24+ -funsigned-bitfields -fpack-struct -fshort-enums
25+
2226ARDUINO_FILES =wiring.c wiring_digital.c HardwareSerial.cpp \
2327 WInterrupts.c Print.cpp IPAddress.cpp new.cpp
2428
@@ -27,6 +31,10 @@ ETHERNET_FILES=Ethernet.cpp EthernetUdp.cpp utility/socket.cpp \
2731ETHERNET_SOURCES =$(addprefix $(ETHERNET_PATH ) /, $(ETHERNET_FILES ) )
2832ETHERNET_OBJECTS=$(ETHERNET_SOURCES:.cpp =.o)
2933
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+
3038ARDUINO_SOURCES =$(addprefix $(WIRING_PATH ) /, $(ARDUINO_FILES ) )
3139ARDUINO_OBJECTS1 =$(filter % .cpp, $(ARDUINO_SOURCES ) )
3240ARDUINO_OBJECTS2 =$(filter % .c, $(ARDUINO_SOURCES ) )
@@ -35,36 +43,45 @@ ARDUINO_OBJECTS=$(ARDUINO_OBJECTS1:.cpp=.o) $(ARDUINO_OBJECTS2:.c=.o)
3543.phony : clean default
3644
3745default : $(STATIC_LIBRARIES )
38-
46+
3947clean :
4048 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
4250
43- libarduino.a : $(ARDUINO_OBJECTS )
51+ libarduino.a : $(ARDUINO_OBJECTS )
4452 echo ------------- LIBARDUINO
4553 avr-ar rcs $@ $^
4654 rm $(ARDUINO_OBJECTS )
4755
4856libspi.a : $(SPI_PATH ) /SPI.cpp
4957 $(CXX ) $(HEADER_PATHS ) $< $(CFLAGS ) -c -o $(SPI_PATH ) /SPI.o
5058 avr-ar rcs $@ $(SPI_PATH ) /SPI.o
51- rm $(SPI_PATH ) /SPI.o
59+ rm $(SPI_PATH ) /SPI.o
5260
5361libsd.a : $(SD_PATH ) /SD.cpp librawsd.a
5462 @echo --------------------- LIB SD
5563 $(CXX ) $(HEADER_PATHS ) $< $(CFLAGS ) -c -o $(SD_PATH ) /SD.o
5664 avr-ar rcs $@ $(SD_PATH ) /SD.o
5765 rm $(SD_PATH ) /SD.o
58-
66+
5967librawsd.a : $(SD_PATH ) /utility/Sd2Card.cpp
6068 @echo --------------------- LIBRAWSD
6169 $(CXX ) $(HEADER_PATHS ) $< $(CFLAGS ) -c -o $(SD_PATH ) /utility/SD2Card.o
6270 avr-ar rcs $@ $(SD_PATH ) /utility/SD2Card.o
6371 rm $(SD_PATH ) /utility/SD2Card.o
6472
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+
6578libethernet.a : $(ETHERNET_OBJECTS )
6679 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
6885
6986$(ETHERNET_PATH ) /% .o : $(ETHERNET_PATH ) /% .cpp
7087 $(CXX ) $(HEADER_PATHS ) $< $(CFLAGS ) -c -o $@
@@ -74,3 +91,4 @@ $(WIRING_PATH)/%.o : $(WIRING_PATH)/%.c
7491
7592$(WIRING_PATH ) /% .o : $(WIRING_PATH ) /% .cpp
7693 $(CXX ) $(HEADER_PATHS ) $< $(CFLAGS ) -c -o $@
94+
0 commit comments