-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakefile
28 lines (23 loc) · 922 Bytes
/
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
CC=gcc
CFLAGS=-Isrc -g
AR=ar
OUTPUT=libzr.a
EXAM_DIR=example
BIN_DIR=bin
lib: obj
$(AR) -r lib/$(OUTPUT) o/scheduler.o o/channel.o o/list.o
test: test.c
$(CC) test.c src/scheduler.c src/channel.c src/list.c -w -g -o test
example: lib $(EXAM_DIR)/example0.c $(EXAM_DIR)/example1.c $(EXAM_DIR)/example2.c $(EXAM_DIR)/example3.c $(EXAM_DIR)/example4.c
$(CC) $(EXAM_DIR)/example0.c -Llib -lzr -o $(BIN_DIR)/example0 $(CFLAGS)
$(CC) $(EXAM_DIR)/example1.c -Llib -lzr -o $(BIN_DIR)/example1 $(CFLAGS)
$(CC) $(EXAM_DIR)/example2.c -Llib -lzr -o $(BIN_DIR)/example2 $(CFLAGS)
$(CC) $(EXAM_DIR)/example3.c -Llib -lzr -o $(BIN_DIR)/example3 $(CFLAGS)
$(CC) $(EXAM_DIR)/example4.c -Llib -lzr -o $(BIN_DIR)/example4 $(CFLAGS)
obj: src/scheduler.c src/channel.c src/list.c
$(CC) -c src/scheduler.c -o o/scheduler.o -w
$(CC) -c src/channel.c -o o/channel.o -w
$(CC) -c src/list.c -o o/list.o -w
clean:
rm o/*
rm lib/*