80 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Makefile
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Makefile
		
	
	
		
			Executable File
		
	
	
	
	
| # get model name from $(NVT_PRJCFG_MODEL_CFG)
 | |
| # e.g: ./configs/rtos/cfg_CARDV_EVB/ModelConfig.mk -> CARDV_EVB
 | |
| MODEL = $(shell echo $(NVT_PRJCFG_MODEL_CFG) | sed 's/.*\/configs\/Linux\/cfg_\([^\/]*\)\/ModelConfig.mk/\1/g')
 | |
| #######################################################################################
 | |
| #--------- DO NOT EDIT ---------------------------------------------------------------#
 | |
| #######################################################################################
 | |
| # rtos-main.c always be compilied at last to update build date
 | |
| MAIN_C = ./SrcCode/System/app-main.c
 | |
| 
 | |
| # compiler options
 | |
| WARNING	= -Wall -Wundef -Wsign-compare -Wno-missing-braces -Wstrict-prototypes -Werror -Wformat
 | |
| COMPILE_OPTS =  -I. -O2 -fPIC -ffunction-sections -fdata-sections -ftree-vectorize
 | |
| 
 | |
| # use COLLECT2 instead of ld (https://gcc.gnu.org/onlinedocs/gccint/Collect2.html)
 | |
| COLLECT2         = $(shell $(CC) $(PLATFORM_CFLAGS) -print-prog-name=collect2)
 | |
| 
 | |
| # necessary objects for user application
 | |
| CRTBEGIN_OBJ = $(shell $(CC) $(PLATFORM_CFLAGS) -print-file-name=crtbegin.o)
 | |
| CRTEND_OBJ = $(shell $(CC) $(PLATFORM_CFLAGS) -print-file-name=crtend.o)
 | |
| CRTN_OBJ = $(shell $(CC) $(PLATFORM_CFLAGS) -print-file-name=crtn.o)
 | |
| CRT1_OBJ = $(shell $(CC) $(PLATFORM_CFLAGS) -print-file-name=crt1.o)
 | |
| CRTI_OBJ = $(shell $(CC) $(PLATFORM_CFLAGS) -print-file-name=crti.o)
 | |
| # do not adjust the order in CRT_OBJ_BEGIN and CRT_OBJ_END
 | |
| CRT_OBJ_BEGIN = $(CRT1_OBJ) $(CRTI_OBJ) $(CRTBEGIN_OBJ)
 | |
| CRT_OBJ_END = --no-as-needed $(CRTEND_OBJ) $(CRTN_OBJ)
 | |
| # DYNAMIC LINKER
 | |
| uclibc=$(shell echo $(CROSS_COMPILE)|grep uclib)
 | |
| ifneq ($(uclibc),)
 | |
|     DYNAMIC_LINKER = /lib/ld-uClibc.so.0
 | |
| else
 | |
|     DYNAMIC_LINKER = /lib/ld-linux-armhf.so.3
 | |
| endif
 | |
| 
 | |
| # replace string on lds
 | |
| LDS_REPLACE_DEFAULT  = \
 | |
| 	-e's/$$START_UP/$(BOARD_RTOS_ADDR)/g' \
 | |
| 	-e's/$$CODE_INFO/$(CODE_INFO)/g' \
 | |
| 	-e's/$$BIN_INFO/$(BIN_INFO)/g' \
 | |
| 	-e's/$$LDS_EXTERN/$(LDS_EXTERN)/g' \
 | |
| 	-e's/$$MODEL/$(MODEL)/g' \
 | |
| 	-e's/$$SENSOR1/libnvt_$(SENSOR1)/g' \
 | |
| 	-e's/$$SENSOR2/libnvt_$(SENSOR2)/g' \
 | |
| 	-e's/$$SENSOR3/libnvt_$(SENSOR3)/g' \
 | |
| 	-e's/$$LCD1/lib$(LCD1)/g' \
 | |
| 	-e's/$$LCD2/lib$(LCD2)/g' \
 | |
| 
 | |
| #--------- END OF DO NOT EDIT ---------------------------------------------------------
 | |
| 
 | |
| #######################################################################################
 | |
| #--------- ENVIRONMENT SETTING -------------------------------------------------------#
 | |
| #######################################################################################
 | |
| # FLAGs for Compiler, Assembler
 | |
| C_PREDEFINED = \
 | |
| 	-D_NVT_CONSOLE_ \
 | |
| 	-D_MODEL_$(MODEL)_ \
 | |
| 	-D_BIN_NAME_='"$(BIN_NAME)"' \
 | |
| 	-D_BIN_NAME_T_='"$(BIN_NAME_T)"' \
 | |
| 	-D_BOARD_DRAM_SIZE_=$(BOARD_DRAM_SIZE) \
 | |
| 	-D_BOARD_FDT_ADDR_=$(BOARD_FDT_ADDR) \
 | |
| 	-D_BOARD_SHMEM_ADDR_=$(BOARD_SHMEM_ADDR) \
 | |
| 	-D_BOARD_RTOS_ADDR_=$(BOARD_RTOS_ADDR) \
 | |
| 	-D_$(EMBMEM)_ \
 | |
| 	-D_EMBMEM_BLK_SIZE_=$(EMBMEM_BLK_SIZE) \
 | |
| 	-D_$(FW_TYPE)_ \
 | |
| 	-D_$(UI_STYLE)_ \
 | |
| 	-D_$(LCD1)_ \
 | |
| 	-D_$(SENSOR1)_ \
 | |
| 	-D_SENSOR1_$(SENSOR1)_ \
 | |
| 	-D_$(SENSOR2)_ \
 | |
| 	-D_SENSOR2_$(SENSOR2)_ \
 | |
| 	-D_$(SENSOR3)_ \
 | |
| 	-D_SENSOR3_$(SENSOR3)_ \
 | |
| 	-D_SEN1_="$(subst sen_,,$(SENSOR1))" \
 | |
| 	-D_SEN2_="$(subst sen_,,$(SENSOR2))" \
 | |
| 	-D_SEN3_="$(subst sen_,,$(SENSOR3))" \
 | |
| 	-D_$(NVT_ROOTFS_TYPE)_ \
 | |
| 	-D_$(TOUCH)_ \
 | |
| 	-D_$(NVT_ETHREARCAM)_\
 | |
| 	-D_$(NVT_ETHREARCAM_CAPS_COUNT)_\
 | 
