From 20fbb751f1edd31f33335ce2d4aa26e44c40d524 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <github@thinkyhead.com>
Date: Sun, 15 Sep 2019 02:26:30 -0500
Subject: [PATCH] Tell externals it's Marlin

---
 Marlin/src/inc/MarlinConfigPre.h |  2 ++
 platformio.ini                   | 10 +++++-----
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/Marlin/src/inc/MarlinConfigPre.h b/Marlin/src/inc/MarlinConfigPre.h
index a53a45523eb..3aec32b24e8 100644
--- a/Marlin/src/inc/MarlinConfigPre.h
+++ b/Marlin/src/inc/MarlinConfigPre.h
@@ -21,7 +21,9 @@
  */
 #pragma once
 
+#ifndef __MARLIN_FIRMWARE__
 #define __MARLIN_FIRMWARE__
+#endif
 
 //
 // Prefix header to acquire configurations
diff --git a/platformio.ini b/platformio.ini
index 52259297328..d446aeb7e0c 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -23,7 +23,7 @@ default_envs = megaatmega2560
 [common]
 default_src_filter = +<src/*> -<src/config> -<src/HAL> +<src/HAL/shared>
 extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py
-build_flags = -fmax-errors=5 -g
+build_flags = -fmax-errors=5 -g -D__MARLIN_FIRMWARE__
 lib_deps =
   U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip
   LiquidCrystal@1.3.4
@@ -149,7 +149,7 @@ monitor_speed = 250000
 platform          = https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/master.zip
 framework         = arduino
 board             = nxp_lpc1768
-build_flags       = -DTARGET_LPC1768 -DU8G_HAL_LINKS -IMarlin/src/HAL/HAL_LPC1768/include -IMarlin/src/HAL/HAL_LPC1768/u8g ${common.build_flags}
+build_flags       = -DTARGET_LPC1768 -DU8G_HAL_LINKS  -IMarlin/src/HAL/HAL_LPC1768/include -IMarlin/src/HAL/HAL_LPC1768/u8g ${common.build_flags}
 # debug options for backtrace
 #  -funwind-tables
 #  -mpoke-function-name
@@ -532,7 +532,7 @@ platform    = ststm32
 framework   = arduino
 board       = malyanM200
 build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py -DMCU_STM32F103CB -D __STM32F1__=1 -std=c++1y -D MOTHERBOARD="BOARD_MALYAN_M200" -DSERIAL_USB -ffunction-sections -fdata-sections -Wl,--gc-sections
-  -DDEBUG_LEVEL=0
+  -DDEBUG_LEVEL=0 -D__MARLIN_FIRMWARE__
 src_filter  = ${common.default_src_filter} +<src/HAL/HAL_STM32F1>
 #-<frameworks>
 lib_ignore  = Adafruit NeoPixel, LiquidCrystal, LiquidTWI2, TMCStepper, U8glib-HAL, SPI
@@ -573,7 +573,7 @@ monitor_speed     = 250000
 #
 [env:linux_native]
 platform        = native
-build_flags     = -D__PLAT_LINUX__ -std=gnu++17 -ggdb -g -lrt -lpthread
+build_flags     = -D__PLAT_LINUX__ -std=gnu++17 -ggdb -g -lrt -lpthread -D__MARLIN_FIRMWARE__
 src_build_flags = -Wall -IMarlin/src/HAL/HAL_LINUX/include
 build_unflags   = -Wall
 lib_ldf_mode    = off
@@ -602,7 +602,7 @@ debug_tool    = jlink
 platform    = atmelavr
 framework   = arduino
 board       = megaatmega2560
-build_flags = -c -H -std=gnu++11 -Wall -Os
+build_flags = -c -H -std=gnu++11 -Wall -Os -D__MARLIN_FIRMWARE__
 lib_deps    = ${common.lib_deps}
   TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
 src_filter  = +<src/Marlin.cpp>