Skip to content

Commit 8f54722

Browse files
committed
The rules have been unified and moved into makefiles/default_rules.mk
It simplifies the development and ocassional modifications in the build system. Of course, nothing is preventing changes in the Makefiles -- it's just not needed for the time being. git-svn-id: https://svn.code.sf.net/p/kaldi/code/sandbox/sharedlibs@2631 5e6a8d80-dfce-4ca6-a32a-6e07a63d50c8
1 parent 89d6ba9 commit 8f54722

File tree

33 files changed

+39
-2079
lines changed

33 files changed

+39
-2079
lines changed

src/base/Makefile

Lines changed: 1 addition & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -11,66 +11,5 @@ LIBNAME = kaldi-base
1111

1212
ADDLIBS =
1313

14-
ifeq ($(KALDI_FLAVOR), dynamic)
15-
ifdef LIBNAME
16-
LIBFILE = lib$(LIBNAME).so
17-
LDLIBS += -l$(LIBNAME)
18-
endif
19-
LDFLAGS += $(foreach dep,$(ADDLIBS), -L$(dir $(dep)) )
20-
LDFLAGS += -L.
21-
LDFLAGS += -Wl,-rpath=$(shell readlink -f $(KALDILIBDIR))
22-
LDLIBS += $(foreach dep,$(ADDLIBS), -l$(notdir $(basename $(dep))) )
23-
XDEPENDS = $(foreach dep,$(ADDLIBS), $(dir $(dep))/lib$(notdir $(basename $(dep))).so )
24-
else
25-
ifdef LIBNAME
26-
LIBFILE = $(LIBNAME).a
27-
endif
28-
XDEPENDS = $(ADDLIBS)
29-
endif
30-
31-
all: $(LIBFILE) $(BINFILES)
32-
33-
$(LIBFILE): $(OBJFILES)
34-
$(AR) -cru $(LIBNAME).a $(OBJFILES)
35-
$(RANLIB) $(LIBNAME).a
36-
ifeq ($(KALDI_FLAVOR), dynamic)
37-
# Building shared library from static (static was compiled with -fPIC)
38-
$(CXX) -shared -o $@ -Wl,-soname=$@,--whole-archive $(LIBNAME).a -Wl,--no-whole-archive
39-
cp $@ $(KALDILIBDIR)
40-
endif
41-
42-
43-
$(BINFILES): $(LIBFILE) $(XDEPENDS)
44-
45-
46-
# Rule below would expand to, e.g.:
47-
# ../base/kaldi-base.a:
48-
# make -c ../base kaldi-base.a
49-
# -c option to make is same as changing directory.
50-
%.a:
51-
$(MAKE) -C ${@D} ${@F}
52-
53-
%.so:
54-
$(MAKE) -C ${@D} ${@F}
55-
56-
clean:
57-
-rm -f *.o *.a *.so $(TESTFILES) $(BINFILES) tmp* *.tmp
58-
59-
$(TESTFILES): $(LIBFILE) $(XDEPENDS)
60-
61-
test_compile: $(TESTFILES)
62-
63-
test: test_compile
64-
@result=0; for x in $(TESTFILES); do echo -n "Running $$x ..."; ./$$x >/dev/null 2>&1; if [ $$? -ne 0 ]; then echo "... FAIL"; result=1; else echo "... SUCCESS"; fi; done; exit $$result
65-
66-
.valgrind: $(BINFILES) $(TESTFILES)
67-
68-
69-
depend:
70-
-$(CXX) -M $(CXXFLAGS) *.cc > .depend.mk
71-
72-
# removing automatic making of "depend" as it's quite slow.
73-
#.depend.mk: depend
74-
75-
-include .depend.mk
14+
include ../makefiles/default_rules.mk
7615

src/bin/Makefile

Lines changed: 1 addition & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -32,74 +32,5 @@ ADDLIBS = ../lm/kaldi-lm.a ../decoder/kaldi-decoder.a ../lat/kaldi-lat.a \
3232

3333
TESTFILES =
3434

35-
# Note: we intentionally list kaldi-gmm.a both before and after kaldi-transform.a, because
36-
# each requires symbols from the other.
37-
#ADDLIBS = ../lat/kaldi-lat.a ../lm/kaldi-lm.a ../decoder/kaldi-decoder.a \
38-
# ../feat/kaldi-feature.a ../transform/kaldi-transform.a \
39-
# ../gmm/kaldi-gmm.a ../gmm/kaldi-gmm.a ../hmm/kaldi-hmm.a \
40-
# ../tree/kaldi-tree.a ../matrix/kaldi-matrix.a \
41-
# ../thread/kaldi-thread.a ../util/kaldi-util.a ../base/kaldi-base.a
42-
43-
ifeq ($(KALDI_FLAVOR), dynamic)
44-
ifdef LIBNAME
45-
LIBFILE = lib$(LIBNAME).so
46-
LDLIBS += -l$(LIBNAME)
47-
endif
48-
LDFLAGS += $(foreach dep,$(ADDLIBS), -L$(dir $(dep)) )
49-
LDFLAGS += -L.
50-
LDFLAGS += -Wl,-rpath=$(shell readlink -f $(KALDILIBDIR))
51-
LDLIBS += $(foreach dep,$(ADDLIBS), -l$(notdir $(basename $(dep))) )
52-
XDEPENDS = $(foreach dep,$(ADDLIBS), $(dir $(dep))/lib$(notdir $(basename $(dep))).so )
53-
else
54-
ifdef LIBNAME
55-
LIBFILE = $(LIBNAME).a
56-
endif
57-
XDEPENDS = $(ADDLIBS)
58-
endif
59-
60-
all: $(LIBFILE) $(BINFILES)
61-
62-
$(LIBFILE): $(OBJFILES)
63-
$(AR) -cru $(LIBNAME).a $(OBJFILES)
64-
$(RANLIB) $(LIBNAME).a
65-
ifeq ($(KALDI_FLAVOR), dynamic)
66-
# Building shared library from static (static was compiled with -fPIC)
67-
$(CXX) -shared -o $@ -Wl,-soname=$@,--whole-archive $(LIBNAME).a -Wl,--no-whole-archive
68-
cp $@ $(KALDILIBDIR)
69-
endif
70-
71-
72-
$(BINFILES): $(LIBFILE) $(XDEPENDS)
73-
74-
75-
# Rule below would expand to, e.g.:
76-
# ../base/kaldi-base.a:
77-
# make -c ../base kaldi-base.a
78-
# -c option to make is same as changing directory.
79-
%.a:
80-
$(MAKE) -C ${@D} ${@F}
81-
82-
%.so:
83-
$(MAKE) -C ${@D} ${@F}
84-
85-
clean:
86-
-rm -f *.o *.a *.so $(TESTFILES) $(BINFILES) tmp* *.tmp
87-
88-
$(TESTFILES): $(LIBFILE) $(XDEPENDS)
89-
90-
test_compile: $(TESTFILES)
91-
92-
test: test_compile
93-
@result=0; for x in $(TESTFILES); do echo -n "Running $$x ..."; ./$$x >/dev/null 2>&1; if [ $$? -ne 0 ]; then echo "... FAIL"; result=1; else echo "... SUCCESS"; fi; done; exit $$result
94-
95-
.valgrind: $(BINFILES) $(TESTFILES)
96-
97-
98-
depend:
99-
-$(CXX) -M $(CXXFLAGS) *.cc > .depend.mk
100-
101-
# removing automatic making of "depend" as it's quite slow.
102-
#.depend.mk: depend
103-
104-
-include .depend.mk
35+
include ../makefiles/default_rules.mk
10536

src/cudamatrix/Makefile

Lines changed: 1 addition & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -47,66 +47,5 @@ endif
4747

4848
ADDLIBS = ../matrix/kaldi-matrix.a ../base/kaldi-base.a ../util/kaldi-util.a
4949

50-
ifeq ($(KALDI_FLAVOR), dynamic)
51-
ifdef LIBNAME
52-
LIBFILE = lib$(LIBNAME).so
53-
LDLIBS += -l$(LIBNAME)
54-
endif
55-
LDFLAGS += $(foreach dep,$(ADDLIBS), -L$(dir $(dep)) )
56-
LDFLAGS += -L.
57-
LDFLAGS += -Wl,-rpath=$(shell readlink -f $(KALDILIBDIR))
58-
LDLIBS += $(foreach dep,$(ADDLIBS), -l$(notdir $(basename $(dep))) )
59-
XDEPENDS = $(foreach dep,$(ADDLIBS), $(dir $(dep))/lib$(notdir $(basename $(dep))).so )
60-
else
61-
ifdef LIBNAME
62-
LIBFILE = $(LIBNAME).a
63-
endif
64-
XDEPENDS = $(ADDLIBS)
65-
endif
66-
67-
all: $(LIBFILE) $(BINFILES)
68-
69-
$(LIBFILE): $(OBJFILES)
70-
$(AR) -cru $(LIBNAME).a $(OBJFILES)
71-
$(RANLIB) $(LIBNAME).a
72-
ifeq ($(KALDI_FLAVOR), dynamic)
73-
# Building shared library from static (static was compiled with -fPIC)
74-
$(CXX) -shared -o $@ -Wl,-soname=$@,--whole-archive $(LIBNAME).a -Wl,--no-whole-archive
75-
cp $@ $(KALDILIBDIR)
76-
endif
77-
78-
79-
$(BINFILES): $(LIBFILE) $(XDEPENDS)
80-
81-
82-
# Rule below would expand to, e.g.:
83-
# ../base/kaldi-base.a:
84-
# make -c ../base kaldi-base.a
85-
# -c option to make is same as changing directory.
86-
%.a:
87-
$(MAKE) -C ${@D} ${@F}
88-
89-
%.so:
90-
$(MAKE) -C ${@D} ${@F}
91-
92-
clean:
93-
-rm -f *.o *.a *.so $(TESTFILES) $(BINFILES) tmp* *.tmp
94-
95-
$(TESTFILES): $(LIBFILE) $(XDEPENDS)
96-
97-
test_compile: $(TESTFILES)
98-
99-
test: test_compile
100-
@result=0; for x in $(TESTFILES); do echo -n "Running $$x ..."; ./$$x >/dev/null 2>&1; if [ $$? -ne 0 ]; then echo "... FAIL"; result=1; else echo "... SUCCESS"; fi; done; exit $$result
101-
102-
.valgrind: $(BINFILES) $(TESTFILES)
103-
104-
105-
depend:
106-
-$(CXX) -M $(CXXFLAGS) *.cc > .depend.mk
107-
108-
# removing automatic making of "depend" as it's quite slow.
109-
#.depend.mk: depend
110-
111-
-include .depend.mk
50+
include ../makefiles/default_rules.mk
11251

src/decoder/Makefile

Lines changed: 1 addition & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -14,66 +14,5 @@ ADDLIBS = ../transform/kaldi-transform.a ../tree/kaldi-tree.a \
1414
../sgmm/kaldi-sgmm.a ../gmm/kaldi-gmm.a ../hmm/kaldi-hmm.a ../util/kaldi-util.a \
1515
../base/kaldi-base.a ../matrix/kaldi-matrix.a
1616

17-
ifeq ($(KALDI_FLAVOR), dynamic)
18-
ifdef LIBNAME
19-
LIBFILE = lib$(LIBNAME).so
20-
LDLIBS += -l$(LIBNAME)
21-
endif
22-
LDFLAGS += $(foreach dep,$(ADDLIBS), -L$(dir $(dep)) )
23-
LDFLAGS += -L.
24-
LDFLAGS += -Wl,-rpath=$(shell readlink -f $(KALDILIBDIR))
25-
LDLIBS += $(foreach dep,$(ADDLIBS), -l$(notdir $(basename $(dep))) )
26-
XDEPENDS = $(foreach dep,$(ADDLIBS), $(dir $(dep))/lib$(notdir $(basename $(dep))).so )
27-
else
28-
ifdef LIBNAME
29-
LIBFILE = $(LIBNAME).a
30-
endif
31-
XDEPENDS = $(ADDLIBS)
32-
endif
33-
34-
all: $(LIBFILE) $(BINFILES)
35-
36-
$(LIBFILE): $(OBJFILES)
37-
$(AR) -cru $(LIBNAME).a $(OBJFILES)
38-
$(RANLIB) $(LIBNAME).a
39-
ifeq ($(KALDI_FLAVOR), dynamic)
40-
# Building shared library from static (static was compiled with -fPIC)
41-
$(CXX) -shared -o $@ -Wl,-soname=$@,--whole-archive $(LIBNAME).a -Wl,--no-whole-archive
42-
cp $@ $(KALDILIBDIR)
43-
endif
44-
45-
46-
$(BINFILES): $(LIBFILE) $(XDEPENDS)
47-
48-
49-
# Rule below would expand to, e.g.:
50-
# ../base/kaldi-base.a:
51-
# make -c ../base kaldi-base.a
52-
# -c option to make is same as changing directory.
53-
%.a:
54-
$(MAKE) -C ${@D} ${@F}
55-
56-
%.so:
57-
$(MAKE) -C ${@D} ${@F}
58-
59-
clean:
60-
-rm -f *.o *.a *.so $(TESTFILES) $(BINFILES) tmp* *.tmp
61-
62-
$(TESTFILES): $(LIBFILE) $(XDEPENDS)
63-
64-
test_compile: $(TESTFILES)
65-
66-
test: test_compile
67-
@result=0; for x in $(TESTFILES); do echo -n "Running $$x ..."; ./$$x >/dev/null 2>&1; if [ $$? -ne 0 ]; then echo "... FAIL"; result=1; else echo "... SUCCESS"; fi; done; exit $$result
68-
69-
.valgrind: $(BINFILES) $(TESTFILES)
70-
71-
72-
depend:
73-
-$(CXX) -M $(CXXFLAGS) *.cc > .depend.mk
74-
75-
# removing automatic making of "depend" as it's quite slow.
76-
#.depend.mk: depend
77-
78-
-include .depend.mk
17+
include ../makefiles/default_rules.mk
7918

src/feat/Makefile

Lines changed: 1 addition & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -14,66 +14,5 @@ LIBNAME = kaldi-feat
1414
ADDLIBS = ../transform/kaldi-transform.a ../gmm/kaldi-gmm.a ../tree/kaldi-tree.a \
1515
../util/kaldi-util.a ../matrix/kaldi-matrix.a ../base/kaldi-base.a
1616

17-
ifeq ($(KALDI_FLAVOR), dynamic)
18-
ifdef LIBNAME
19-
LIBFILE = lib$(LIBNAME).so
20-
LDLIBS += -l$(LIBNAME)
21-
endif
22-
LDFLAGS += $(foreach dep,$(ADDLIBS), -L$(dir $(dep)) )
23-
LDFLAGS += -L.
24-
LDFLAGS += -Wl,-rpath=$(shell readlink -f $(KALDILIBDIR))
25-
LDLIBS += $(foreach dep,$(ADDLIBS), -l$(notdir $(basename $(dep))) )
26-
XDEPENDS = $(foreach dep,$(ADDLIBS), $(dir $(dep))/lib$(notdir $(basename $(dep))).so )
27-
else
28-
ifdef LIBNAME
29-
LIBFILE = $(LIBNAME).a
30-
endif
31-
XDEPENDS = $(ADDLIBS)
32-
endif
33-
34-
all: $(LIBFILE) $(BINFILES)
35-
36-
$(LIBFILE): $(OBJFILES)
37-
$(AR) -cru $(LIBNAME).a $(OBJFILES)
38-
$(RANLIB) $(LIBNAME).a
39-
ifeq ($(KALDI_FLAVOR), dynamic)
40-
# Building shared library from static (static was compiled with -fPIC)
41-
$(CXX) -shared -o $@ -Wl,-soname=$@,--whole-archive $(LIBNAME).a -Wl,--no-whole-archive
42-
cp $@ $(KALDILIBDIR)
43-
endif
44-
45-
46-
$(BINFILES): $(LIBFILE) $(XDEPENDS)
47-
48-
49-
# Rule below would expand to, e.g.:
50-
# ../base/kaldi-base.a:
51-
# make -c ../base kaldi-base.a
52-
# -c option to make is same as changing directory.
53-
%.a:
54-
$(MAKE) -C ${@D} ${@F}
55-
56-
%.so:
57-
$(MAKE) -C ${@D} ${@F}
58-
59-
clean:
60-
-rm -f *.o *.a *.so $(TESTFILES) $(BINFILES) tmp* *.tmp
61-
62-
$(TESTFILES): $(LIBFILE) $(XDEPENDS)
63-
64-
test_compile: $(TESTFILES)
65-
66-
test: test_compile
67-
@result=0; for x in $(TESTFILES); do echo -n "Running $$x ..."; ./$$x >/dev/null 2>&1; if [ $$? -ne 0 ]; then echo "... FAIL"; result=1; else echo "... SUCCESS"; fi; done; exit $$result
68-
69-
.valgrind: $(BINFILES) $(TESTFILES)
70-
71-
72-
depend:
73-
-$(CXX) -M $(CXXFLAGS) *.cc > .depend.mk
74-
75-
# removing automatic making of "depend" as it's quite slow.
76-
#.depend.mk: depend
77-
78-
-include .depend.mk
17+
include ../makefiles/default_rules.mk
7918

0 commit comments

Comments
 (0)