Links table is now kept in synch when pages are edited and restored.
[cocanwiki.git] / scripts / Makefile
1 # Makefile for COCANWIKI.
2 # $Id: Makefile,v 1.29 2004/09/28 10:56:39 rich Exp $
3
4 include ../Makefile.config
5
6 OCAMLC := ocamlc
7 OCAMLCFLAGS := -w s -I +apache -I +pcre -I +dbi -I +extlib
8 CPP := cpp
9
10 LIB_OBJS := \
11         cocanwiki_date.cmo \
12         cocanwiki_version.cmo \
13         cocanwiki_files.cmo \
14         cocanwiki_strings.cmo \
15         cocanwiki_images.cmo \
16         cocanwiki_template.cmo \
17         cocanwiki_ok.cmo \
18         cocanwiki_server_settings.cmo \
19         cocanwiki.cmo \
20         cocanwiki_diff.cmo \
21         cocanwiki_emailnotify.cmo \
22         wikilib.cmo \
23         cocanwiki_links.cmo
24
25 OBJS := 00-TEMPLATE.cmo \
26         change_password.cmo \
27         change_password_form.cmo \
28         contact.cmo \
29         contact_show.cmo \
30         contacts.cmo \
31         create.cmo \
32         create_form.cmo \
33         create_contact.cmo \
34         create_contact_form.cmo \
35         create_user.cmo \
36         create_user_form.cmo \
37         delete_contact.cmo \
38         delete_contact_form.cmo \
39         delete_file.cmo \
40         delete_file_form.cmo \
41         delete_image.cmo \
42         delete_image_form.cmo \
43         delete_user.cmo \
44         delete_user_form.cmo \
45         diff.cmo \
46         edit.cmo \
47         edit_contact.cmo \
48         edit_contact_form.cmo \
49         edit_host_css.cmo \
50         edit_host_css_form.cmo \
51         edit_host_settings.cmo \
52         edit_host_settings_form.cmo \
53         edit_page_css.cmo \
54         edit_page_css_form.cmo \
55         edit_page_title.cmo \
56         edit_page_title_form.cmo \
57         edit_sitemenu.cmo \
58         edit_user.cmo \
59         edit_user_form.cmo \
60         file.cmo \
61         files.cmo \
62         forgot_password.cmo \
63         forgot_password_form.cmo \
64         history.cmo \
65         hoststyle.cmo \
66         host_menu.cmo \
67         image.cmo \
68         images.cmo \
69         largest_pages.cmo \
70         login.cmo \
71         login_form.cmo \
72         logout.cmo \
73         mailing_list_confirm.cmo \
74         mailing_list_form.cmo \
75         mailing_list_send.cmo \
76         mailing_list_unsubscribe.cmo \
77         mailing_list_view.cmo \
78         page.cmo \
79         page_email_confirm.cmo \
80         page_email_form.cmo \
81         page_email_send.cmo \
82         page_email_unsubscribe.cmo \
83         pagestyle.cmo \
84         preview.cmo \
85         rebuild_links.cmo \
86         recent.cmo \
87         restore.cmo \
88         restore_form.cmo \
89         rss.cmo \
90         search.cmo \
91         send_feedback.cmo \
92         send_feedback_form.cmo \
93         set_password.cmo \
94         set_password_form.cmo \
95         signup.cmo \
96         sitemap.cmo \
97         stats.cmo \
98         stats_top.cmo \
99         undelete_file.cmo \
100         undelete_file_form.cmo \
101         undelete_image.cmo \
102         undelete_image_form.cmo \
103         upload_file.cmo \
104         upload_file_form.cmo \
105         upload_image.cmo \
106         upload_image_form.cmo \
107         users.cmo
108
109 ADMIN_OBJS := \
110         admin/admin.cmo \
111         admin/create_host.cmo \
112         admin/create_host_form.cmo \
113         admin/edit_emails.cmo \
114         admin/edit_emails_form.cmo \
115         admin/edit_host_css.cmo \
116         admin/edit_host_css_form.cmo \
117         admin/edit_hostnames.cmo \
118         admin/edit_hostnames_form.cmo \
119         admin/host.cmo
120
121 INSTDIR := ../html/_bin
122
123 all: cocanwiki.cma $(OBJS) $(ADMIN_OBJS)
124
125 cocanwiki.cma: $(LIB_OBJS)
126         $(OCAMLC) $(OCAMLCFLAGS) -a -o $@ $^
127
128 cocanwiki_version.ml: cocanwiki_version.ml.in ../Makefile.config
129         $(CPP) -P -DPACKAGE="$(PACKAGE)" -DVERSION="$(VERSION)" $< > $@
130
131 clean:
132         rm -f *~ *.bak core *.cmi *.cmo *.cma cocanwiki_version.ml
133         rm -f admin/*~ admin/*.bak admin/core admin/*.cmi admin/*.cmo
134
135 install:
136         install -d -m 0755 $(INSTDIR)
137         install -c -m 0555 cocanwiki.cma $(OBJS) $(INSTDIR)
138
139         install -d -m 0755 $(INSTDIR)/admin
140         install -c -m 0555 $(ADMIN_OBJS) $(INSTDIR)/admin
141
142 %.cmi: %.mli
143         $(OCAMLC) $(OCAMLCFLAGS) -c $<
144
145 %.cmo: %.ml
146         $(OCAMLC) $(OCAMLCFLAGS) -c $<
147
148 dep:    .depend
149 depend: .depend
150
151 .depend:
152         rm -f .depend
153         ocamldep *.mli *.ml admin/*.ml > $@
154
155 ifeq ($(wildcard .depend),.depend)
156 include .depend
157 endif
158
159 .SUFFIXES: .ml .mli .cmi .cmo