-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathmakefile
60 lines (49 loc) · 1.81 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
#CROSS = x86_64-w64-mingw32-
CC = $(CROSS)gcc
LINK = $(CROSS)gcc
AR = $(CROSS)ar
CFLAGS = -DFP_TYPE=float -Og -g -std=c99 -Wall -fPIC -fopenmp $(CFLAGSEXT)
ARFLAGS = -rv
OUT_DIR = ./build
OBJS = $(OUT_DIR)/math-funcs.o $(OUT_DIR)/llsm-layer0.o $(OUT_DIR)/llsm-layer1.o $(OUT_DIR)/envelope.o
LIBPYIN = external/libpyin
LIBGVPS = $(LIBPYIN)/external/libgvps
default: $(OUT_DIR)/libllsm.a
test: $(OUT_DIR)/llsm-test
$(OUT_DIR)/llsm-test test/arctic_a0001.wav
$(OUT_DIR)/llsm-test: $(OUT_DIR)/libllsm.a $(OUT_DIR)/ciglet.o test/test.c \
$(LIBGVPS)/build/libgvps.a $(LIBPYIN)/build/libpyin.a
$(LINK) $(CFLAGS) -o $(OUT_DIR)/llsm-test \
test/test.c \
$(OUT_DIR)/libllsm.a $(OUT_DIR)/ciglet.o \
$(LIBPYIN)/build/libpyin.a \
$(LIBGVPS)/build/libgvps.a -lm -Wno-unused-result -fopenmp
$(LIBGVPS)/build/libgvps.a:
cd $(LIBGVPS); mkdir -p build; make
$(LIBPYIN)/build/libpyin.a: $(LIBGVPS)//build/libgvps.a
cd $(LIBPYIN); mkdir -p build; make
$(OUT_DIR)/libllsm.a: $(OBJS)
$(AR) $(ARFLAGS) $(OUT_DIR)/libllsm.a $(OBJS) $(LIBS)
@echo Done.
$(OUT_DIR)/math-funcs.o : math-funcs.c math-funcs.h
$(OUT_DIR)/llsm-layer0.o : llsm-layer0.c llsm.h envelope.h math-funcs.h
$(OUT_DIR)/llsm-layer1.o : llsm-layer1.c llsm.h envelope.h math-funcs.h
$(OUT_DIR)/envelope.o : envelope.c envelope.h math-funcs.h
$(OUT_DIR)/ciglet.o : external/ciglet/ciglet.c
mkdir -p build
$(CC) $(CFLAGS) -o $(OUT_DIR)/ciglet.o -c external/ciglet/ciglet.c
$(OUT_DIR)/%.o : %.c
mkdir -p build
$(CC) $(CFLAGS) -o $(OUT_DIR)/$*.o -c $*.c
install: $(OUT_DIR)/libllsm.a
cp $(OUT_DIR)/libllsm.a /usr/lib/
cp llsm.h /usr/include/
@echo Done.
clean:
@echo 'Removing all temporary binaries... '
@rm -f $(OUT_DIR)/libllsm.a $(OUT_DIR)/*.o
@echo Done.
clear:
@echo 'Removing all temporary binaries... '
@rm -f $(OUT_DIR)/libllsm.a $(OUT_DIR)/*.o
@echo Done.