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