ПОС/Лаб 4 2022

Извор: SI Wiki
< ПОС
Датум измене: 1. октобар 2022. у 21:22; аутор: KockaAdmiralac (разговор | доприноси) (Četvrti lab ove godine od `<@793489760256917515>` (zapravo od angažovanih na predmetu))
(разл) ← Старија измена | Тренутна верзија (разл) | Новија измена → (разл)
Пређи на навигацију Пређи на претрагу
Овај рок није решен. Помозите SI Wiki тако што ћете га решити.

Поставка

Ваш колега из тима и Ви заједно радите на пројекту чију структуру (организација датотека по фасциклама) је поставио ваш вођа тима. Те структуре морате да се држите и не смете да је мењате јер такву структуру имају сви пројекти у фирми. Колега је написао makefile за превођење пројекта, али је то радио веома брзо и направио је неколико грешака. Шеф је дошао код Вас и затражио да у наредних пола сата исправите makefile и још једном Вам напоменуо да не смете мењати структуру пројекта. Такође, шеф је затражио да додате правило које ће омогућити да се командом make check покрене извршавање преведеног пројекта. (Датотека test4.zip садржи пројекат који је потребно превести.)

Прекопирати исправљени makefile.

IDIR = ./code/include
OBJDIR = ./build/obj
SRCDIR = ./code/source
DEPDIR = ./build/_dFiles
COMPILER = gcc

CFLAGS = -w -I $(IDIR)
PROGRAM = ./distribution/prog

SRC = $(wildcard $(SRCDIR)/*.c)
OBJ = $(patsubst $(SRCDIR)/%.c, $(OBJDIR)/%.o, $(SRC))

DEP = $(patsubst $(SRCDIR)/%.c, $(DEPDIR)/%.d, $(SRC))

$(PROGRAM): $(OBJ)
    $(COMPILER) -o $@ $^

$(OBJDIR)/%.o: $(SRCDIR)/%.c
    $(COMPILER) -o $@ -c $&lt; $(CFLAGS)

$(DEPDIR)/%.d: $(SRCDIR)/%.c
    $(COMPILER) -MM -MT $(OBJDIR)/$*.o $&lt; $(CFLAGS) &gt; $@

include $(DEP)

make check:
    make -f makefile $(PROGRAM)-3p, treba da ga pokrene

clean:
    rm -f $(OBJDIR)/*.o
    rm -f $(DEPDIR)/*.d
    rm -f *~
    rm -f $(PROGRAM)

.PHONY: clean
    make check

Решење