POS/Lab 4 2022

Izvor: SI Wiki
< ПОС
Datum izmene: 1. oktobar 2022. u 21:22; autor: KockaAdmiralac (razgovor | doprinosi) (Četvrti lab ove godine od `<@793489760256917515>` (zapravo od angažovanih na predmetu))
(razl) ← Starija izmena | Trenutna verzija (razl) | Novija izmena → (razl)
Pređi na navigaciju Pređi na pretragu
Ovaj rok nije rešen. Pomozite SI Wiki tako što ćete ga rešiti.

Postavka

Vaš kolega iz tima i Vi zajedno radite na projektu čiju strukturu (organizacija datoteka po fasciklama) je postavio vaš vođa tima. Te strukture morate da se držite i ne smete da je menjate jer takvu strukturu imaju svi projekti u firmi. Kolega je napisao makefile za prevođenje projekta, ali je to radio veoma brzo i napravio je nekoliko grešaka. Šef je došao kod Vas i zatražio da u narednih pola sata ispravite makefile i još jednom Vam napomenuo da ne smete menjati strukturu projekta. Takođe, šef je zatražio da dodate pravilo koje će omogućiti da se komandom make check pokrene izvršavanje prevedenog projekta. (Datoteka test4.zip sadrži projekat koji je potrebno prevesti.)

Prekopirati ispravljeni 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

Rešenje