-
Notifications
You must be signed in to change notification settings - Fork 0
/
makefile
63 lines (48 loc) · 1.29 KB
/
makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
.PHONY: help
.PHONY: cleanO clean
.PHONY: buildDir
CC = gcc
ASSETS = ./assets
CFLAGS = -c -Wall
BUILD = ./build
SRC = ./src
BUILDDIR = build
default: help
help:
@echo
@echo Nicholas Grigolato 173880
@echo Gianluca Anversa 183933
@echo Mattia Pavan 191421
@echo
@echo Semplice gestore di processi.
@echo Permette la creazione e la chiusara di processi.
@echo
@echo Le regole utilizzabili sono:
@echo build: richiama prima clean e compila i sorgenti in un eseguibile
@echo clean: pulisce i file temporanei generati e elimina la cartella build
@echo test: richiama build ed esegue un test con vari input.
@echo run: richiama prima build ed esegue il progetto
@echo
compilePmanager: pmanager.o tree.o
$(CC) $(BUILD)/pmanager.o $(BUILD)/tree.o -o $(BUILD)/pmanager
compileChild: child.o
$(CC) $(BUILD)/child.o -o $(BUILD)/child
pmanager.o: src/pmanager.c
$(CC) $(CFLAGS) $(SRC)/pmanager.c -o $(BUILD)/pmanager.o
tree.o: src/tree.c
$(CC) $(CFLAGS) -o $(BUILD)/tree.o $(SRC)/tree.c
child.o: src/child.c
$(CC) $(CFLAGS) -o $(BUILD)/child.o $(SRC)/child.c
clean:
rm -rf $(BUILD)
cleanO:
rm -rf $(BUILD)/*.o
buildDir:
mkdir -p $(BUILDDIR)
build: clean buildDir compilePmanager compileChild cleanO
chmod:
chmod +x run.sh runTest.sh
test: build chmod
./runTest.sh
run: build chmod
./run.sh