6502汇编生成NES的通用Makefile
DIR_SRC = .
DIR_OBJ = .
DIR_BIN = .
SRC = $(wildcard ${DIR_SRC}/*.a65)
OBJ = $(patsubst %.a65,${DIR_OBJ}/%.o,$(notdir ${SRC}))
TARGET = $(basename $(OBJ)).nes
BIN_TARGET = ${TARGET}
CA = ca65
CL = cl65
CFLAGS = -g
CONFIG = --target nes
run:${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:clean
clean:
-rm -rf $(OBJ)
6502 C生成NES的通用Makefile
DIR_INC = ./LIB
DIR_SRC = .
DIR_OBJ = .
DIR_BIN = .
SRC = $(wildcard ${DIR_SRC}/*.c)
ASM = $(patsubst %.c,%.s,$(notdir ${SRC}))
OBJ = $(patsubst %.c,%.o,$(notdir ${SRC}))
TARGET = $(basename $(OBJ)).nes
BIN_TARGET = ${TARGET}
CC = cc65
CA = ca65
CL = cl65
CFLAGS = -g -I $(DIR_INC)
CONFIG = -t nes
LIBS = nes.lib
CFG= -C nrom_32k_vert.cfg
run:${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:clean
clean:
-rm -rf $(OBJ) $(BIN_TARGET) $(ASM)