Я изучаю курс C ++ в колледже, и они хотят, чтобы мы вручную вводили все тестовые файлы ... Я знаю, однако, что есть способ сделать это без out, вот как я получил текущий ( http://pastebin.com/6d9UtKM4 ) make-файл. Мой вопрос: почему Этот make-файл автоматически удаляет все файлы .o, которые он использует для компиляции, когда это делается? Это меня не убивает, но я хотел бы сохранить файлы .o. Я вставил make-файл сюда ( http://pastebin.com/6d9UtKM4 ). Я также вставил текущий результат выполнения "make tests" сюда ( http://pastebin.com/h3Ny3dib ). (Обратите внимание на часть внизу страницы, которая удаляет все e .o файлы автоматически.)
Я также хотел бы иметь возможность создать его следующим образом:
Другими словами, я хочу, чтобы он все скомпилировал, а затем все запустил. Надеюсь, это не слишком большая проблема!
Изменить: Дополнительная информация: (Это код, который выполняет "тесты")
tests: assembler.o string.o $(test_output) $(test_stringOutput)
@echo '--- Testing complete ---'
$(testDir)%: $(compileDir)%.o string.o
g++ -o $@ $< $(compileDir)string.o $(compileDir)assembler.o
$@
@echo ''
$(compileDir)%.o: $(testSourceDir)%.cpp
g++ -c -Wall -o $@ $<
$(compileDir)%.o: $(testStringSrc)%.cpp
g++ -c -Wall -o $@ $<
РЕДАКТИРОВАТЬ: ------------------------- ----------------
Решено с помощью комментариев:
Добавление этой строки исправило это: . PRECIOUS $ (compileDir)%. O