blob: d85d9a8b94ac02bf70907c24ca7ebbd215cd2283 (
plain)
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
|
#CC = /usr/share/arduino/hardware/tools/avr/bin/avr-gcc
CC = avr-gcc
WFLAGS = -Wall -Wextra -Wno-attributes
WFLAGS += -fdiagnostics-color=auto
EXTRA_CFLAGS = $(shell cat .syntastic_c_config) -O2 $(CFLAGS)
MY_SOURCES = Venus_Skeleton.ino
MY_OBJECTS = $(patsubst %.cpp,%.o,$(patsubst %.ino,%.o,$(MY_SOURCES)))
LIBS_SOURCES = $(wildcard libs/*/*.cpp)
LIBS_OBJECTS = $(patsubst %.cpp,%.o,$(LIBS_SOURCES))
SOURCES = $(MY_SOURCES) $(LIBS_SOURCES)
OBJECTS = $(MY_OBJECTS) $(LIBS_OBJECTS)
PROGRAM ?= main
_V_0 = @
_V = $(_V_$(V))
.PHONY: main clean check
check:
rm -f $(MY_OBJECTS)
$(MAKE) $(MY_OBJECTS)
# Note: does not compile due to link errors.
$(PROGRAM): $(OBJECTS)
$(_V)$(CC) $(WFLAGS) $(EXTRA_CFLAGS) $(OBJECTS) -o $@
clean:
$(_V)rm -f $(PROGRAM) $(OBJECTS)
# Not my code...
libs/%.o: libs/%.cpp
$(_V)$(CC) -w $(EXTRA_CFLAGS) -c -o $@ $<
%.o: %.cpp
$(_V)$(CC) $(WFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
%.o: %.ino
$(_V)$(CC) $(WFLAGS) $(EXTRA_CFLAGS) -c -x c++ -o $@ $<
|