| 1 |
VERSION=@PACKAGE_VERSION@ |
| 2 |
NAME=@PACKAGE_NAME@ |
| 3 |
|
| 4 |
CFLAGS=@CFLAGS@ -fPIC -Wall -pedantic -Werror -Wno-long-long |
| 5 |
CPPFLAGS=@CPPFLAGS@ |
| 6 |
LDFLAGS=@LDFLAGS@ |
| 7 |
|
| 8 |
OCAMLFIND=@OCAMLFIND@ |
| 9 |
OCAMLBUILD=@OCAMLBUILD@ |
| 10 |
|
| 11 |
exec_prefix=@prefix@ |
| 12 |
LIBDIR=@libdir@/ocaml |
| 13 |
BINDIR=@bindir@ |
| 14 |
LIBDIR=$(shell ocamlfind printconf destdir) |
| 15 |
|
| 16 |
INSTALL=$(OCAMLFIND) install -destdir $(LIBDIR) |
| 17 |
UNINSTALL=$(OCAMLFIND) remove -destdir $(LIBDIR) |
| 18 |
|
| 19 |
ifeq ("@OCAMLBEST@","opt") |
| 20 |
OCAMLBEST=native |
| 21 |
else |
| 22 |
OCAMLBEST=byte |
| 23 |
endif |
| 24 |
|
| 25 |
DIST_DIR = $(NAME)-$(VERSION) |
| 26 |
DIST_TARBALL = $(DIST_DIR).tar.gz |
| 27 |
|
| 28 |
OBFLAGS = -j 10 -use-ocamlfind #-classic-display |
| 29 |
#OBFLAGS += $(OBFLAGS) -tag debug -tag profile |
| 30 |
|
| 31 |
BYTELIBS = parmap.cma |
| 32 |
OPTLIBS= |
| 33 |
CMXSLIBS= |
| 34 |
ALIBS= |
| 35 |
|
| 36 |
ifeq ("@OCAMLBEST@","opt") |
| 37 |
OPTLIBS += $(BYTELIBS:%.cma=%.cmxa) |
| 38 |
CMXSLIBS += $(BYTELIBS:%.cma=%.cmxs) |
| 39 |
endif |
| 40 |
|
| 41 |
ALIBS = $(BYTELIBS:%.cma=%.a) |
| 42 |
|
| 43 |
all: |
| 44 |
$(OCAMLBUILD) $(OBFLAGS) $(BYTELIBS) $(OPTLIBS) $(CMXSLIBS) $(ALIBS) |
| 45 |
|
| 46 |
fast: |
| 47 |
$(OCAMLBUILD) $(OBFLAGS) $(OPTLIBS) |
| 48 |
|
| 49 |
EXAMPLES = \ |
| 50 |
example/simplescale.$(OCAMLBEST) \ |
| 51 |
example/floatscale.$(OCAMLBEST) \ |
| 52 |
example/simplescale_array.$(OCAMLBEST) \ |
| 53 |
example/simplescalefold.$(OCAMLBEST) \ |
| 54 |
example/simplescalemapfold.$(OCAMLBEST) \ |
| 55 |
example/mandels.$(OCAMLBEST) |
| 56 |
|
| 57 |
examples: |
| 58 |
$(OCAMLBUILD) $(OBFLAGS) $(EXAMPLES) |
| 59 |
|
| 60 |
INSTALL_STUFF = META |
| 61 |
INSTALL_STUFF += $(wildcard _build/*.cma _build/*.cmxa _build/*.cmxs) |
| 62 |
INSTALL_STUFF += $(wildcard _build/*.mli _build/*.cmi) |
| 63 |
INSTALL_STUFF += $(wildcard _build/*.so _build/*.a) |
| 64 |
|
| 65 |
install: $(LIBS) META |
| 66 |
test -d $(LIBDIR) || mkdir -p $(LIBDIR) |
| 67 |
test -d $(LIBDIR)/stublibs || mkdir -p $(LIBDIR)/stublibs |
| 68 |
$(INSTALL) -patch-version $(VERSION) $(NAME) $(INSTALL_STUFF) |
| 69 |
|
| 70 |
uninstall: |
| 71 |
$(UNINSTALL) $(NAME) |
| 72 |
|
| 73 |
|
| 74 |
doc: |
| 75 |
$(OCAMLBUILD) $(OBFLAGS) $(NAME).docdir/index.html $(NAME).docdir/index.dot |
| 76 |
dot -Grotate=0 -Tsvg -o $(NAME).docdir/index.svg $(NAME).docdir/index.dot |
| 77 |
|
| 78 |
clean: |
| 79 |
$(OCAMLBUILD) -clean |
| 80 |
|
| 81 |
dist: ./$(DIST_TARBALL) |
| 82 |
./$(DIST_TARBALL): |
| 83 |
if [ -d ./$(DIST_DIR)/ ] ; then rm -rf ./$(DIST_DIR)/ ; fi |
| 84 |
if [ -d ./$(DIST_TARBALL) ] ; then rm -f ./$(DIST_TARBALL) ; fi |
| 85 |
if [ -d .svn ]; then \ |
| 86 |
svn export . ./$(DIST_DIR) ; \ |
| 87 |
else \ |
| 88 |
mkdir ./$(DIST_DIR)/ ;\ |
| 89 |
git archive --format=tar HEAD | \ |
| 90 |
tar -x -C ./$(DIST_DIR)/ ; \ |
| 91 |
fi |
| 92 |
for f in $(DIST_EXCLUDE) ; do rm -rf ./$(DIST_DIR)/$$f; done |
| 93 |
tar cvzf ./$(DIST_TARBALL) ./$(DIST_DIR) |
| 94 |
rm -rf ./$(DIST_DIR) |
| 95 |
@echo "Distribution tarball: ./$(DIST_TARBALL)" |
| 96 |
|
| 97 |
.PHONY: all fast install clean dist |