#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 comm.cpp 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 $@ $<