POS/Lab 4 2022
< ПОС
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 $< $(CFLAGS)
$(DEPDIR)/%.d: $(SRCDIR)/%.c
$(COMPILER) -MM -MT $(OBJDIR)/$*.o $< $(CFLAGS) > $@
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