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