AS = rgbasm LD = rgblink FIX = rgbfix -f hg BIN_DIR = bin OBJ_DIR = obj MKDIR = mkdir .PHONY: dirs all: dirs cpu video clean: rm -r ${BIN_DIR}/ ${OBJ_DIR}/ dirs: ${MKDIR} -p ${BIN_DIR} ${MKDIR} -p ${OBJ_DIR} # # CPU # cpu: cpuDirs \ ${BIN_DIR}/cpu/callRet.gb \ ${BIN_DIR}/cpu/memcpy.gb \ ${BIN_DIR}/cpu/miscInstrs.gb \ ${BIN_DIR}/cpu/rst.gb cpuDirs: ${MKDIR} -p ${OBJ_DIR}/cpu ${MKDIR} -p ${BIN_DIR}/cpu ${BIN_DIR}/cpu/callRet.gb: dirs cpu/callRet.asm ${AS} -o ${OBJ_DIR}/cpu/callRet.o cpu/callRet.asm ${LD} -o ${BIN_DIR}/cpu/callRet.gb ${OBJ_DIR}/cpu/callRet.o ${FIX} ${BIN_DIR}/cpu/callRet.gb ${BIN_DIR}/cpu/memcpy.gb: dirs cpu/memcpy.asm ${AS} -o ${OBJ_DIR}/cpu/memcpy.o cpu/memcpy.asm ${LD} -o ${BIN_DIR}/cpu/memcpy.gb ${OBJ_DIR}/cpu/memcpy.o ${FIX} ${BIN_DIR}/cpu/memcpy.gb ${BIN_DIR}/cpu/miscInstrs.gb: dirs cpu/miscInstrs.asm ${AS} -o ${OBJ_DIR}/cpu/miscInstrs.o cpu/miscInstrs.asm ${LD} -o ${BIN_DIR}/cpu/miscInstrs.gb ${OBJ_DIR}/cpu/miscInstrs.o ${FIX} ${BIN_DIR}/cpu/miscInstrs.gb ${BIN_DIR}/cpu/rst.gb: dirs cpu/rst.asm ${AS} -o ${OBJ_DIR}/cpu/rst.o cpu/rst.asm ${LD} -o ${BIN_DIR}/cpu/rst.gb ${OBJ_DIR}/cpu/rst.o ${FIX} ${BIN_DIR}/cpu/rst.gb # # Video # video: videoDirs \ ${BIN_DIR}/video/lcdToggle.gb \ ${BIN_DIR}/video/vblankInt.gb videoDirs: ${MKDIR} -p ${BIN_DIR}/video ${MKDIR} -p ${OBJ_DIR}/video ${BIN_DIR}/video/lcdToggle.gb: dirs video/lcdToggle.asm ${AS} -o ${OBJ_DIR}/video/lcdToggle.o video/lcdToggle.asm ${LD} -o ${BIN_DIR}/video/lcdToggle.gb ${OBJ_DIR}/video/lcdToggle.o ${FIX} ${BIN_DIR}/video/lcdToggle.gb ${BIN_DIR}/video/vblankInt.gb: dirs video/vblankInt.asm ${AS} -o ${OBJ_DIR}/video/vblankInt.o video/vblankInt.asm ${LD} -o ${BIN_DIR}/video/vblankInt.gb ${OBJ_DIR}/video/vblankInt.o ${FIX} ${BIN_DIR}/video/vblankInt.gb