1 ##############################################################################
4 ## Copyright (C) 2007 ##
7 ## This library is free software; you can redistribute it and/or modify ##
8 ## it under the terms of the GNU General Public License as published by ##
9 ## the Free Software Foundation; either version 2 of the License, or (at ##
10 ## your option) any later version. ##
12 ## This library is distributed in the hope that it will be useful, but ##
13 ## WITHOUT ANY WARRANTY; without even the implied warranty of ##
14 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ##
15 ## General Public License for more details. ##
17 ## You should have received a copy of the GNU General Public License ##
18 ## along with this library; if not, write to the Free Software Foundation, ##
19 ## Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ##
20 ##############################################################################
26 GENERAL_OPTIONS
= CP
="$(CP)" MKDIR
="$(MKDIR)" RM
="$(RM)" \
27 GNATMAKE
="$(GNATMAKE)" GNATCLEAN
="$(GNATCLEAN)" GNATCHECK
="$(GNATCHECK)" \
28 EXEEXT
="$(EXEEXT)" LIB_KIND
="$(LIB_KIND)" DIFF
="$(DIFF)"
30 OPTIONS
= MODE
="$(MODE)" $(GENERAL_OPTIONS
)
32 ifeq ($(OS
),Windows_NT
)
44 MODULES
= diouzhtu diouzhtu2html gwiad_wiki_service
46 MODULES_BUILD
= ${MODULES
:%=%_build
}
48 MODULES_SETUP
= ${MODULES
:%=%_setup
}
50 MODULES_CLEAN
= ${MODULES
:%=%_clean
}
52 MODULES_CHECK
= ${MODULES
:%=%_check
}
54 ifeq ("$(INSTALL)", "..")
55 $(error
"Wrong install path : INSTALL='$(INSTALL)'")
57 ifeq ("$(INSTALL)", "")
58 $(error
"Wrong install path : empty INSTALL var")
62 BUILD_DIR
=".build/$(shell echo $(MODE) | tr [[:upper:]] [[:lower:]])"
68 setup
: $(MODULES_SETUP
)
70 clean: $(MODULES_CLEAN
)
72 check :$(MODULES_CHECK
)
76 I_BIN
= $(INSTALL
)/bin
77 I_INC
= $(INSTALL
)/include/diouzhtu
78 I_INC_W
= $(INSTALL
)/include/wiki_interface
79 I_LIB
= $(INSTALL
)/lib
/
80 I_LIB_D
= $(INSTALL
)/lib
/diouzhtu
81 I_LIB_W
= $(INSTALL
)/lib
/wiki_interface
82 I_GPR
= $(INSTALL
)/lib
/gnat
83 I_DLIB
= $(INSTALL
)/share
/diouzhtu
/dlib
85 PLUGIN_DISTRIB
= gwiad_wiki_plugin
86 GWIAD_SERVICES
= $(GWIAD_DIR
)/lib
/services
87 GWIAD_WEBSITES
= $(GWIAD_DIR
)/lib
/websites
90 ${MAKE} -C
${@
:%_build
=%} $(OPTIONS
)
93 ${MAKE} -C
${@
:%_setup
=%} setup
$(OPTIONS
)
96 ${MAKE} -C
${@
:%_clean
=%} clean $(OPTIONS
)
99 ${MAKE} -C
${@
:%_check
=%} check $(OPTIONS
)
107 $(RM
) -f
$(I_GPR
)/diouzhtu.gpr
109 install_dirs
: install_clean
118 install: install_dirs
119 $(CP
) $(BUILD_DIR
)/d
/lib
/* $(I_LIB_D
)
120 for library in
`ls $(I_LIB_D)/*$(SOEXT)`; do \
121 $(LN
) $$library $(I_LIB
); \
123 $(CP
) $(BUILD_DIR
)/wi
/lib
/* $(I_LIB_W
)
124 for library in
`ls $(I_LIB_W)/*$(SOEXT)`; do \
125 $(LN
) $$library $(I_LIB
); \
127 $(CP
) diouzhtu
/src
/*.ad
[sb
] $(I_INC
)
128 $(CP
) gwiad_wiki_service
/interface
/src
/*.ads
$(I_INC_W
)
129 $(CP
) $(BUILD_DIR
)/slib
/services
/*$(SOEXT
) $(I_DLIB
)
130 $(CP
) $(BUILD_DIR
)/slib
/websites
/*$(SOEXT
) $(I_DLIB
)
131 $(CP
) config
/projects
/diouzhtu.gpr
$(I_GPR
)
132 $(CP
) config
/projects
/wiki_interface.gpr
$(I_GPR
)
134 install_gwiad_interface
:
135 $(CP
) gwiad_wiki_service
/interface
/lib
/*wiki_interface
$(SOEXT
) \
138 install_gwiad_service
:
139 $(RM
) $(GWIAD_SERVICES
)/libwiki_service.so
140 $(CP
) $(INSTALL
)/lib
/diouzhtu
/*$(SOEXT
) $(GWIAD_DIR
)/bin
/
141 $(CP
) gwiad_wiki_service
/lib
/*wiki_service
$(SOEXT
) $(GWIAD_SERVICES
)
143 install_gwiad_website
:
144 $(RM
) $(GWIAD_WEBSITES
)/*wiki_website
$(SOEXT
)
145 $(MKDIR
) $(GWIAD_DIR
)/plugins
/wiki_website
/example
/templates
/
146 $(MKDIR
) $(GWIAD_DIR
)/plugins
/wiki_website
/example
/css
147 $(MKDIR
) $(GWIAD_DIR
)/plugins
/wiki_website
/example
/js
148 $(CP
) gwiad_wiki_service
/website
/config
/config.ini \
149 $(GWIAD_DIR
)/plugins
/wiki_website
/example
/
150 $(CP
) gwiad_wiki_service
/website
/templates
/*.thtml \
151 $(GWIAD_DIR
)/plugins
/wiki_website
/example
/templates
/
152 $(CP
) gwiad_wiki_service
/website
/css
/*.css \
153 $(GWIAD_DIR
)/plugins
/wiki_website
/example
/css
/
154 $(CP
) external_libraries
/highlight
/*.js \
155 $(GWIAD_DIR
)/plugins
/wiki_website
/example
/js
/
156 $(CP
) -r external_libraries
/highlight
/languages \
157 $(GWIAD_DIR
)/plugins
/wiki_website
/example
/js
/
158 $(CP
) gwiad_wiki_service
/lib
/*wiki_website
$(SOEXT
) $(GWIAD_WEBSITES
)
160 install_gwiad_all
: install_gwiad_interface install_gwiad_service \
161 install_gwiad_website
163 gwiad_plugin_distrib
:
164 $(MKDIR
) -p
$(PLUGIN_DISTRIB
)
165 $(CP
) gwiad_wiki_service
/interface
/lib
/*wiki_interface
$(SOEXT
) \
167 $(CP
) gwiad_wiki_service
/lib
/*wiki_website
$(SOEXT
) $(PLUGIN_DISTRIB
)/
168 $(CP
) gwiad_wiki_service
/lib
/*wiki_service
$(SOEXT
) $(PLUGIN_DISTRIB
)/
169 $(CP
) gwiad_wiki_service
/plugin
/install.sh
$(PLUGIN_DISTRIB
)/
170 $(CP
) $(INSTALL
)/lib
/diouzhtu
/*$(SOEXT
) $(PLUGIN_DISTRIB
)/
171 $(MKDIR
) $(PLUGIN_DISTRIB
)/example
/templates
/
172 $(MKDIR
) $(PLUGIN_DISTRIB
)/example
/css
173 $(MKDIR
) $(PLUGIN_DISTRIB
)/example
/js
174 $(CP
) gwiad_wiki_service
/website
/config
/config.ini \
175 $(PLUGIN_DISTRIB
)/example
/
176 $(CP
) gwiad_wiki_service
/website
/templates
/*.thtml \
177 $(PLUGIN_DISTRIB
)/example
/templates
/
178 $(CP
) gwiad_wiki_service
/website
/css
/*.css \
179 $(PLUGIN_DISTRIB
)/example
/css
/
180 $(CP
) external_libraries
/highlight
/*.js \
181 $(PLUGIN_DISTRIB
)/example
/js
/
182 $(CP
) -r external_libraries
/highlight
/languages \
183 $(PLUGIN_DISTRIB
)/example
/js
/
184 $(TAR_DIR
) $(PLUGIN_DISTRIB
).tgz
$(PLUGIN_DISTRIB
)
185 $(RM
) -r
$(PLUGIN_DISTRIB
)
188 (cd diouzhtu
/obj
/; gcov
-abfu ..
/src
/*)
189 (cd diouzhtu2html
/obj
/;gcov
-abfu ..
/src
/*)
192 make
-C diouzhtu2html regtests
$(GENERAL_OPTIONS
)
193 # make -C diouzhtu2html/test MODE="Profile" $(GENERAL_OPTIONS)
194 # rm -f diouzhtu2html/test/obj/* # To avoid error in lcov_analyse ???
195 # rm -fr diouzhtu2html/obj/*
196 make
-C gwiad_wiki_service
/regtests MODE
="Profile" $(GENERAL_OPTIONS
)