1 # Makefile for COCANWIKI.
2 # $Id: Makefile,v 1.50 2006/08/04 12:20:06 rich Exp $
4 include ../Makefile.config
6 PGOCAML_PP := camlp4o -I +pcre -I +extlib -I $(PGOCAMLDIR) $(OCAMLLIBDIR)/unix.cma $(OCAMLLIBDIR)/pcre/pcre.cma $(OCAMLLIBDIR)/extlib/extLib.cma $(OCAMLLIBDIR)/calendar/calendar.cma pgocaml.cma pa_pgsql.cmo
10 -package apache,pcre,extlib,netstring,calendar -I $(PGOCAMLDIR) \
11 -I lib -pp "$(PGOCAML_PP)"
14 export PGDATABASE=cocanwiki
16 ifeq ($(shell hostname),oirase)
17 # While compiling on home machine, create a tunnel using
18 # ssh -L 5430:localhost:5432 towada.merjis.com
19 export PGHOST=localhost
23 SRCS := $(wildcard *.ml)
24 ADMIN_SRCS := $(wildcard admin/*.ml)
26 OBJS := $(SRCS:.ml=.cmo)
27 ADMIN_OBJS := $(ADMIN_SRCS:.ml=.cmo)
29 # NB. Order in which these are built really matters! To rebuild
30 # the ordering after substantially editing the library files, try:
31 # PGDATABASE=cocanwiki ocamldsort -pp "'$(PGOCAML_PP)'" -byte *.ml *.mli
33 lib/cocanwiki_version.cmo \
34 lib/cocanwiki_extensions.cmo \
35 lib/cocanwiki_date.cmo \
36 lib/cocanwiki_files.cmo \
37 lib/cocanwiki_server_settings.cmo \
38 lib/cocanwiki_strings.cmo \
39 lib/cocanwiki_version.cmo \
40 lib/cocanwiki_create_host.cmo \
42 lib/cocanwiki_template.cmo \
43 lib/cocanwiki_images.cmo \
44 lib/cocanwiki_ok.cmo \
46 lib/cocanwiki_links.cmo \
47 lib/cocanwiki_ext_calendar.cmo \
48 lib/cocanwiki_emailnotify.cmo \
49 lib/cocanwiki_pages.cmo \
50 lib/cocanwiki_diff.cmo \
51 lib/cocanwiki_mail.cmo \
52 lib/cdvmm_phone_numbers.cmo
54 INSTDIR := ../html/_bin
56 all: lib/cocanwiki.cma $(OBJS) $(ADMIN_OBJS)
58 lib/cocanwiki.cma: $(LIB_OBJS)
59 ocamlfind ocamlc $(OCAMLCFLAGS) -a -o $@ $^
61 lib/cocanwiki_version.ml: lib/cocanwiki_version.ml.in ../Makefile.config
62 $(CPP) -P -DPACKAGE="$(PACKAGE)" -DVERSION="$(VERSION)" $< > $@
64 # For debugging camlp4 macro.
66 $(PGOCAML_PP) pr_o.cmo lib/cocanwiki_pages.ml
69 rm -f *~ *.bak core *.cmi *.cmo *.cma lib/cocanwiki_version.ml
70 rm -f lib/*~ lib/*.bak lib/core lib/*.cmi lib/*.cmo lib/*.cma
71 rm -f admin/*~ admin/*.bak admin/core admin/*.cmi admin/*.cmo
74 install -d -m 0755 $(INSTDIR)
75 install -c -m 0555 lib/cocanwiki.cma $(INSTDIR)
76 install -c -m 0555 $(OBJS) $(INSTDIR)
78 install -d -m 0755 $(INSTDIR)/admin
79 install -c -m 0555 $(ADMIN_OBJS) $(INSTDIR)/admin
82 ocamlfind ocamlc $(OCAMLCFLAGS) -c $<
85 ocamlfind ocamlc $(OCAMLCFLAGS) -c $<
91 ocamldep -pp "$(PGOCAML_PP)" \
93 lib/*.ml lib/*.mli *.ml admin/*.ml > $@
95 ifeq ($(wildcard .depend),.depend)
99 .SUFFIXES: .ml .mli .cmi .cmo