Browse Source

More folders only compiled when their feature is Enabled (#18780)

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Victor Oliveira 3 years ago
parent
commit
e02817b077

+ 7
- 0
Marlin/src/inc/Conditionals_LCD.h View File

@@ -748,3 +748,10 @@
748 748
 #ifndef EXTRUDE_MINTEMP
749 749
   #define EXTRUDE_MINTEMP 170
750 750
 #endif
751
+
752
+/**
753
+ * To check if we need the folder src/features/leds
754
+ */
755
+#if ANY(TEMP_STAT_LEDS, HAS_COLOR_LEDS, HAS_CASE_LIGHT, PRINTER_EVENT_LEDS, LED_BACKLIGHT_TIMEOUT, PCA9632_BUZZER, LED_CONTROL_MENU)
756
+  #define HAS_LED_FEATURE 1
757
+#endif

buildroot/share/PlatformIO/scripts/common-features-dependencies.h → buildroot/share/PlatformIO/scripts/common-dependencies.h View File

@@ -24,7 +24,7 @@
24 24
 /**
25 25
  * The purpose of this file is just include Marlin Configuration files,
26 26
  * to discover which FEATURES are enabled, without any HAL include.
27
- * Used by common-features-dependencies.py
27
+ * Used by common-dependencies.py
28 28
  */
29 29
 
30 30
 #include <stdint.h>

buildroot/share/PlatformIO/scripts/common-features-dependencies.py → buildroot/share/PlatformIO/scripts/common-dependencies.py View File

@@ -1,5 +1,5 @@
1 1
 #
2
-# common-features-dependencies.py
2
+# common-dependencies.py
3 3
 # Convenience script to check dependencies and add libs and sources for Marlin Enabled Features
4 4
 #
5 5
 import subprocess
@@ -190,7 +190,7 @@ def load_marlin_features():
190 190
 		else:
191 191
 			cmd += ['-D' + s]
192 192
 
193
-	cmd += ['-w -dM -E -x c++ buildroot/share/PlatformIO/scripts/common-features-dependencies.h']
193
+	cmd += ['-w -dM -E -x c++ buildroot/share/PlatformIO/scripts/common-dependencies.h']
194 194
 	cmd = ' '.join(cmd)
195 195
 	print(cmd)
196 196
 	define_list = subprocess.check_output(cmd, shell=True).splitlines()

+ 40
- 22
platformio.ini View File

@@ -25,10 +25,18 @@ include_dir  = Marlin
25 25
 # The 'common' values are used for most Marlin builds
26 26
 #
27 27
 [common]
28
-default_src_filter = +<src/*> -<src/config> -<src/HAL> +<src/HAL/shared> -<src/lcd/extui/lib/mks_ui>
29
-  -<src/lcd/menu> -<src/lcd/dwin> -<src/lcd/extui/lib/dgus> -<src/lcd/extui/lib/ftdi_eve_touch_ui> -<src/lcd/dogm>
28
+default_src_filter = +<src/*> -<src/config> -<src/HAL> +<src/HAL/shared>
29
+  -<src/lcd/HD44780> -<src/lcd/dwin> -<src/lcd/dogm> -<src/lcd/menu>
30
+  -<src/lcd/extui/lib/mks_ui> -<src/lcd/extui/lib/dgus> -<src/lcd/extui/lib/ftdi_eve_touch_ui> -<src/lcd/extui/lib/anycubic>
31
+  -<src/sd/usb_flashdrive>
32
+  -<src/gcode/feature/trinamic>
33
+  -<src/feature/bedlevel/abl> -<src/gcode/bedlevel/abl>
34
+  -<src/feature/bedlevel/mbl> -<src/gcode/bedlevel/mbl>
35
+  -<src/feature/bedlevel/ubl> -<src/gcode/bedlevel/ubl>
36
+  -<src/feature/dac> -<src/feature/digipot>
37
+  -<src/feature/leds>
30 38
 extra_scripts      =
31
-  pre:buildroot/share/PlatformIO/scripts/common-features-dependencies.py
39
+  pre:buildroot/share/PlatformIO/scripts/common-dependencies.py
32 40
   pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py
33 41
 build_flags        = -fmax-errors=5 -g -D__MARLIN_FIRMWARE__ -fmerge-all-constants
34 42
 lib_deps           =
@@ -37,24 +45,34 @@ lib_deps           =
37 45
 # Feature Dependencies
38 46
 #
39 47
 [features]
40
-HAS_TFT_LVGL_UI     = lvgl=https://github.com/makerbase-mks/MKS-LittlevGL/archive/master.zip
41
-                      src_filter=+<src/lcd/extui/lib/mks_ui>
42
-                      extra_scripts=download_mks_assets.py
43
-HAS_TRINAMIC_CONFIG = TMCStepper@~0.7.1
44
-SR_LCD_3W_NL        = SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip
45
-DIGIPOT_MCP4...     = SlowSoftI2CMaster
46
-HAS_TMC26X          = TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
47
-HAS_L64XX           = Arduino-L6470@0.8.0
48
-NEOPIXEL_LED        = Adafruit NeoPixel@1.5.0
49
-MAX6675_IS_MAX31865 = Adafruit MAX31865 library@~1.1.0
50
-HAS_GRAPHICAL_LCD   = U8glib-HAL@0.4.1
51
-                      src_filter=+<src/lcd/dogm>
52
-USES_LIQUIDCRYSTAL  = LiquidCrystal@1.5.0
53
-USES_LIQUIDTWI2     = LiquidTWI2@1.2.7
54
-TOUCH_UI_FTDI_EVE   = src_filter=+<src/lcd/extui/lib/ftdi_eve_touch_ui>
55
-HAS_DGUS_LCD        = src_filter=+<src/lcd/extui/lib/dgus>
56
-DWIN_CREALITY_LCD   = src_filter=+<src/lcd/dwin>
57
-HAS_LCD_MENU        = src_filter=+<src/lcd/menu>
48
+HAS_TFT_LVGL_UI         = lvgl=https://github.com/makerbase-mks/MKS-LittlevGL/archive/master.zip
49
+                          src_filter=+<src/lcd/extui/lib/mks_ui>
50
+                          extra_scripts=download_mks_assets.py
51
+HAS_TRINAMIC_CONFIG     = TMCStepper@~0.7.1
52
+                          src_filter=+<src/gcode/feature/trinamic>
53
+SR_LCD_3W_NL            = SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip
54
+DIGIPOT_MCP4...         = SlowSoftI2CMaster
55
+HAS_TMC26X              = TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
56
+HAS_L64XX               = Arduino-L6470@0.8.0
57
+NEOPIXEL_LED            = Adafruit NeoPixel@1.5.0
58
+MAX6675_IS_MAX31865     = Adafruit MAX31865 library@~1.1.0
59
+HAS_GRAPHICAL_LCD       = U8glib-HAL@0.4.1
60
+                          src_filter=+<src/lcd/dogm>
61
+USES_LIQUIDCRYSTAL      = LiquidCrystal@1.5.0
62
+USES_LIQUIDTWI2         = LiquidTWI2@1.2.7
63
+DWIN_CREALITY_LCD       = src_filter=+<src/lcd/dwin>
64
+HAS_CHARACTER_LCD       = src_filter=+<src/lcd/HD44780>
65
+HAS_LCD_MENU            = src_filter=+<src/lcd/menu>
66
+HAS_DGUS_LCD            = src_filter=+<src/lcd/extui/lib/dgus>
67
+TOUCH_UI_FTDI_EVE       = src_filter=+<src/lcd/extui/lib/ftdi_eve_touch_ui>
68
+ANYCUBIC_TFT_MODEL      = src_filter=+<src/lcd/extui/lib/anycubic>
69
+USB_FLASH_DRIVE_SUPPORT = src_filter=+<src/sd/usb_flashdrive>
70
+AUTO_BED_LEVELING_(3POINT|(BI)?LINEAR) = src_filter=+<src/feature/bedlevel/abl> +<src/gcode/bedlevel/abl>
71
+MESH_BED_LEVELING       = src_filter=+<src/feature/bedlevel/mbl> +<src/gcode/bedlevel/mbl>
72
+AUTO_BED_LEVELING_UBL   = src_filter=+<src/feature/bedlevel/ubl> +<src/gcode/bedlevel/ubl>
73
+DAC_STEPPER_CURRENT     = src_filter=+<src/feature/dac>
74
+HAS_I2C_DIGIPOT         = src_filter=+<src/feature/digipot>
75
+HAS_LED_FEATURE         = src_filter=+<src/feature/leds>
58 76
 (ESP3D_)?WIFISUPPORT = AsyncTCP, ESP Async WebServer
59 77
   ESP3DLib=https://github.com/luc-github/ESP3DLib.git
60 78
   arduinoWebSockets=https://github.com/Links2004/arduinoWebSockets.git
@@ -699,7 +717,7 @@ src_filter  = ${common.default_src_filter} +<src/HAL/STM32>
699 717
 platform      = ${common_stm32f1.platform}
700 718
 extends       = common_stm32f1
701 719
 board         = CHITU_F103
702
-extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-features-dependencies.py
720
+extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-dependencies.py
703 721
   pre:buildroot/share/PlatformIO/scripts/STM32F1_create_variant.py
704 722
   buildroot/share/PlatformIO/scripts/chitu_crypt.py
705 723
 build_flags   = ${common_stm32f1.build_flags}

Loading…
Cancel
Save