-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathmakefile
More file actions
41 lines (32 loc) · 847 Bytes
/
makefile
File metadata and controls
41 lines (32 loc) · 847 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
33
34
35
36
37
38
39
40
41
CC = gcc
CFLAGS = -fPIC -O3
LFLAGS =
SRCDIR = src
OBJDIR = build
SOURCES := $(wildcard $(SRCDIR)/*.c)
INCLUDES := $(wildcard $(SRCDIR)/*.h)
OBJECTS := $(SOURCES:$(SRCDIR)/%.c=$(OBJDIR)/%.o)
rm = rm -Rf
PREFIX := /usr
all: build_buildDir $(OBJECTS)
$(CC) -shared -Wl,-soname,libpynq.so -o libpynq.so $(OBJECTS) $(LFLAGS)
ar rcs libpynq.a $(OBJECTS) $(LFLAGS)
install:
mkdir -p $(PREFIX)/lib
mkdir -p $(PREFIX)/include
cp libpynq.so $(PREFIX)/lib/.
cp libpynq.a $(PREFIX)/lib/.
cp src/pynq_api.h $(PREFIX)/include/.
uninstall:
rm -f $(PREFIX)/lib/libpynq.so
rm -f $(PREFIX)/lib/libpynq.a
rm -f $(PREFIX)/include/pynq_api.h
build_buildDir:
@mkdir -p $(OBJDIR)
$(OBJECTS): $(OBJDIR)/%.o : $(SRCDIR)/%.c
$(CC) $(CFLAGS) -c $< -o $@
.PHONEY: clean
clean:
$(rm) $(OBJDIR)
$(rm) libpynq.so
$(rm) libpynq.a