% building multiple runtimes in one file is causing total rebuilds

This commit is contained in:
Vovanium 2024-03-23 19:14:09 +03:00
parent bba8664dac
commit bf814c6ed8
16 changed files with 36 additions and 58 deletions

View File

@ -6,7 +6,7 @@ LIBRARY_TARGET = \
light_stm32f4_library \
light_tasking_stm32f4_library \
light_tasking_stm32f429disco_library \
stm32f4
all: library examples
@ -21,7 +21,7 @@ clean: $(LIBRARY_TARGET:%=%-clean)
gprclean -P library/gpr/$*.gpr
examples:
cd examples; make all
cd examples; $(MAKE) all
test:
echo $(TARGET)

View File

@ -1,8 +1,8 @@
all :
cd lcd_demo; make all
cd led_flasher; make all
cd sdram_test; make all
cd spi_lcd; make all
cd uart; make all
cd lcd_demo; $(MAKE) all
cd led_flasher; $(MAKE) all
cd sdram_test; $(MAKE) all
cd spi_lcd; $(MAKE) all
cd uart; $(MAKE) all
.PHONY: all
.PHONY: all

View File

@ -1,36 +0,0 @@
with "../../library/gpr/stm32f4.gpr";
project LED_Flasher_429disco is
type Board_Type is ("401c_blackpill", "407z_piswords", "429disco");
Board : Board_Type := external ("BOARD");
case Board is
when "401c_blackpill" =>
for Runtime("Ada") use "light-tasking-stm32f401";
when "429disco" =>
for Runtime("Ada") use "light-tasking-stm32f429disco";
when others =>
for Runtime("Ada") use "light-tasking-stm32f4";
end case;
for Languages use("Ada");
for Main use("led_flasher.adb");
for Object_Dir use "objects/" & Board;
for Target use "arm-eabi";
for Source_Dirs use(".", "../common/" & Board);
package Compiler is
for Default_Switches("Ada") use ("-gnatwa.X", "-gnatQ", "-gnatn", "-O2");
end Compiler;
package Builder is
for Default_Switches("Ada") use ("-ggdb");
end Builder;
package IDE is
for Program_Host use "localhost:4242";
for Communication_Protocol use "remote";
for Connection_Tool use "st-util";
end IDE;
end LED_Flasher_429disco;

View File

@ -1,4 +1,4 @@
with "../../library/gpr/light_tasking_stm32f4_library.gpr";
with "../../library/gpr/light_tasking_stm32f401_library.gpr";
project LED_Flasher_401c_BlackPill is
for Languages use("Ada");

View File

@ -6,7 +6,7 @@ project LED_Flasher_407z_PiSwords is
for Object_Dir use "objects/407z_piswords";
for Target use "arm-eabi";
for Runtime("Ada") use "light-tasking-stm32f4";
for Source_Dirs use(".", "../common/407z-piswords");
for Source_Dirs use(".", "../common/407z_piswords");
package Compiler is
for Default_Switches("Ada") use ("-gnatwa.X", "-gnatQ", "-gnatn", "-O2");

View File

@ -1,4 +1,4 @@
with "../../library/gpr/light_stm32f4_library.gpr";
with "../../library/gpr/light_stm32f401_library.gpr";
project LED_Flasher_401c_Blackpill is
for Languages use("Ada");

View File

@ -6,7 +6,7 @@ project Number_Game_407Z_PiSwords is
for Object_Dir use "objects/407z_piswords";
for Target use "arm-eabi";
for Runtime("Ada") use "light-tasking-stm32f4";
for Source_Dirs use(".", "../common", "../common/f4", "../common/407z-piswords");
for Source_Dirs use(".", "../common", "../common/f4", "../common/407z_piswords");
package Compiler is
for Default_Switches("Ada") use ("-gnatwa.X", "-gnatQ", "-gnatn", "-O2");

View File

@ -0,0 +1,12 @@
project Light_STM32F401_Library extends "stm32f4_library" is
Runtime := "light-stm32f401";
for Target use "arm-eabi";
for Runtime("ada") use Runtime;
for Object_Dir use STM32_Common'Object_Dir & "/" & Runtime;
for Library_Dir use STM32_Common'Library_Dir & "/" & Runtime;
for Source_Dirs use STM32F4_Library'Source_Dirs;
for Library_Name use "stm32";
end Light_STM32F401_Library;

View File

@ -0,0 +1,12 @@
project Light_Tasking_STM32F401_Library extends "stm32f4_library" is
Runtime := "light-tasking-stm32f401";
for Target use "arm-eabi";
for Runtime("ada") use Runtime;
for Object_Dir use STM32_Common'Object_Dir & "/" & Runtime;
for Library_Dir use STM32_Common'Library_Dir & "/" & Runtime;
for Source_Dirs use STM32F4_Library'Source_Dirs;
for Library_Name use "stm32";
end Light_Tasking_STM32F401_Library;

View File

@ -1,10 +0,0 @@
project STM32F4 extends "stm32f4_library" is
for Target use "arm-eabi";
for Runtime("ada") use "light-stm32f4"; -- Only CPU flags should make sense there
for Object_Dir use STM32_Common'Object_Dir & "/stm32f4";
for Library_Dir use STM32_Common'Library_Dir & "/stm32f4";
for Source_Dirs use STM32F4_Library'Source_Dirs;
for Library_Name use "stm32f4";
end STM32F4;