Skip to content

Commit 0b52e05

Browse files
author
Henning Hasemann
committed
Merge pull request ibr-alg#1 from parita/lite
Lite: Makefile changes to link SoftwareSerial library and String library for wiselib [GSoC'13]
2 parents e945990 + 65eacdf commit 0b52e05

File tree

1 file changed

+30
-12
lines changed

1 file changed

+30
-12
lines changed

Makefile

+30-12
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,28 @@
11
CC=avr-gcc
22
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
66

77
SPI_PATH=libraries/SPI
88
SD_PATH=libraries/SD
99
PINS_PATH=hardware/arduino/variants/$(VARIANTS)
1010
WIRING_PATH=hardware/arduino/cores/arduino
1111
ETHERNET_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

1516
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)
1718
ENABLE_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+
2226
ARDUINO_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 \
2731
ETHERNET_SOURCES=$(addprefix $(ETHERNET_PATH)/, $(ETHERNET_FILES))
2832
ETHERNET_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+
3038
ARDUINO_SOURCES=$(addprefix $(WIRING_PATH)/, $(ARDUINO_FILES))
3139
ARDUINO_OBJECTS1=$(filter %.cpp, $(ARDUINO_SOURCES))
3240
ARDUINO_OBJECTS2=$(filter %.c, $(ARDUINO_SOURCES))
@@ -35,36 +43,45 @@ ARDUINO_OBJECTS=$(ARDUINO_OBJECTS1:.cpp=.o) $(ARDUINO_OBJECTS2:.c=.o)
3543
.phony: clean default
3644

3745
default: $(STATIC_LIBRARIES)
38-
46+
3947
clean:
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

4856
libspi.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

5361
libsd.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+
5967
librawsd.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+
6578
libethernet.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

Comments
 (0)