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

📄 makefile

📁 一款基于FPGA的对于VGA实现全彩控制的程序
💻
字号:
# file: Makfile
#
# Makefile for building the flash boot copiers
# dvb 2004
#
# ex:set noexpandtab:

S = @
E = @echo \\\# `date +%Y.%m.%d.%H.%M.%S` ---

PREPROCESS_HACK = 1

OBJ = ./obj

# Just force OBJ to exist.


ifeq ("$(S)","@")
 DASH_S = "-s"
endif


# |
# | The code is fully relocatable. However! You may
# | wish to compile an elf for faux-debugging that
# | claims to be at a particular location (like where
# | your flash or epcs device is). To do this,
# | type "make CODE_BASE=0x<epcs_base>". The assignment
# | here uses it appropriately. dvb2004
# |

ifneq ("$(CODE_BASE)","")
 CODE_BASE_OPT = -Ttext=$(CODE_BASE)
endif

ifneq ("$(EPCS_REGS_BASE)","")
 EPCS_REGS_BASE_OPT = "-DEPCS_REGS_BASE=$(EPCS_REGS_BASE)"
endif

SRECS = \
	boot_loader_cfi.srec \
	boot_loader_epcs.srec \

ALL_TARGS = \
	$(SRECS) \
	$(OBJ)/boot_loader_cfi.elf \
	$(OBJ)/boot_loader_cfi.objdump \
	$(OBJ)/boot_loader_cfi.nm \
	$(OBJ)/boot_loader_epcs.elf \
	$(OBJ)/boot_loader_epcs.objdump \
	$(OBJ)/boot_loader_epcs.nm \

all :
	$(S) $(MAKE) $(DASH_S) S=$(S) $(OBJ)
	$(S) $(MAKE) $(DASH_S) S=$(S) xall

xall : $(ALL_TARGS)
	$(E) "Try \"make clean all S=\" to see more detailed spew."
	$(E) Done

clean :
	$(E) Cleaning up
	$(S) -rm -vf $(ALL_TARGS)
	$(S) -rm -vf $(OBJ)/*.s
#	$(S) if [ -d $(OBJ) ] ; then rmdir -v $(OBJ) ; fi

install : $(SRECS)
ifneq ("$(DEST_PATH)","")
	$(E) Copying $(SRECS)
	$(E) To $(DEST_PATH)
	$(S) cp -f $(SRECS) $(DEST_PATH)
endif

$(OBJ) :
	$(E) Creating $@
	$(S) mkdir $@

$(OBJ)/boot_loader_cfi.elf : \
		boot_loader.S \
		boot_loader.h \
		boot_loader_cfi_bits.S \
		$(OBJ)
	$(E) Compiling to $@
ifeq ($(PREPROCESS_HACK),1)
	$(S) nios2-elf-cpp boot_loader.S \
			-o $(OBJ)/boot_loader_for_cfi_pp.s \
			$(CODE_BASE_OPT)
	$(S) nios2-elf-cpp boot_loader_cfi_bits.S \
			-o $(OBJ)/boot_loader_cfi_bits_pp.s \
			$(CODE_BASE_OPT)
	$(S) nios2-elf-gcc -nostdlib \
			$(OBJ)/boot_loader_for_cfi_pp.s \
			$(OBJ)/boot_loader_cfi_bits_pp.s \
			$(CODE_BASE_OPT) \
			-gdwarf2 -Wa,-gdwarf \
			-o $@
else
	$(S) nios2-elf-gcc -nostdlib boot_loader.S boot_loader_cfi_bits.S \
			$(CODE_BASE_OPT) \
			-gdwarf2 -Wa,-gdwarf \
			-o $@
endif

$(OBJ)/boot_loader_epcs.elf : \
		boot_loader.S \
		boot_loader.h \
		boot_loader_epcs_bits.S \
		$(OBJ)
	$(E) Compiling to $@
ifeq ($(PREPROCESS_HACK),1)
	$(S) nios2-elf-cpp boot_loader.S \
			-o $(OBJ)/boot_loader_for_epcs_pp.s \
			$(EPCS_REGS_BASE_OPT) \
			-DEPCS \
			$(CODE_BASE_OPT)
	$(S) nios2-elf-cpp boot_loader_epcs_bits.S \
			-o $(OBJ)/boot_loader_epcs_bits_pp.s \
			$(EPCS_REGS_BASE_OPT) \
			-DEPCS \
			$(CODE_BASE_OPT)
	$(S) nios2-elf-gcc -nostdlib \
			$(OBJ)/boot_loader_for_epcs_pp.s \
			$(OBJ)/boot_loader_epcs_bits_pp.s \
			$(EPCS_REGS_BASE_OPT) \
			$(CODE_BASE_OPT) \
			-DEPCS \
			-gdwarf2 -Wa,-gdwarf \
			-o $@
else
	$(S) nios2-elf-gcc -nostdlib boot_loader.S boot_loader_epcs_bits.S \
			-DEPCS \
			$(CODE_BASE_OPT) \
			$(EPCS_REGS_BASE_OPT) \
			-gdwarf2 -Wa,-gdwarf \
			-o $@
endif

$(OBJ)/%.objdump : $(OBJ)/%.elf $(OBJ)
	$(E) Objdumping $<
	$(S) nios2-elf-objdump -D --source $< > $@

$(OBJ)/%.nm : $(OBJ)/%.elf $(OBJ)
	$(E) Nm-ing $<
	$(S) nios2-elf-nm $< | sort > $@

%.srec : $(OBJ)/%.elf $(OBJ)
	$(E) Creating SREC file $@
	$(S) nios2-elf-objcopy --output-target=srec $< $@

help :
	@echo .
	@echo . Here is a typical run-from-RAM command
	@echo . make CODE_BASE=0x1000000 EPCS_REGS_BASE=0x900400 clean all
	@echo .

# end of file

⌨️ 快捷键说明

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