39 |
# |
# |
40 |
################################################################### |
################################################################### |
41 |
|
|
|
#include common.Makefile |
|
|
|
|
|
# main target |
|
|
############# |
|
|
|
|
|
NAME = libsip |
|
|
|
|
42 |
SUBDIRS = algo \ |
SUBDIRS = algo \ |
43 |
type \ |
type \ |
44 |
filter |
filter |
|
# ./ |
|
45 |
|
|
46 |
# sources, directory by directory. |
# sources, directory by directory. |
47 |
|
|
48 |
|
#------------------------------------------------------------------------------- |
49 |
|
|
50 |
# algo/ |
# algo/ |
51 |
|
|
52 |
#subdirectory name |
#subdirectory name |
55 |
ALGO_A = lib$(ALGO_DIR).a |
ALGO_A = lib$(ALGO_DIR).a |
56 |
# name of the compiled bytecode .a lib (with path!) |
# name of the compiled bytecode .a lib (with path!) |
57 |
ALGO_A_LIB = $(ALGO_DIR)/lib$(ALGO_DIR).a |
ALGO_A_LIB = $(ALGO_DIR)/lib$(ALGO_DIR).a |
58 |
# .cc sources (without paths!) |
# .cc sources (with paths!) |
59 |
ALGO_CC = fft.cc\ |
ALGO_CC = $(wildcard $(ALGO_DIR)/*.cc) |
60 |
mfcc.cc\ |
# compiled native code .o files (with path!) |
61 |
lpc.cc |
ALGO_O = $(ALGO_CC:.cc=.o) |
62 |
# compiled native code .o files (without path!) |
# compiled native code .o files (with path!) |
63 |
ALGO_O = $(TYPE_CC:.cc=.o) |
ALGO_O_LIB = $(ALGO_O) |
|
# compiled native code .o files (with path!) |
|
|
ALGO_O_LIB = $(ALGO_DIR)/fft.o\ |
|
|
$(ALGO_DIR)/mfcc.o\ |
|
|
$(ALGO_DIR)/lpc.o |
|
64 |
|
|
65 |
|
#------------------------------------------------------------------------------- |
66 |
|
|
67 |
# type/ |
# type/ |
68 |
|
|
72 |
TYPE_A = lib$(TYPE_DIR).a |
TYPE_A = lib$(TYPE_DIR).a |
73 |
# name of the compiled bytecode .a lib (with path!) |
# name of the compiled bytecode .a lib (with path!) |
74 |
TYPE_A_LIB = $(TYPE_DIR)/lib$(TYPE_DIR).a |
TYPE_A_LIB = $(TYPE_DIR)/lib$(TYPE_DIR).a |
75 |
# .cc sources (without paths!) |
# .cc sources (with paths!) |
76 |
TYPE_CC = contlogsignal.cc\ |
TYPE_CC= $(wildcard $(TYPE_DIR)/*.cc) |
77 |
contsignal.cc\ |
# compiled native code .o files (with path!) |
|
disclogsignal.cc\ |
|
|
discsignal.cc |
|
|
# compiled native code .o files (without path!) |
|
78 |
TYPE_O = $(TYPE_CC:.cc=.o) |
TYPE_O = $(TYPE_CC:.cc=.o) |
79 |
# compiled native code .o files (with path!) |
# compiled native code .o files (with path!) |
80 |
TYPE_O_LIB = $(TYPE_DIR)/contlogsignal.o\ |
TYPE_O_LIB = $(TYPE_O) |
|
$(TYPE_DIR)/contsignal.o\ |
|
|
$(TYPE_DIR)/disclogsignal.o\ |
|
|
$(TYPE_DIR)/discsignal.o |
|
|
|
|
81 |
|
|
82 |
|
#------------------------------------------------------------------------------- |
83 |
|
|
84 |
# filter/ |
# filter/ |
85 |
|
|
89 |
FILTER_A = lib$(FILTER_DIR).a |
FILTER_A = lib$(FILTER_DIR).a |
90 |
# name of the compiled bytecode .a lib (with path!) |
# name of the compiled bytecode .a lib (with path!) |
91 |
FILTER_A_LIB = $(FILTER_DIR)/lib$(FILTER_DIR).a |
FILTER_A_LIB = $(FILTER_DIR)/lib$(FILTER_DIR).a |
92 |
# .cc sources (without paths!) |
# .cc sources (with paths!) |
93 |
FILTER_CC = highpass.cc\ |
FILTER_CC = $(wildcard $(FILTER_DIR)/*.cc) |
94 |
lowpass.cc\ |
# compiled native code .o files (with path!) |
|
tchebychev.cc |
|
|
|
|
|
# compiled native code .o files (without path!) |
|
95 |
FILTER_O = $(FILTER_CC:.cc=.o) |
FILTER_O = $(FILTER_CC:.cc=.o) |
96 |
# compiled native code .o files (with path!) |
# compiled native code .o files (with path!) |
97 |
FILTER_O_LIB = $(FILTER_DIR)/highpass.o\ |
FILTER_O_LIB = $(FILTER_O) |
98 |
$(FILTER_DIR)/lowpass.o\ |
|
99 |
$(FILTER_DIR)/tchebychev.o |
#------------------------------------------------------------------------------- |
100 |
|
|
101 |
|
# main |
102 |
|
|
103 |
|
#subdirectory name |
104 |
|
MAIN_DIR = . |
105 |
|
# name of the compiled bytecode .a lib (without path!) |
106 |
|
MAIN_A = lib$(MAIN_DIR).a |
107 |
|
# name of the compiled bytecode .a lib (with path!) |
108 |
|
MAIN_A_LIB = $(MAIN_DIR)/lib$(MAIN_DIR).a |
109 |
|
# .cc sources (with paths!) |
110 |
|
MAIN_CC = $(wildcard $(MAIN_DIR)/*.cc) |
111 |
|
# compiled native code .o files (with path!) |
112 |
|
MAIN_O = $(MAIN_CC:.cc=.o) |
113 |
|
# compiled native code .o files (with path!) |
114 |
|
MAIN_O_LIB = $(MAIN_O) |
115 |
|
|
116 |
|
#------------------------------------------------------------------------------- |
117 |
|
|
118 |
# (* Libraries compilation *) |
# (* Libraries compilation *) |
119 |
|
|
120 |
# all .a files required for the libsip.a bytecode lib. |
# all .a files required for the libsip.a bytecode lib. |
121 |
ALL_A_LIB = $(ALGO_A_LIB) \ |
ALL_A_LIB = $(ALGO_A_LIB) \ |
122 |
$(TYPE_A_LIB)\ |
$(TYPE_A_LIB)\ |
123 |
$(FILTER_A_LIB) |
$(FILTER_A_LIB)\ |
124 |
|
$(MAIN_A_LIB) |
125 |
|
|
126 |
# all .cmx files required for the libnn.cmxa native code lib. |
# all .cmx files required for the libnn.cmxa native code lib. |
127 |
ALL_O_LIB = $(TYPE_O_LIB)\ |
ALL_O_LIB = $(TYPE_O_LIB)\ |
128 |
$(ALGO_O_LIB)\ |
$(ALGO_O_LIB)\ |
129 |
$(FILTER_O_LIB) |
$(FILTER_O_LIB)\ |
130 |
|
$(MAIN_O_LIB) |
131 |
|
|
132 |
|
#------------------------------------------------------------------------------- |
133 |
|
|
134 |
# (* /Sources *) |
# (* /Sources *) |
135 |
|
|
152 |
DVIPS_HERE = dvips |
DVIPS_HERE = dvips |
153 |
TEXI2HTML_HERE = texi2html |
TEXI2HTML_HERE = texi2html |
154 |
|
|
155 |
INCLUDES = -I ../algo -I ../type -I ../filter -I ../ -I./ |
INCLUDES = -I./algo/ -I./type/ -I./filter/ -I../ -I./ |
156 |
|
|
157 |
# General compilation flags. |
# General compilation flags. |
158 |
############################ |
############################ |
179 |
.SUFFIXES: .cc .o .a .tex .dvi .ps .html |
.SUFFIXES: .cc .o .a .tex .dvi .ps .html |
180 |
|
|
181 |
.cc.o: |
.cc.o: |
182 |
${Gpp} -c $(OFLAGS) $< |
${Gpp} ${INCLUDES} -c $< -o $@ |
183 |
|
|
184 |
.tex.dvi: |
.tex.dvi: |
185 |
latex $< && latex $< |
latex $< && latex $< |