-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
60 lines (44 loc) · 1.28 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
N = 2000
PYTORCH_N_TRAINTING_ITER = 1000
CC=clang
PYTHON=python
OPTIMISATION_LEVEL=-O3
ENTRYPOINTS := \
bnn-inference.c \
SOURCES := \
RESULTS_DIR=results
DATA_DIR=data
PLOTS_DIR=plots
BUILD_DIR=build
SRC_DIR=src
INCLUDE_DIR=include
INCLUDE_FLAGS=-I../../include -I$(INCLUDE_DIR)
CFLAGS+=$(OPTIMISATION_LEVEL)
LDFLAGS=-L../../libs/ -lpascal
FRAMEWORK_FLAGS=
OBJECTS := $(SOURCES:%=$(BUILD_DIR)/%.o)
LIB := $(OBJECTS)
ENTRYPOINTS_FLAT := $(ENTRYPOINTS:%.c=$(BUILD_DIR)/%)
.PHONY := \
run \
clean \
$(BUILD_DIR)/%.c.o: $(SRC_DIR)/%.c
mkdir -p $(dir $@)
$(CC) $(CFLAGS) $(DEBUG_FLAGS) $(INCLUDE_FLAGS) -c $< -o $@
.SECONDEXPANSION:
$(addsuffix .c.o,$(ENTRYPOINTS_FLAT)):: $$(patsubst $(BUILD_DIR)/%.c.o,$(SRC_DIR)/%.c,$$@)
mkdir -p $(dir $@)
$(CC) $(CFLAGS) -c $< $(INCLUDE_FLAGS) -o $@
.SECONDEXPANSION:
$(ENTRYPOINTS_FLAT): [email protected] $(LIB)
$(CC) -o $@ $^ $(LDFLAGS) $(FRAMEWORK_FLAGS)
build: $(ENTRYPOINTS_FLAT)
run: $(ENTRYPOINTS_FLAT)
@echo ...............................................................................
@echo Running bnn-inference
$(PYTHON) src/pytorch.py $(N) $(PYTORCH_N_TRAINTING_ITER)
./$(BUILD_DIR)/bnn-inference $(N)
$(PYTHON) src/analyse.py
@echo ...............................................................................
clean:
rm -fv $(BUILD_DIR)/*