-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
32 lines (24 loc) · 774 Bytes
/
Makefile
File metadata and controls
32 lines (24 loc) · 774 Bytes
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
CC = gcc
CFLAGS += -O3 -g -std=c99 -Wall -Wextra -Werror -Wconversion -pedantic -pedantic-errors
LDFLAGS +=
all: lib/libjpack.so lib/libjpack.a
src/jpack.o: src/jpack.c
$(CC) $(CFLAGS) -fPIC -c -I./include -o src/jpack.o src/jpack.c
lib/libjpack.a: src/jpack.o
mkdir -p lib
ar rcs lib/libjpack.a src/jpack.o
lib/libjpack.so: src/jpack.o
mkdir -p lib
$(CC) $(LDFLAGS) -shared -o lib/libjpack.so src/jpack.o
test: bin/jpack_test.bin
src/jpack_test.o: src/jpack.c
$(CC) $(CFLAGS) -DTEST -c -I./include -o src/jpack_test.o src/jpack.c
bin/jpack_test.bin: src/jpack_test.o
mkdir -p bin
$(CC) $(LDFLAGS) -o bin/jpack_test.bin src/jpack_test.o
clean:
rm -f src/jpack.o
rm -f src/jpack_test.o
rm -f lib/libjpack.a
rm -f lib/libjpack.so
rm -f bin/jpack_test.bin