summaryrefslogblamecommitdiffstats
path: root/04_exercise/Makefile
blob: 064ec4b77a56a0d656e9734e8d5f38f5e06eacaa (plain) (tree)

































                                                                                      
#!/usr/bin/make
.SUFFIXES:
.PHONY: all run pack clean

SRC = $(wildcard *.c)
OBJ = $(SRC:%.c=%.o)
TAR = threadpool
PCK = lab-4.zip

CFLAGS = -std=gnu11 -c -g -Os -Wall -MMD -MP
LFLAGS = -pthread

DEP = $(OBJ:%.o=%.d)
-include $(DEP)

%.o: %.c
	$(CC) $(CFLAGS) $< -o $@

$(TAR): $(filter-out quicksort.o,$(OBJ))
	$(CC) $(LFLAGS) -o $@ $^

all: $(TAR)

bench: $(filter-out main.o,$(OBJ))
	$(CC) $(LFLAGS) -o $@ $^

run: all
	./$(TAR)

pack: clean
	zip $(PCK) $(SRC) $(wildcard *.h) $(wildcard *.pdf) $(wildcard *.txt) Makefile

clean:
	$(RM) $(RMFILES) $(OBJ) $(TAR) bench $(DEP) $(PCK)