Restructure code
[vlp.git] / Makefile.am
1 AUTOMAKE_OPTIONS = gnu subdir-objects
2 ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS}
3
4 MOC = ${MOCDIR}/${MOCNAME}
5
6 #AM_CXXFLAGS= -Wall -pedantic -Wextra -fno-strength-reduce
7 #AM_CXXFLAGS = -m32
8
9 # @TODO: move --std=c++11 to the autoconf
10 AM_CXXFLAGS = -I$(top_srcdir)/src/global -I${QTDIR}/include/qt4 -pedantic -Wall -Wextra -DQT3_SUPPORT --std=c++11
11 AM_LDFLAGS= -fPIC -L$(QTDIR)/lib -lQtCore -lQtGui -lQt3Support
12
13 EXTRA_DIST = \
14         doc/examples \
15         doc/install \
16         doc/html-old  \
17         doc/installQT.html \
18         doc/InstallVLP.html \
19         doc/INSTALL_VLP.pdf \
20         doc/CodingStyle \
21         doc/vlp.cfg.sample
22
23 #   bin/loggraph   \
24 #  bin/loghelp
25
26 bin_PROGRAMS = \
27   bin/lognet \
28   bin/logker \
29   bin/logint \
30   bin/logedit \
31   bin/lgconfig \
32   bin/logcomp
33
34 BUILT_SOURCES = \
35   src/graph/loggraph.moc \
36   src/net/lognet.moc.cpp \
37   src/kernel/kernel.moc.cpp \
38   src/edit/editor.moc.cpp \
39   src/lgconfig/lgconfig.moc \
40   src/preproc/prep.moc.cpp \
41   src/help/help.moc
42
43 bin_loggraph_SOURCES = src/graph/loggraph.cpp src/graph/loggraph.moc
44 bin_loggraph_CPPFLAGS = $(bin_loggraph_CFLAGS)
45 bin_loggraph_LDADD = $(bin_loggraph_LIBS)
46 src/graph/loggraph.moc: 
47         $(MOC) -i src/graph/loggraph.cpp -o src/graph/loggraph.moc
48
49 clean-loggraph-extra:
50         rm -f src/graph/*.moc.cpp
51         rm -f bin/modules/loggraph
52         rm -f bin/loggraph
53
54 bin_lognet_SOURCES = src/net/lognet.cpp src/net/lognet.moc.cpp
55 bin_lognet_CPPFLAGS = $(bin_lognet_CFLAGS)
56 bin_lognet_LDADD = $(bin_lognet_LIBS) -lconfig++
57 bin_lognetdir = src/net
58 bin_lognet_HEADERS = \
59         src/net/soct.h
60 src/net/lognet.moc.cpp:
61         $(MOC) -i src/net/lognet.cpp -o src/net/lognet.moc.cpp
62
63 clean-lognet-extra:
64         rm -f src/net/*.moc.cpp
65         rm -f bin/modules/lognet
66         rm -f bin/lognet
67         
68 bin_logker_SOURCES = \
69         src/kernel/kernel.cpp \
70         src/kernel/kernel.moc.cpp \
71         src/kernel/LockDialog.cpp \
72         src/kernel/OptionsDialog.cpp \
73         src/kernel/OptionsDialog.moc.cpp \
74         src/kernel/KillDialog.cpp \
75         src/kernel/ConnectDialog.cpp \
76         src/global/vlp/config.cpp
77 bin_logker_CPPFLAGS = $(bin_logker_CFLAGS)
78 bin_logker_LDADD = $(bin_logker_LIBS) -lconfig++ -lX11
79 bin_logkerdir = src/kernel
80 bin_logker_HEADERS = \
81         src/kernel/kernel.h \
82         src/kernel/LockDialog.h \
83         src/kernel/OptionsDialog.h \
84         src/kernel/KillDialog.h \
85         src/kernel/ConnectDialog.h \
86         src/global/vlp/config.h
87 src/kernel/kernel.moc.cpp: \
88                 src/kernel/kernel.h \
89                 src/kernel/ui/KernelWindow.h \
90                 src/kernel/ui/dialogs/LockDialog.h \
91                 src/kernel/ui/dialogs/OptionsDialog.h \
92                 src/kernel/ui/dialogs/KillDialog.h \
93                 src/kernel/ui/dialogs/ConnectDialog.h
94         moc-qt4 src/kernel/kernel.h -o src/kernel/kernel.moc.cpp
95         moc-qt4 src/kernel/OptionsDialog.h -o src/kernel/OptionsDialog.moc.cpp
96 #       $(MOC) -i src/kernel/kernel.cpp -o src/kernel/kernel.moc
97
98 src/kernel/ui/KernelWindow.h:
99         uic src/kernel/ui/KernelWindow.ui -o src/kernel/ui/KernelWindow.h
100
101 src/kernel/ui/dialogs/LockDialog.h:
102         uic src/kernel/ui/dialogs/LockDialog.ui -o src/kernel/ui/dialogs/LockDialog.h
103
104 src/kernel/ui/dialogs/OptionsDialog.h:
105         uic src/kernel/ui/dialogs/OptionsDialog.ui -o src/kernel/ui/dialogs/OptionsDialog.h
106
107 src/kernel/ui/dialogs/KillDialog.h:
108         uic src/kernel/ui/dialogs/KillDialog.ui -o src/kernel/ui/dialogs/KillDialog.h
109
110 src/kernel/ui/dialogs/ConnectDialog.h:
111         uic src/kernel/ui/dialogs/ConnectDialog.ui -o src/kernel/ui/dialogs/ConnectDialog.h
112
113
114 clean-logker-extra:
115         rm -f src/kernel/*.moc
116         rm -f src/kernel/*.moc.cpp
117         rm -f src/kernel/ui/dialogs/*.h
118         rm -f src/kernel/ui/*.h
119         rm -f bin/logker
120         
121 bin_logint_SOURCES = \
122   src/int/cint.c \
123   src/int/compact.c \
124   src/int/control.c \
125   src/int/util.c \
126   src/int/handler.c \
127   src/int/intdt.c \
128   src/int/memory.c \
129   src/int/object.c \
130   src/int/runsys.c \
131   src/int/standard.c \
132   src/int/execute.c \
133   src/int/fileio.c \
134   src/int/nonstand.c \
135   src/int/process.c \
136   src/int/procaddr.c \
137   src/int/queue.c \
138   src/int/rpcall.c \
139   src/int/typchk.c 
140
141 # TODO: logint is compiled using gcc instead of g++, for some reason it losts -I./src/global directive
142 #       force adding it.
143 bin_logint_CPPFLAGS = $(bin_logint_CFLAGS) -DUNIX -DWORD_32BIT -DUSE_CLOCK -Dpascal= -DOBJECTADDR -DSYSV -I$(top_srcdir)/src/global -I/usr/include/qt3
144 bin_logint_LDADD = $(bin_logint_LIBS) -lm
145 # -lqt-mt
146 bin_logintdir = src/int
147 bin_logint_HEADERS = \
148         src/int/genint.h \
149         src/int/int.h \
150         src/int/intproto.h \
151         src/int/nonstand.h \
152         src/int/process.h \
153         src/int/queue.h \
154         src/int/depend.h \
155         src/int/eventque.h \
156         src/global/comm.h \
157         src/global/genint1.h \
158         src/global/socu.h
159
160 clean-logint-extra:
161         rm -f bin/logint
162
163 bin_logedit_SOURCES = \
164         src/edit/editor.cpp \
165         src/edit/editor.moc.cpp \
166         src/edit/ProgramStructureDialog.cpp \
167         src/edit/UnitStructureDialog.cpp \
168         src/edit/PreferencesDialog.cpp
169 bin_logedit_CPPFLAGS = $(bin_logedit_CFLAGS)
170 bin_logedit_LDADD = $(bin_logedit_LIBS)
171 bin_logeditdir = src/edit
172 bin_logedit_HEADERS =\
173         src/edit/editor.h \
174         src/edit/ui/editor.h \
175         src/edit/ProgramStructureDialog.h \
176         src/edit/ui/dialogs/ProgramStructureDialog.h \
177         src/edit/UnitStructureDialog.h \
178         src/edit/ui/dialogs/UnitStructureDialog.h \
179         src/edit/PreferencesDialog.h \
180         src/edit/ui/dialogs/PreferencesDialog.h
181
182 src/edit/editor.moc.cpp: \
183                 src/edit/editor.h \
184                 src/edit/ui/editor.h \
185                 src/edit/ui/dialogs/ProgramStructureDialog.h \
186                 src/edit/ui/dialogs/UnitStructureDialog.h \
187                 src/edit/ui/dialogs/PreferencesDialog.h
188         moc-qt4 src/edit/editor.h -o src/edit/editor.moc.cpp
189 #       $(MOC) src/edit/editor.h -o src/edit/editor.moc.cpp
190
191 src/edit/ui/editor.h:
192         uic src/edit/ui/editor.ui -o src/edit/ui/editor.h
193
194 src/edit/ui/dialogs/ProgramStructureDialog.h:
195         uic src/edit/ui/dialogs/ProgramStructureDialog.ui -o src/edit/ui/dialogs/ProgramStructureDialog.h
196
197 src/edit/ui/dialogs/UnitStructureDialog.h:
198         uic src/edit/ui/dialogs/UnitStructureDialog.ui -o src/edit/ui/dialogs/UnitStructureDialog.h
199
200 src/edit/ui/dialogs/PreferencesDialog.h:
201         uic src/edit/ui/dialogs/PreferencesDialog.ui -o src/edit/ui/dialogs/PreferencesDialog.h
202
203
204 clean-logedit-extra:
205         rm -f src/edit/ui/dialogs/*.h
206         rm -f src/edit/ui/editor.h
207         rm -f src/edit/*.moc.cpp
208         rm -f bin/modules/logedit
209         rm -f bin/logedit
210
211 bin_lgconfig_SOURCES = src/lgconfig/lgconfig.cpp src/lgconfig/lgconfig.moc
212 bin_lgconfig_CPPFLAGS = $(bin_lgconfig_CFLAGS)
213 bin_lgconfig_LDADD = $(bin_lgconfig_LIBS) -lconfig++
214 src/lgconfig/lgconfig.moc:
215         $(MOC) -i src/lgconfig/lgconfig.cpp -o src/lgconfig/lgconfig.moc
216
217 clean-lgconfig-extra:
218         rm -f src/lgconfig/*.moc
219         rm -f bin/lgconfig
220
221 bin_logcomp_SOURCES = src/preproc/prep.cpp src/preproc/prep.moc.cpp
222 bin_logcomp_CPPFLAGS = $(bin_logcomp_CFLAGS)
223 bin_logcomp_LDADD = $(bin_logcomp_LIBS)
224 src/preproc/prep.moc.cpp: src/preproc/prep.cpp 
225         $(MOC) src/preproc/prep.cpp -o src/preproc/prep.moc.cpp
226
227 clean-logcomp-extra:
228         rm -f src/preproc/*.moc
229         rm -f bin/logcomp
230
231 bin_loghelp_SOURCES = src/help/help.cpp src/help/help.moc
232 bin_loghelp_CPPFLAGS = $(bin_loghelp_CFLAGS)
233 bin_loghelp_LDADD = $(bin_loghelp_LIBS)
234 src/help/help.moc:
235         $(MOC) -i src/help/help.cpp -o src/help/help.moc
236
237 clean-loghelp-extra:
238         rm -f src/help/*.moc
239         rm -f bin/modules/loghelp
240         rm -f bin/loghelp
241
242 all-local: doxyfile.stamp
243         test -d bin/doc || mkdir bin/doc
244         test -d bin/pics || mkdir bin/pics
245         test -d bin/modules || mkdir bin/modules
246         test -d bin/config || mkdir bin/config
247         test -d bin/compile || mkdir bin/compile
248         test -d bin/doc/lang || mkdir bin/doc/lang
249         test -d bin/examp || mkdir bin/examp
250         ln -fs ../logedit bin/modules/
251         ln -fs ../loggraph bin/modules/
252         ln -fs ../loghelp bin/modules/
253         ln -fs ../lognet bin/modules/
254         ln -fs ../logint bin/modules/
255         ln -fs ../logcomp bin/compile/
256         ln -fs ../lgconfig bin/config/
257         ln -fs ../../doc/install/inst/loglan bin/compile/
258         ln -fs ../../doc/install/inst/gen bin/compile/
259         cp doc/vlp.cfg.sample bin/vlp.cfg
260         cp -r doc/examples/* bin/examp/
261         cp doc/install/inst/close.bmp bin/pics/
262         cp doc/install/inst/logo.bmp bin/config/
263
264 clean-am: \
265   clean-loggraph-extra \
266   clean-lognet-extra \
267   clean-logker-extra \
268   clean-logint-extra \
269   clean-logedit-extra \
270   clean-lgconfig-extra \
271   clean-logcomp-extra \
272   clean-loghelp-extra
273         rm -rf bin/doc
274         rm -rf bin/pics
275         rm -rf bin/modules
276         rm -rf bin/config
277         rm -rf bin/compile
278         rm -rf bin/examp
279         rm -f bin/vlp.cfg
280
281 CLEANFILES = \
282         %.o \
283         %.bak \
284         %~ \
285         doxyfile.stamp
286
287 if HAVE_DOXYGEN
288
289 directory = $(top_srcdir)/doc/man/man3
290
291 #dist_man_MANS = \
292 #       $(directory)/Editor.3 \
293 #       $(directory)/QKernel.3
294 #$(directory)/man_page_1.3: doxyfile.stamp
295 #$(directory)/man_page_2.3: doxyfile.stamp
296
297 doxyfile.stamp:
298         $(DOXYGEN) Doxyfile
299         echo Timestamp > doxyfile.stamp
300
301 #all-local: doxyfile.stamp
302
303 clean-local:
304         rm -rf $(top_srcdir)/doc/man
305
306 endif
307
308 dist_noinst_SCRIPTS = autogen.sh