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