[FL-1241] Build optimization (#459)
* Makefile: enable space optimization with debug, cleanup double includes, explicitly define cpp runtime options * Toolchain: add printf support * Toolchain: explicit standard declaration
This commit is contained in:
		
							parent
							
								
									aa24484b99
								
							
						
					
					
						commit
						3671c68b79
					
				| @ -2,7 +2,6 @@ PROJECT_ROOT	= $(abspath $(dir $(abspath $(firstword $(MAKEFILE_LIST))))..) | |||||||
| PROJECT			= bootloader | PROJECT			= bootloader | ||||||
| 
 | 
 | ||||||
| include 		$(PROJECT_ROOT)/make/base.mk | include 		$(PROJECT_ROOT)/make/base.mk | ||||||
| include			$(PROJECT_ROOT)/make/git.mk |  | ||||||
| 
 | 
 | ||||||
| CFLAGS			+= -Itargets/include | CFLAGS			+= -Itargets/include | ||||||
| ASM_SOURCES		+= $(wildcard src/*.s) | ASM_SOURCES		+= $(wildcard src/*.s) | ||||||
|  | |||||||
| @ -4,7 +4,6 @@ PROJECT			= firmware | |||||||
| include 		$(PROJECT_ROOT)/make/base.mk | include 		$(PROJECT_ROOT)/make/base.mk | ||||||
| include			$(PROJECT_ROOT)/assets/assets.mk | include			$(PROJECT_ROOT)/assets/assets.mk | ||||||
| include			$(PROJECT_ROOT)/core/core.mk | include			$(PROJECT_ROOT)/core/core.mk | ||||||
| include			$(PROJECT_ROOT)/make/git.mk |  | ||||||
| include 		$(PROJECT_ROOT)/applications/applications.mk | include 		$(PROJECT_ROOT)/applications/applications.mk | ||||||
| include			$(PROJECT_ROOT)/lib/lib.mk | include			$(PROJECT_ROOT)/lib/lib.mk | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -6,8 +6,8 @@ PREFIX = $(GCC_PATH)/$(PREFIX) | |||||||
| endif | endif | ||||||
| endif | endif | ||||||
| 
 | 
 | ||||||
| CC	= $(PREFIX)gcc | CC	= $(PREFIX)gcc -std=gnu17 | ||||||
| CPP	= $(PREFIX)g++ | CPP	= $(PREFIX)g++ -std=gnu++17 | ||||||
| LD	= $(PREFIX)g++ | LD	= $(PREFIX)g++ | ||||||
| AS	= $(PREFIX)gcc -x assembler-with-cpp | AS	= $(PREFIX)gcc -x assembler-with-cpp | ||||||
| CP	= $(PREFIX)objcopy | CP	= $(PREFIX)objcopy | ||||||
| @ -16,12 +16,15 @@ HEX	= $(CP) -O ihex | |||||||
| BIN	= $(CP) -O binary -S | BIN	= $(CP) -O binary -S | ||||||
| 
 | 
 | ||||||
| DEBUG ?= 1 | DEBUG ?= 1 | ||||||
|  | COMPACT ?= 0 | ||||||
| ifeq ($(DEBUG), 1) | ifeq ($(DEBUG), 1) | ||||||
| CFLAGS += -DDEBUG -g | CFLAGS += -DDEBUG -Og -g | ||||||
|  | else ifeq ($(COMPACT), 1) | ||||||
|  | CFLAGS += -DNDEBUG -DLFS_NO_ASSERT -Os | ||||||
| else | else | ||||||
| CFLAGS += -DNDEBUG -Os | CFLAGS += -DNDEBUG -DLFS_NO_ASSERT -Og | ||||||
| endif | endif | ||||||
| 
 | 
 | ||||||
| CFLAGS		+= -MMD -MP -MF"$(@:%.o=%.d)" | CFLAGS		+= -fdata-sections -ffunction-sections -fno-math-errno -fstack-usage -MMD -MP -MF"$(@:%.o=%.d)" | ||||||
| CPPFLAGS	+= -fno-threadsafe-statics | CPPFLAGS	+= -fno-threadsafe-statics -fno-use-cxa-atexit -fno-exceptions -fno-rtti | ||||||
| LDFLAGS		+= -Wl,-Map=$(OBJ_DIR)/$(PROJECT).map,--cref -Wl,--gc-sections -Wl,--undefined=uxTopUsedPriority | LDFLAGS		+= -Wl,-Map=$(OBJ_DIR)/$(PROJECT).map,--cref -Wl,--gc-sections -Wl,--undefined=uxTopUsedPriority -u _printf_float | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 あく
						あく