⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 nios中自定义指令集实现三角函数的软件部分。
💻
📖 第 1 页 / 共 2 页
字号:
## Include paths for BSP files are written into the public.mk file and must# be added to the existing list of pre-processor flags. In addition, "hooks"# for standard flags left intentionally empty (CFLAGS, CPPFLAGS, ASFLAGS,# and CXXFLAGS) are provided for conveniently adding to the relevant flags# on the command-line or via script that calls make.#------------------------------------------------------------------------------# Assemble final list of compiler flags from generated contentBSP_CFLAGS += \  $(BSP_CFLAGS_DEFINED_SYMBOLS) \  $(BSP_CFLAGS_UNDEFINED_SYMBOLS) \  $(BSP_CFLAGS_OPTIMIZATION) \  $(BSP_CFLAGS_DEBUG) \  $(BSP_CFLAGS_WARNINGS) \  $(BSP_CFLAGS_USER_FLAGS) \  $(ALT_CFLAGS) \  $(CFLAGS) # Make ready the final list of include directories and other C pre-processor# flags. Each include path is made ready by prefixing it with "-I".BSP_CPPFLAGS += \  $(addprefix -I, $(BSP_INC_DIRS)) \  $(addprefix -I, $(ALT_INCLUDE_DIRS)) \  $(ALT_CPPFLAGS) \  $(CPPFLAGS)# Finish off assembler flags with any user-provided flagsBSP_ASFLAGS += $(ASFLAGS)# Finish off C++ flags with any user-provided flagsBSP_CXXFLAGS += $(CXXFLAGS)# Generated BSP sourcesGENERATED_C_LIB_SRCS += \  alt_sys_init.c# And finally, the ordered listC_SRCS += $(GENERATED_C_LIB_SRCS) \          $(COMPONENT_C_LIB_SRCS)ASM_SRCS += $(GENERATED_ASM_LIB_SRCS) \            $(COMPONENT_ASM_LIB_SRCS)#------------------------------------------------------------------------------#                         LIST OF GENERATED FILES## A Nios II HAL BSP relies on the generation of several source files used# by both the BSP and any applications referencing the BSP.#------------------------------------------------------------------------------GENERATED_C_FILES := $(ABS_BSP_ROOT)/alt_sys_init.cGENERATED_H_FILES := $(ABS_BSP_ROOT)/system.hGENERATED_LINKER_SCRIPT := $(ABS_BSP_ROOT)/linker.xGENERATED_FILES += $(GENERATED_C_FILES) \                   $(GENERATED_H_FILES) \                   $(GENERATED_LINKER_SCRIPT)#------------------------------------------------------------------------------#                        SETUP TO BUILD OBJECTS## List of object files which are to be built. This is constructed from the input# list of C source files (C_SRCS), C++ source files (CXX_SRCS), and assembler# source file (ASM_SRCS). The permitted file extensions are:## .c            - for C files# .cxx .cc .cpp - for C++ files# .S .s         - for assembler files## Extended description: The list of objects is a sorted list (duplicates# removed) of all possible objects, placed beneath the ./obj directory,# including any path information stored in the "*_SRCS" variable. The# "patsubst" commands are used to concatenate together multiple file suffix# types for common files (i.e. c++ as .cxx, .cc, .cpp)#------------------------------------------------------------------------------OBJS = $(sort $(addprefix $(OBJ_DIR)/, $(C_SRCS:.c=.o)                        \               $(patsubst %.cxx, %.o, $(patsubst %.cc, %.o,                   \                                        $(patsubst %.cpp, %.o, $(CXX_SRCS)))) \               $(patsubst %.S, %.o, $(patsubst %.s, %.o, $(ASM_SRCS)))))# List of dependancy files for each object file.DEPS = $(OBJS:.o=.d)# Create list of BSP object directories.OBJ_DIRS := $(sort $(dir $(OBJS)))#------------------------------------------------------------------------------#                          BUILD RULES: ALL & CLEAN#------------------------------------------------------------------------------.DELETE_ON_ERROR:.PHONY: allall: build_pre_processall: Makefile $(OBJ_DIRS) $(GENERATED_FILES) $(BSP_LIB) $(NEWLIB_DIR)all: build_post_process# clean: remove .o/.a/.d.PHONY: cleanclean:	$(RM) -r *.a $(OBJ_DIR)	find . -name '*.o' | xargs $(RM)ifeq ($(MAKECMDGOALS),clean)	find . -name '*.d' | xargs $(RM)endif	$(RM) -rf $(NEWLIB_DIR)#------------------------------------------------------------------------------#                           BUILD PRE/POST PROCESS#------------------------------------------------------------------------------build_pre_process :	$(BUILD_PRE_PROCESS)build_post_process :	$(BUILD_POST_PROCESS).PHONY: build_pre_process build_post_process#------------------------------------------------------------------------------#                              OBJECT DIRECTORIES#------------------------------------------------------------------------------$(OBJ_DIRS) :	@mkdir -p $@#------------------------------------------------------------------------------#                             MAKEFILE UP TO DATE?## Is this very Makefile up to date? Someone may have changed the BSP settings# file or the associated target hardware.#------------------------------------------------------------------------------ifneq ($(wildcard $(SETTINGS_FILE)),$(SETTINGS_FILE))$(warning Warning: BSP Settings File $(SETTINGS_FILE) could not be found.)endifMakefile: $(wildcard $(SETTINGS_FILE))	@echo This Makefile is not up to date.	@echo	@echo This means that the $(SETTINGS_FILE) file has been modified since	@echo this Makefile\'s generation.	@echo	@echo Please re-generate this BSP to refresh this Makefile, and then	@echo attempt to build again.	@exit 1	public.mk: $(wildcard $(SOPC_FILE))	@echo $(SOPC_FILE) file and Makefile are not up to date.	@echo	@echo This means that $(SOPC_FILE) has been modified since	@echo this BSP\'s last generate.	@echo	@echo Please re-generate this BSP to refresh this Makefile, and then	@echo attempt to build again. However, depending on how $(SOPC_FILE) was modified 	@echo you may need to create a new BSP. 	   		@exit 1#------------------------------------------------------------------------------#                     PATTERN RULES TO BUILD OBJECTS#------------------------------------------------------------------------------$(OBJ_DIR)/%.o: %.c	@echo Compiling $(notdir $<)...	@mkdir -p $(dir $@)	$(CC_PRE_PROCESS)	$(CC) -MD -c $(BSP_CPPFLAGS) $(BSP_CFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(CC_POST_PROCESS)$(OBJ_DIR)/%.o: %.cpp	@echo Compiling $(notdir $<)...	@mkdir -p $(dir $@)	$(CXX_PRE_PROCESS)	$(CXX) -MD -c $(BSP_CPPFLAGS) $(BSP_CXXFLAGS) $(BSP_CFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(CXX_POST_PROCESS)$(OBJ_DIR)/%.o: %.cc	@echo Compiling $(notdir $<)...	@mkdir -p $(dir $@)	$(CXX_PRE_PROCESS)	$(CXX) -MD -c $(BSP_CPPFLAGS) $(BSP_CXXFLAGS) $(BSP_CFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(CXX_POST_PROCESS)$(OBJ_DIR)/%.o: %.cxx	@echo Compiling $(notdir $<)...	@mkdir -p $(dir $@)	$(CXX_PRE_PROCESS)	$(CXX) -MD -c $(BSP_CPPFLAGS) $(BSP_CXXFLAGS) $(BSP_CFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(CXX_POST_PROCESS)$(OBJ_DIR)/%.o: %.S	@echo Compiling $(notdir $<)...	@mkdir -p $(dir $@)	$(AS_PRE_PROCESS)	$(AS) -MD -c $(BSP_CFLAGS) $(BSP_CPPFLAGS) $(BSP_ASFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(AS_POST_PROCESS)$(OBJ_DIR)/%.o: %.s	@echo Compiling $(notdir $<)...	@mkdir -p $(dir $@)	$(AS_PRE_PROCESS)	$(AS) -MD -c $(BSP_ASFLAGS) $(BSP_CFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(AS_POST_PROCESS)# Pattern rules for making useful intermediate files$(OBJ_DIR)/%.s: %.c	@echo Compiling $(notdir $<) to assembler...	@mkdir -p $(dir $@)	$(CC_PRE_PROCESS)	$(CC) -MD -c $(BSP_CPPFLAGS) $(BSP_CFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(CC_POST_PROCESS)$(OBJ_DIR)/%.s: %.cpp	@echo Compiling $(notdir $<) to assembler...	@mkdir -p $(dir $@)	$(CXX_PRE_PROCESS)	$(CXX) -MD -c $(BSP_CPPFLAGS) $(BSP_CXXFLAGS) $(BSP_CFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(CXX_PRE_PROCESS)$(OBJ_DIR)/%.s: %.cc	@echo Compiling $(notdir $<) to assembler...	@mkdir -p $(dir $@)	$(CXX_PRE_PROCESS)	$(CXX) -MD -c $(BSP_CPPFLAGS) $(BSP_CXXFLAGS) $(BSP_CFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(CXX_PRE_PROCESS)$(OBJ_DIR)/%.s: %.cxx	@echo Compiling $(notdir $<) to assembler...	@mkdir -p $(dir $@)	$(CXX_PRE_PROCESS)	$(CXX) -MD -c $(BSP_CPPFLAGS) $(BSP_CXXFLAGS) $(BSP_CFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(CXX_PRE_PROCESS)$(OBJ_DIR)/%.i: %.c	@echo Compiling $(notdir $<) to assembler...	@mkdir -p $(dir $@)	$(CC_PRE_PROCESS)	$(CC) -E $(CPPFLAGS) $(ALT_CFLAGS) $(CFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(CC_PRE_PROCESS)$(OBJ_DIR)/%.i: %.cpp	@echo Compiling $(notdir $<) to assembler...	@mkdir -p $(dir $@)	$(CXX_PRE_PROCESS)	$(CXX) -MD -c $(BSP_CPPFLAGS) $(BSP_CXXFLAGS) $(BSP_CFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(CXX_PRE_PROCESS)$(OBJ_DIR)/%.i: %.cc	@echo Compiling $(notdir $<) to assembler...	@mkdir -p $(dir $@)	$(CXX_PRE_PROCESS)	$(CXX) -MD -c $(BSP_CPPFLAGS) $(BSP_CXXFLAGS) $(BSP_CFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(CXX_PRE_PROCESS)$(OBJ_DIR)/%.i: %.cxx	@echo Compiling $(notdir $<) to assembler...	@mkdir -p $(dir $@)	$(CXX_PRE_PROCESS)	$(CXX) -MD -c $(BSP_CPPFLAGS) $(BSP_CXXFLAGS) $(BSP_CFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(CXX_PRE_PROCESS)# Pattern rules for building other object files.%.o: %.c	@echo Compiling $(notdir $<)...	$(CC_PRE_PROCESS)	$(CC) -MD -c $(CPPFLAGS) $(ALT_CFLAGS) $(CFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(CC_POST_PROCESS)%.o: %.cpp	@echo Compiling $(notdir $<)...	$(CXX_POST_PROCESS)	$(CXX) -MD -c $(BSP_CPPFLAGS) $(BSP_CXXFLAGS) $(BSP_CFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(CXX_POST_PROCESS)%.o: %.cc	@echo Compiling $(notdir $<)...	$(CXX_POST_PROCESS)	$(CXX) -MD -c $(BSP_CPPFLAGS) $(BSP_CXXFLAGS) $(BSP_CFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(CXX_POST_PROCESS)%.o: %.cxx	@echo Compiling $(notdir $<)...	$(CXX_PRE_PROCESS)	$(CXX) -MD -c $(BSP_CPPFLAGS) $(BSP_CXXFLAGS) $(BSP_CFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(CXX_POST_PROCESS)%.o: %.S	@echo Compiling $(notdir $<)...	$(AS_PRE_PROCESS)	$(AS) -MD -c $(BSP_CFLAGS) $(BSP_CPPFLAGS) $(BSP_ASFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(AS_POST_PROCESS)%.o: %.s	@echo Compiling $(notdir $<)...	$(AS_PRE_PROCESS)	$(AS) -MD -c $(BSP_ASFLAGS) $(BSP_CFLAGS) -o $@ $(join $(ABS_BSP_ROOT)/,$<)	$(AS_POST_PROCESS)#------------------------------------------------------------------------------#                               NEWLIB RULES#------------------------------------------------------------------------------$(NEWLIB_DIR): 	@echo Creating $(NEWLIB_DIR)...	nios2-newlib-gen --no-multilib $(NEWLIB_DIR)-build-tmp $(NEWLIB_DIR) --custom "$(NEWLIB_FLAGS)"			@echo Removing $(NEWLIB_DIR)-build-tmp...	@$(RM) -rf $(NEWLIB_DIR)-build-tmp#------------------------------------------------------------------------------#                               LIBRARY RULES#------------------------------------------------------------------------------$(BSP_LIB): $(OBJS)	@echo Creating $@...	$(AR_PRE_PROCESS)	$(RM) -f $@	$(AR) $(BSP_ARFLAGS) $@ $^	$(AR_POST_PROCESS)#------------------------------------------------------------------------------#                                DEPENDENCY FILES#------------------------------------------------------------------------------ifneq ($(findstring clean, $(MAKECMDGOALS)),clean)ifneq ($(MAKECMDGOALS),distclean)ifneq ($(MAKECMDGOALS),rebuild)-include $(DEPS)endifendifendif# End of Makefile

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -