diff --git a/HISTORY.md b/HISTORY.md index 1fec2cd..87a8027 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -18,6 +18,7 @@ The following is the rough list of changes that went into different versions. I - Compile with debugging symbols only when DEBUG=1 (https://github.com/peplin) - Replace Leonardo detection with Caterina detection (https://github.com/sej7278) - Autodetect baudrate only if either a .ino/.pde is present +- Allow building with Arduino core, without a .ino/.pde file ### 0.12.0 (2013-06-20) - Fix "generated_assembly" target, which got broken earlier. Fix issue #76 (https://github.com/matthijskooijman) diff --git a/arduino-mk/Arduino.mk b/arduino-mk/Arduino.mk index 23e621b..ff8deb3 100644 --- a/arduino-mk/Arduino.mk +++ b/arduino-mk/Arduino.mk @@ -601,19 +601,20 @@ LOCAL_OBJ_FILES = $(LOCAL_C_SRCS:.c=.o) $(LOCAL_CPP_SRCS:.cpp=.o) \ $(LOCAL_INO_SRCS:.ino=.o) $(LOCAL_AS_SRCS:.S=.o) LOCAL_OBJS = $(patsubst %,$(OBJDIR)/%,$(LOCAL_OBJ_FILES)) -# If NO_CORE is not set, then we need exactly one .pde or .ino file -ifeq ($(strip $(NO_CORE)),) +ifeq ($(words $(LOCAL_SRCS)), 0) + $(error Atleast one source file (*.ino, *.pde, *.cpp, *c, *cc, *.S) is needed) +endif - ifeq ($(words $(LOCAL_PDE_SRCS) $(LOCAL_INO_SRCS)), 0) - ifeq ($(strip $(NO_CORE)),) - $(error No .pde or .ino files found. If you want to compile .c or .cpp files, then set NO_CORE) - endif - endif +ifeq ($(strip $(NO_CORE)),) # Ideally, this should just check if there are more than one file ifneq ($(words $(LOCAL_PDE_SRCS) $(LOCAL_INO_SRCS)), 1) - #TODO: Support more than one file. https://github.com/sudar/Arduino-Makefile/issues/49 - $(error Need exactly one .pde or .ino file) + ifeq ($(words $(LOCAL_PDE_SRCS) $(LOCAL_INO_SRCS)), 0) + $(call show_config_info,No .pde or .ino files found. If you are compiling .c or .cpp files then you need to explicitly include Arduino header files) + else + #TODO: Support more than one file. https://github.com/sudar/Arduino-Makefile/issues/49 + $(error Need exactly one .pde or .ino file. This makefile doesn't support multiple .ino/.pde files yet) + endif endif endif