Below is the file 'Makefile' from this revision. You can also download the file.
include config.make
MLINCDIRS_LOCAL = -I glib
MLINCDIRS = -I $(LABLGTK_DIR) $(MLINCDIRS_LOCAL)
GTK_CFLAGS := $(shell pkg-config gtk+-2.0 --cflags)
GNOMECANVAS_CFLAGS := $(shell pkg-config libgnomecanvas-2.0 pangoft2 --cflags)
SRC = glib/gspawn.ml glib/gspawn.mli glib/giochannel.ml glib/giochannel.mli \
glib/viz_gmisc.ml glib/gpattern.ml \
viz_misc.ml viz_misc.mli viz_types.ml viz_types.mli \
q.ml q.mli \
dot_lexer.ml dot_parser.ml dot_parser.mli \
basic_io_lexer.mli basic_io_lexer.ml revision.mli revision.ml \
subprocess.ml subprocess.mli \
components.ml \
automate.mli automate.ml monotone.mli monotone.ml \
agraph.ml agraph.mli \
autocolor.ml autocolor.mli viz_style.ml viz_style.mli \
version.ml icon.ml ui.ml ui.mli unidiff.ml unidiff.mli \
view.ml view.mli query.ml query.mli app.ml app.mli main.ml
C_OBJ = glib/ocaml-gspawn.o glib/ocaml-giochannel.o \
glib/ocaml-misc.o glib/ocaml-gdate.o glib/ocaml-gpattern.o \
gnomecanvas_hack.o
USE_P4 = viz_style.ml revision.ml
OBJ = $(patsubst %.ml,%.cmo,$(filter %.ml, $(SRC)))
OBJX = $(patsubst %.ml,%.cmx,$(filter %.ml, $(SRC)))
DISTSRC = Makefile configure.ac config.make.in ocaml.m4 configure aclocal.m4 \
monotone-viz.style.sample README INSTALL NEWS COPYING version.ml.in \
viz_misc.ml viz_misc.mli viz_types.ml viz_types.mli q.ml q.mli \
autocolor.ml autocolor.mli viz_style.ml viz_style.mli \
dot_types.mli dot_lexer.mll dot_parser.mly \
subprocess.ml subprocess.mli icon.ml ui.ml ui.mli \
basic_io_lexer.mll basic_io_lexer.mli revision.mli revision.ml \
components.ml automate.mli automate.ml monotone.mli monotone.ml agraph.ml agraph.mli \
unidiff.ml unidiff.mli gnomecanvas_hack.c view.ml view.mli \
query.ml query.mli app.mli app.ml main.ml \
glib/gspawn.ml glib/gspawn.mli glib/giochannel.ml glib/giochannel.mli \
glib/viz_gmisc.ml glib/gpattern.ml \
glib/ocaml-gspawn.c glib/ocaml-giochannel.c \
glib/ocaml-misc.c glib/ocaml-gdate.c glib/ocaml-gpattern.c \
glib/gspawn_tags.var glib/giochannel_tags.var
DIST_LABLGTK= lablgtk/configure lablgtk/configure.in lablgtk/config.make.in \
lablgtk/COPYING lablgtk/CHANGES lablgtk/README* \
lablgtk/Makefile lablgtk/src/Makefile lablgtk/src/.depend \
lablgtk/src/*.ml lablgtk/src/*.ml[il4] lablgtk/src/*.props \
lablgtk/src/*.[ch] lablgtk/src/*.var lablgtk/src/lablgtk2.in
LIB3RDPARTY_OBJ = $(C_OBJ)
ifeq ($(OCAMLBEST), opt)
monotone-viz : $(OBJX) lib3rdparty.a
$(OCAMLOPT) -o $@ -I $(LABLGTK_DIR) $(MLLIBS) $^
monotone-viz : MLLIBS = str.cmxa lablgtk.cmxa gtkInit.cmx lablgnomecanvas.cmxa
ifeq ($(LOCAL_LABLGTK), yes)
$(OBJX) : .lablgtk
endif
else
monotone-viz : $(OBJ) lib3rdparty.a
$(OCAMLC) -custom -o $@ -I $(LABLGTK_DIR) $(MLLIBS) $^
monotone-viz : MLLIBS = str.cma lablgtk.cma gtkInit.cmo lablgnomecanvas.cma
ifeq ($(LOCAL_LABLGTK), yes)
$(OBJ) : .lablgtk
endif
endif
lib3rdparty.a : $(C_OBJ)
ar crs lib3rdparty.a $(LIB3RDPARTY_OBJ)
glib/ocaml-gspawn.o : glib/gspawn_tags.c glib/gspawn_tags.h
glib/ocaml-giochannel.o : glib/giochannel_tags.c glib/giochannel_tags.h
glib/ocaml-%.o : CINCDIRS = -I $(LABLGTK_DIR) -ccopt "$(GTK_CFLAGS)"
gnomecanvas_hack.o : CINCDIRS = -ccopt "$(GNOMECANVAS_CFLAGS)"
REVISION_FILE := $(shell test -r _MTN/revision && echo _MTN/revision)
REVISION_ID = $(shell mtn automate get_base_revision_id)
version.ml : version.ml.in $(REVISION_FILE)
sed -e 's/@REVISION@/$(REVISION_ID)/' -e 's/@VERSION@/$(VERSION)/' < $< > $@
%.ml : %.mll
$(OCAMLLEX) $<
%.mli %.ml : %.mly
$(OCAMLYACC) $<
PP = $(if $(findstring $(1),$(USE_P4)),-pp $(CAMLP4O))
%.cmo : %.ml
$(OCAMLC) $(MLFLAGS) $(MLINCDIRS) $(call PP,$<) -c $<
%.cmx : %.ml
$(OCAMLOPT) $(MLFLAGS) $(MLINCDIRS) $(call PP,$<) -c $<
%.cmi : %.mli
$(OCAMLC) $(MLINCDIRS) $<
%.o : %.c
cd $(<D) ; $(OCAMLC) $(CINCDIRS) $(if $(CPPFLAGS),-ccopt "$(CPPFLAGS)") $(<F)
%.c %.h : %.var
cd $(<D) ; $(LABLGTK_DIR)/varcc -static $(<F)
clean :
rm -f *.a *.so *.o *.cm* monotone-viz
rm -f dot_lexer.ml dot_parser.ml dot_parser.mli basic_io_lexer.ml
cd glib && rm -f *.o *.cm*
install :
install -d $(DESTDIR)$(bindir)
install -m 0755 monotone-viz \
$(DESTDIR)$(bindir)/`echo monotone-viz | sed '$(transform)'`
uninstall :
rm -f $(DESTDIR)$(bindir)/`echo monotone-viz | sed '$(transform)'`
.PHONY : clean dist
ifeq ($OCAMLBEST, opt)
DEP_FLAGS = -native
endif
-include .depend
.depend : $(SRC)
@echo "making deps ..."
@$(OCAMLDEP) $(DEP_FLAGS) $(MLINCDIRS_LOCAL) $(filter-out $(USE_P4),$^) > $@
@$(OCAMLDEP) $(DEP_FLAGS) -pp '$(CAMLP4O)' $(USE_P4) >> $@
dist : ../$(NAME)-$(VERSION).tar.gz
dist-nolablgtk : ../$(NAME)-$(VERSION)-nolablgtk.tar.gz
../$(NAME)-$(VERSION).tar.gz : $(DISTSRC) $(DIST_LABLGTK)
../$(NAME)-$(VERSION)-nolablgtk.tar.gz : $(DISTSRC)
../%.tar.gz :
export DIRNAME="$${PWD##*/}" ; \
cd .. && mv "$$DIRNAME" $(NAME)-$(VERSION) && \
tar zcvf $(@F) $(addprefix $(NAME)-$(VERSION)/,$^) && \
mv $(NAME)-$(VERSION) "$$DIRNAME"
# no config.make
ifndef OCAMLLEX
$(error run ./configure first (cf README))
endif
.lablgtk :
$(MAKE) -C lablgtk world
touch $@