红白机 编译6502汇编生成NES文件的通用Makefile
生活随笔
收集整理的這篇文章主要介紹了
红白机 编译6502汇编生成NES文件的通用Makefile
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
6502匯編生成NES的通用Makefile
#依賴sudo apt install cc65 #DIR_INC = ./include DIR_SRC = . DIR_OBJ = . DIR_BIN = .#(1)Makefile中的 符號 $@, $^, $< 的意思: # $@ 表示目標文件 # $^ 表示所有的依賴文件 # $< 表示第一個依賴文件 # $? 表示比目標還要新的依賴文件列表 # #(2)wildcard、notdir、patsubst的意思: # # wildcard : 擴展通配符 # notdir : 去除路徑 # patsubst :替換通配符 # basename: 僅主文件名(不含擴展名)SRC = $(wildcard ${DIR_SRC}/*.a65) OBJ = $(patsubst %.a65,${DIR_OBJ}/%.o,$(notdir ${SRC})) #主文件名 TARGET = $(basename $(OBJ)).nes #BIN_TARGET = ${DIR_BIN}/${TARGET} BIN_TARGET = ${TARGET}CA = ca65 CL = cl65 #CFLAGS = -g -Wall -I${DIR_INC} CFLAGS = -g CONFIG = --target nesrun:${BIN_TARGET}mono /home/yanxiang/Mesen-master/bin/x64/Release/Mesen.exe ${BIN_TARGET}${BIN_TARGET}:${OBJ}$(CL) $(CFLAGS) $(CONFIG) $(OBJ) -o $@${DIR_OBJ}/%.o:${DIR_SRC}/%.a65$(CA) $(CFLAGS) $< -o $@.PHONY:cleanclean:-rm -rf $(OBJ)6502 C生成NES的通用Makefile
#依賴sudo apt install cc65 #依賴 如下文件 (https://happysoul.github.io/nes/nesdoug/) # crt0.s nrom_32k_vert.cfg #LIB/newlib.h #LIB/neslib.s #LIB/nesdoug.h #LIB/nesdoug.sDIR_INC = ./LIB DIR_SRC = . DIR_OBJ = . DIR_BIN = .#(1)Makefile中的 符號 $@, $^, $< 的意思: # $@ 表示目標文件 # $^ 表示所有的依賴文件 # $< 表示第一個依賴文件 # $? 表示比目標還要新的依賴文件列表 # #(2)wildcard、notdir、patsubst的意思: # # wildcard : 擴展通配符 # notdir : 去除路徑 # patsubst :替換通配符 # basename: 僅主文件名(不含擴展名)#代表全部的C文件(包含相對路徑) SRC = $(wildcard ${DIR_SRC}/*.c) #把$(notdir ${SRC})中的.c代換為.s ASM = $(patsubst %.c,%.s,$(notdir ${SRC})) #把$(notdir ${SRC})中的.c代換為.o OBJ = $(patsubst %.c,%.o,$(notdir ${SRC}))#主文件名 TARGET = $(basename $(OBJ)).nes #BIN_TARGET = ${DIR_BIN}/${TARGET} BIN_TARGET = ${TARGET}CC = cc65 CA = ca65 CL = cl65 #CFLAGS = -g -Wall -I${DIR_INC} CFLAGS = -g -I $(DIR_INC) CONFIG = -t nes LIBS = nes.lib CFG= -C nrom_32k_vert.cfgrun:${BIN_TARGET}mono /home/yanxiang/Mesen/Mesen.exe ${BIN_TARGET}${BIN_TARGET}:${OBJ}$(CL) $(CFG) $(CFLAGS) $(CONFIG) crt0.o $< $(LIBS) -o $@${OBJ}:${ASM}$(CA) $(CFLAGS) $< -o $@$(CA) $(CFLAGS) crt0.s -o crt0.o${ASM}:${SRC}$(CC) $(CFLAGS) $(CONFIG) $< -o $@.PHONY:cleanclean:-rm -rf $(OBJ) $(BIN_TARGET) $(ASM)總結
以上是生活随笔為你收集整理的红白机 编译6502汇编生成NES文件的通用Makefile的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue-cli中css引入图片打包路径问
- 下一篇: 罗斯蒙特751AM7K6BCBT现场信号