Вывод Makefile в подпапку
Я работаю над настройкой проекта для игры GameBoy, я хочу, чтобы файлы выводились в подпапку проекта, а не в корень. Добавление foldername перед именами файлов, похоже, не работает и не дает никаких советов, которые я нашел в Интернете.
Это то, что у меня сейчас есть для make-файла.
CC = ../../../bin/lcc -Wa-l -Wl-m -DUSE_SFR_FOR_REG
BINS = new.gb
all: $(BINS)
%.o: %.c
$(CC) -c -o $@ $<
%.s: %.c
$(CC) -S -o $@ $<
%.o: %.s
$(CC) -c -o $@ $<
%.gb: %.o
$(CC) -o $@ $<
clean:
rm -f *.o *.lst *.map *.gb
# Link file, and write 0x80 at position 0x143 in header
new.gb: new.o
$(CC) -Wl-yp0x143=0x80 -o new.gb new.o
Благодарю.
1 ответ
Решение
Поскольку у вас есть только один исходный файл, вам не нужно компилировать .o
файл отдельно, просто используйте одноразовое правило make
CC := ../../../bin/lcc
CPPFLAGS := -DUSE_SFR_FOR_REG
CFLAGS := -Wa-l
LDFLAGS := -Wl-m -Wl-yp0x143=0x80
subdir/new.gb: new.c
$(LINK.c) $^ $(LDLIBS) -o $@
.PHONY: clean
clean:
$(RM) $(addprefix subdir/new,.lst .map .gb)