Opened 5 years ago

Closed 5 years ago

#28 closed ожидается проверка (задача сдана)

WW #1

Reported by: Solovyev Gleb Owned by: Sokolov Viacheslav
Component: WW_make Version: 3.0
Keywords: Cc:

Description

❤❤❤

Change History (8)

comment:1 Changed 5 years ago by Sokolov Viacheslav

Обращаю внимание, что целевая платформа - linux. На linux проект не собирается, потому что пути '\' специфичны для Windows. На linux используется '/'. Аналогично 'del' не отработает.

С кодом все хорошо.

Также цель должна быть не 'io.o', а 'bin/io.o' (цель должна совпадать с названием выходного файла, чтобы работал механизм пересборки, построенный на проверке времен создания файлов).

Цели, не соответствующие файлам на диске, лучше поместить в секцию .PHONY:

comment:2 Changed 5 years ago by Sokolov Viacheslav

Type: ожидается проверкаожидаются исправления

comment:3 Changed 5 years ago by Solovyev Gleb

Type: ожидаются исправленияожидается проверка
Version: 1.02.0

Если удаление файлов в Linux производится командой rm, то теперь все максимально правильно.

comment:4 Changed 5 years ago by Solovyev Gleb

Также подумал, что неплохо было бы убрать расширения exe, свойственные windows.

comment:5 Changed 5 years ago by Sokolov Viacheslav

в данный момент make не отработает. (нет цели lab1)

/S /Q это флаги с платформы Windows.

Забыл в первый раз написать: лучше разбить lab1 на компиляцию и компоновку: сначала собрать main.o, потом скомпоновать lab1. Также не хватает зависимостей у .o целей от соответствующих исходных файлов. Они нужны, чтобы после изменений в кодовой базе пересборка все же запускалась бы.

Цель clean_lab1 лучше убрать, make clean должен удалять все артефакты сборки, включая конечный исполняемый файл. Цель all тоже стоит поместить в .PHONY

comment:6 Changed 5 years ago by Sokolov Viacheslav

Type: ожидается проверкаожидаются исправления

comment:7 Changed 5 years ago by Solovyev Gleb

Type: ожидаются исправленияожидается проверка
Version: 2.03.0

Все из вышеперечисленного поправил. Clean_lab1 был нужен на тот случай, если bin есть, а lab1 нет, и наоборот. Т.е. чтобы все доудалять. Но окей, теперь без него.

comment:8 Changed 5 years ago by Sokolov Viacheslav

Resolution: задача сдана
Status: assignedclosed
Note: See TracTickets for help on using tickets.