Let the Makefile decide which include to use for .pde files

Previously, the C preprocessor would pick either Arduino.h or WProgram.h
based on a define. Now, the Makefile makes the decision earlier. This
prevents having to duplicate the #if line in the next commit.
This commit is contained in:
Matthijs Kooijman 2013-05-30 13:29:25 +02:00
parent 1329730dfe
commit 97fa5ae161

View file

@ -686,6 +686,19 @@ ifndef MONITOR_CMD
MONITOR_CMD = screen
endif
########################################################################
# Include file to use for old .pde files
#
ifndef PDE_INCLUDE
# We should check for Arduino version, if the file is .pde because a
# .pde file might be used in Arduino 1.0
ifeq ($(shell expr $(ARDUINO_VERSION) '<' 100), 1)
PDE_INCLUDE=WProgram.h
else
PDE_INCLUDE=Arduino.h
endif
endif
########################################################################
# Rules for making stuff
#
@ -845,11 +858,9 @@ $(OBJDIR)/%.d: %.S $(COMMON_DEPS)
$(OBJDIR)/%.d: %.s $(COMMON_DEPS)
$(CC) -MM $(CPPFLAGS) $(ASFLAGS) $< -MF $@ -MT $(@:.d=.o)
#backward compatibility for .pde files
# We should check for Arduino version, if the file is .pde because a .pde file might be used in Arduino 1.0
# the pde -> cpp -> o file
$(OBJDIR)/%.cpp: %.pde $(COMMON_DEPS)
$(ECHO) '#if ARDUINO >= 100\n #include "Arduino.h"\n#else\n #include "WProgram.h"\n#endif\n#line 1' > $@
$(ECHO) '#include "$(PDE_INCLUDE)"\n#line 1' > $@
$(CAT) $< >> $@
# the ino -> cpp -> o file