Fix the build system to support a build directory different than the
source directory:
- fix the include path to gnulib
- properly depend on and use files in the source directory
- fix the ocaml dependency calculation, making sure it picks the files
from all the places
---
src/Makefile.am | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 932881b..77aa611 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -99,7 +99,7 @@ supermin_SOURCES = $(SOURCES_C)
supermin_CFLAGS = \
-I$(shell $(OCAMLC) -where) \
$(EXT2FS_CFLAGS) $(COM_ERR_CFLAGS) \
- -I$(srcdir)/lib -I../lib
+ -I$(top_srcdir)/lib -I../lib
BOBJECTS = $(SOURCES_ML:.ml=.cmo)
XOBJECTS = $(SOURCES_ML:.ml=.cmx)
@@ -148,16 +148,16 @@ ext2init-bin.S: init
strip --strip-all $<
@file $< | grep -isq static || \
(echo "*** error: init is not staticly linked"; exit 1)
- ./bin2s.pl $< $@
+ $(srcdir)/bin2s.pl $< $@
depend: .depend
-.depend: $(SOURCES)
+.depend: $(wildcard $(abs_srcdir)/*.mli) $(wildcard $(abs_srcdir)/*.ml) config.ml
rm -f $@ $@-t
- $(OCAMLFIND) ocamldep $^ | \
+ $(OCAMLFIND) ocamldep -I $(abs_srcdir) -I $(builddir) $^ | \
$(SED) 's/ *$$//' | \
$(SED) -e :a -e '/ *\\$$/N; s/ *\\\n */ /; ta' | \
- $(SED) 's/ :/:/' | \
+ $(SED) -e 's,$(abs_srcdir)/,$(builddir)/,g' | \
sort > $@-t
mv $@-t $@
@@ -167,7 +167,7 @@ SUFFIXES = .cmo .cmi .cmx .ml .mli .mll .mly
if HAVE_PERLDOC
-supermin.1: supermin.pod
+supermin.1: $(srcdir)/supermin.pod
pod2man \
-u \
--section 1 \
@@ -178,12 +178,12 @@ supermin.1: supermin.pod
noinst_DATA = \
../html/supermin.1.html
-../html/supermin.1.html: supermin.pod
+../html/supermin.1.html: $(srcdir)/supermin.pod
mkdir -p ../html
pod2html \
--css 'pod.css' \
--htmldir ../html \
--outfile ../html/supermin.1.html \
- supermin.pod
+ $<
endif
--
1.9.0