1
2EXTRA_DIST =
3
4if ENABLE_DEBUG
5ASSEMBLY_COMPILER_COMMAND = mcs
6ASSEMBLY_COMPILER_FLAGS =  -noconfig -codepage:utf8 -warn:4 -optimize- -debug "-define:TRACE;DEBUG"
7ASSEMBLY = ../bin/Ntp.Analyzer.dll
8ASSEMBLY_MDB = $(ASSEMBLY).mdb
9COMPILE_TARGET = library
10PROJECT_REFERENCES =  \
11	../bin/Ntp.Analyzer.Objects.dll \
12	../bin/Ntp.Data.dll \
13	../bin/Ntp.Analyzer.Data.dll \
14	../bin/Ntp.Analyzer.Import.dll \
15	../bin/Ntp.Common.dll
16BUILD_DIR = ../bin
17
18NTP_ANALYZER_DLL_MDB_SOURCE=../bin/Ntp.Analyzer.dll.mdb
19NTP_ANALYZER_DLL_MDB=$(BUILD_DIR)/Ntp.Analyzer.dll.mdb
20NTP_ANALYZER_OBJECTS_DLL_SOURCE=../bin/Ntp.Analyzer.Objects.dll
21NTP_ANALYZER_OBJECTS_DLL_MDB_SOURCE=../bin/Ntp.Analyzer.Objects.dll.mdb
22NTP_ANALYZER_OBJECTS_DLL_MDB=$(BUILD_DIR)/Ntp.Analyzer.Objects.dll.mdb
23NTP_DATA_DLL_SOURCE=../bin/Ntp.Data.dll
24NTP_DATA_DLL_MDB_SOURCE=../bin/Ntp.Data.dll.mdb
25NTP_DATA_DLL_MDB=$(BUILD_DIR)/Ntp.Data.dll.mdb
26NTP_COMMON_DLL_SOURCE=../bin/Ntp.Common.dll
27NTP_COMMON_DLL_MDB_SOURCE=../bin/Ntp.Common.dll.mdb
28NTP_COMMON_DLL_MDB=$(BUILD_DIR)/Ntp.Common.dll.mdb
29NTP_ANALYZER_DATA_DLL_SOURCE=../bin/Ntp.Analyzer.Data.dll
30NTP_ANALYZER_DATA_DLL_MDB_SOURCE=../bin/Ntp.Analyzer.Data.dll.mdb
31NTP_ANALYZER_DATA_DLL_MDB=$(BUILD_DIR)/Ntp.Analyzer.Data.dll.mdb
32NTP_DATA_PROVIDER_DLL_SOURCE=../bin/Ntp.Data.Provider.dll
33NTP_DATA_PROVIDER_DLL_MDB_SOURCE=../bin/Ntp.Data.Provider.dll.mdb
34NTP_DATA_PROVIDER_DLL_MDB=$(BUILD_DIR)/Ntp.Data.Provider.dll.mdb
35MYSQL_DATA_DLL_SOURCE=../packages/MySql.Data.6.9.9/lib/net45/MySql.Data.dll
36NPGSQL_DLL_SOURCE=../packages/Npgsql.3.1.9/lib/net451/Npgsql.dll
37NTP_ANALYZER_IMPORT_DLL_SOURCE=../bin/Ntp.Analyzer.Import.dll
38NTP_ANALYZER_IMPORT_DLL_MDB_SOURCE=../bin/Ntp.Analyzer.Import.dll.mdb
39NTP_ANALYZER_IMPORT_DLL_MDB=$(BUILD_DIR)/Ntp.Analyzer.Import.dll.mdb
40
41endif
42
43if ENABLE_RELEASE
44ASSEMBLY_COMPILER_COMMAND = mcs
45ASSEMBLY_COMPILER_FLAGS =  -noconfig -codepage:utf8 -warn:4 -optimize+ "-define:TRACE"
46ASSEMBLY = ../bin/Ntp.Analyzer.dll
47ASSEMBLY_MDB =
48COMPILE_TARGET = library
49PROJECT_REFERENCES =  \
50	../bin/Ntp.Analyzer.Objects.dll \
51	../bin/Ntp.Data.dll \
52	../bin/Ntp.Analyzer.Data.dll \
53	../bin/Ntp.Analyzer.Import.dll \
54	../bin/Ntp.Common.dll
55BUILD_DIR = ../bin
56
57NTP_ANALYZER_DLL_MDB=
58NTP_ANALYZER_OBJECTS_DLL_SOURCE=../bin/Ntp.Analyzer.Objects.dll
59NTP_ANALYZER_OBJECTS_DLL_MDB=
60NTP_DATA_DLL_SOURCE=../bin/Ntp.Data.dll
61NTP_DATA_DLL_MDB=
62NTP_COMMON_DLL_SOURCE=../bin/Ntp.Common.dll
63NTP_COMMON_DLL_MDB=
64NTP_ANALYZER_DATA_DLL_SOURCE=../bin/Ntp.Analyzer.Data.dll
65NTP_ANALYZER_DATA_DLL_MDB=
66NTP_DATA_PROVIDER_DLL_SOURCE=../bin/Ntp.Data.Provider.dll
67NTP_DATA_PROVIDER_DLL_MDB=
68MYSQL_DATA_DLL_SOURCE=../packages/MySql.Data.6.9.9/lib/net45/MySql.Data.dll
69NPGSQL_DLL_SOURCE=../packages/Npgsql.3.1.9/lib/net451/Npgsql.dll
70NTP_ANALYZER_IMPORT_DLL_SOURCE=../bin/Ntp.Analyzer.Import.dll
71NTP_ANALYZER_IMPORT_DLL_MDB=
72
73endif
74
75AL=al
76SATELLITE_ASSEMBLY_NAME=$(notdir $(basename $(ASSEMBLY))).resources.dll
77
78PROGRAMFILES = \
79	$(NTP_ANALYZER_DLL_MDB) \
80	$(NTP_ANALYZER_OBJECTS_DLL) \
81	$(NTP_ANALYZER_OBJECTS_DLL_MDB) \
82	$(NTP_DATA_DLL) \
83	$(NTP_DATA_DLL_MDB) \
84	$(NTP_COMMON_DLL) \
85	$(NTP_COMMON_DLL_MDB) \
86	$(NTP_ANALYZER_DATA_DLL) \
87	$(NTP_ANALYZER_DATA_DLL_MDB) \
88	$(NTP_DATA_PROVIDER_DLL) \
89	$(NTP_DATA_PROVIDER_DLL_MDB) \
90	$(MYSQL_DATA_DLL) \
91	$(NPGSQL_DLL) \
92	$(NTP_ANALYZER_IMPORT_DLL) \
93	$(NTP_ANALYZER_IMPORT_DLL_MDB)
94
95RESGEN=resgen2
96
97all: $(ASSEMBLY) $(PROGRAMFILES)
98
99FILES = \
100	../Shared/AssemblyInfo.cs \
101	Config/Attribute/NtpaIndex.cs \
102	Config/Node/ClusterConfiguration.cs \
103	Config/Node/DriftStatConfiguration.cs \
104	Config/Node/NodeConfiguration.cs \
105	Graph/HostGraph.cs \
106	Graph/GraphBase.cs \
107	Graph/PeerGraph.cs \
108	Graph/DispersionGraph.cs \
109	Log/LogExtensions.cs \
110	Render/Renderer.cs \
111	Render/HtmlRenderer.cs \
112	Render/IHtmlObject.cs \
113	Export/StreamDestination.cs \
114	Export/FileStreamDestination.cs \
115	Export/DirectoryStreamDestination.cs \
116	Export/IStreamGenerator.cs \
117	Page/DefaultHostPageBuilder.cs \
118	Page/BootstrapHostPageBuilder.cs \
119	Render/Host/DefaultHostPageRender.cs \
120	Render/Host/BootstrapHostPageRender.cs \
121	Render/Host/BootstrapHostTableRender.cs \
122	Render/Host/BootstrapHostGraphRender.cs \
123	Render/Peer/BootstrapPeerPageRender.cs \
124	Render/Peer/BootstrapPeerInfoRender.cs \
125	Render/Peer/BootstrapPeerGraphRender.cs \
126	Page/BootstrapPeerPageBuilder.cs \
127	Page/BootstrapAboutPageBuilder.cs \
128	Render/BootstrapAboutPageRender.cs \
129	Render/Graph/BootstrapGraphPageRender.cs \
130	Render/BootstrapPageRender.cs \
131	Render/HtmlObjectRender.cs \
132	Render/Host/DefaultHostTableRender.cs \
133	Render/Host/DefaultHostGraphRender.cs \
134	Render/Peer/DefaultPeerGraphRender.cs \
135	Render/Peer/DefaultPeerInfoRender.cs \
136	Render/Peer/DefaultPeerPageRender.cs \
137	Render/BootstrapMenuRender.cs \
138	Render/Host/HostLineRender.cs \
139	Page/DefaultPeerPageBuilder.cs \
140	Page/PageBuilderBase.cs \
141	Page/GraphPageBuilder.cs \
142	Export/WebLink.cs \
143	Render/IHtmlExtension.cs \
144	Graph/TrafficGraph.cs \
145	Interface/IGraphBaseConfiguration.cs \
146	Interface/IHostGraphConfiguration.cs \
147	Interface/IPeerGraphConfiguration.cs \
148	Interface/ITrafficGraphConfiguration.cs \
149	Export/FtpStreamDestination.cs \
150	Render/Summary/BootstrapSummaryGraphRender.cs \
151	Render/Summary/BootstrapSummaryPageRender.cs \
152	Render/Summary/DefaultPeerSummaryGraphRender.cs \
153	Render/Summary/DefaultPeerSummaryPageRender.cs \
154	Page/DefaultPeerSummaryPageBuilder.cs \
155	Page/BootstrapPeerSummaryPageBuilder.cs \
156	Export/FileSystemDestination.cs \
157	Statistics/DbStatusBuilder.cs \
158	Statistics/DirectStatusBuilder.cs \
159	Statistics/StatusBuilder.cs \
160	Config/ConfigBuilder.cs \
161	Interface/IDispersionGraphConfiguration.cs \
162	Config/Node/Destination/DestinationCollection.cs \
163	Config/Node/Destination/DirectoryCollection.cs \
164	Config/Node/Destination/FileCollection.cs \
165	Config/Node/Destination/GraphSetConfiguration.cs \
166	Config/Node/Destination/WebLinkCollection.cs \
167	Config/Node/Graph/GraphBaseConfiguration.cs \
168	Config/Node/Graph/HostGraphConfiguration.cs \
169	Config/Node/Graph/PeerGraphConfiguration.cs \
170	Config/Node/Graph/TrafficGraphConfiguration.cs \
171	Config/Node/Navigation/DropdownItemConfiguration.cs \
172	Config/Node/Navigation/HeaderMenuItemConfiguration.cs \
173	Config/Node/Navigation/HeadMenuItemConfiguration.cs \
174	Config/Node/Navigation/ILinkable.cs \
175	Config/Node/Navigation/LinkMenuItemConfiguration.cs \
176	Config/Node/Navigation/MenuConfiguration.cs \
177	Config/Node/Navigation/MenuItemConfiguration.cs \
178	Config/Node/Navigation/MenuItemType.cs \
179	Config/Node/Navigation/PageMenuItemConfiguration.cs \
180	Config/Node/Navigation/SpacerMenuItemConfiguration.cs \
181	Config/Node/Page/AboutPageConfiguration.cs \
182	Config/Node/Page/Collection/SummaryCollection.cs \
183	Config/Node/Page/HostGraphPageConfiguration.cs \
184	Config/Node/Page/HostPageConfiguration.cs \
185	Config/Node/Page/PageConfigurationBase.cs \
186	Config/Node/Page/PageTheme.cs \
187	Config/Node/Page/PeerGraphPageConfiguration.cs \
188	Config/Node/Page/PeerPageConfiguration.cs \
189	Config/Node/Page/PeerSummaryPageConfiguration.cs \
190	Config/Node/DatabaseConfiguration.cs \
191	Config/Node/HeartbeatConfiguration.cs \
192	Config/Node/ListenerConfiguration.cs \
193	Config/Node/LogConfiguration.cs \
194	Config/Node/NotifyConfiguration.cs \
195	Config/Node/PermissionConfiguration.cs \
196	Config/Node/ReadingBulkConfiguration.cs \
197	Config/Node/Configuration.cs \
198	Config/Node/HostConfiguration.cs \
199	Config/Node/HostSubConfiguration.cs \
200	Config/Syntax/AboutPageSyntaxNode.cs \
201	Config/Syntax/DatabaseSyntaxNode.cs \
202	Config/Syntax/DirDestinationSyntaxNode.cs \
203	Config/Syntax/FileDestinationSyntaxNode.cs \
204	Config/Syntax/GraphSetSyntaxNode.cs \
205	Config/Syntax/HeartbeatSyntaxNode.cs \
206	Config/Syntax/HostGraphSyntaxNode.cs \
207	Config/Syntax/HostPageSyntaxNode.cs \
208	Config/Syntax/HostSyntaxNode.cs \
209	Config/Syntax/ISyntaxNode.cs \
210	Config/Syntax/ListenerSyntaxNode.cs \
211	Config/Syntax/LogSyntaxNode.cs \
212	Config/Syntax/MenuItemSyntaxNode.cs \
213	Config/Syntax/MenuSyntaxNode.cs \
214	Config/Syntax/NotifySyntaxNode.cs \
215	Config/Syntax/Option/DatabaseProviderNode.cs \
216	Config/Syntax/Option/HostTypeNode.cs \
217	Config/Syntax/Option/LogTypeNode.cs \
218	Config/Syntax/Option/MenuItemTypeNode.cs \
219	Config/Syntax/Option/PageThemeNode.cs \
220	Config/Syntax/Option/SeverityNode.cs \
221	Config/Syntax/Option/TimeStampNode.cs \
222	Config/Syntax/PeerGraphSyntaxNode.cs \
223	Config/Syntax/PeerPageSyntaxNode.cs \
224	Config/Syntax/PermissionSyntaxNode.cs \
225	Config/Syntax/ReadingSyntaxNode.cs \
226	Config/Syntax/RootSyntaxNode.cs \
227	Config/Syntax/Setting/BooleanSettingNode.cs \
228	Config/Syntax/Setting/IntegerSettingNode.cs \
229	Config/Syntax/Setting/NumericSettingNode.cs \
230	Config/Syntax/Setting/SettingNode.cs \
231	Config/Syntax/Setting/StringSettingNode.cs \
232	Config/Syntax/Setting/SymbolSettingNode.cs \
233	Config/Syntax/StatSyntaxNode.cs \
234	Config/Syntax/SummariesSyntaxNode.cs \
235	Config/Syntax/SyntaxNode.cs \
236	Config/Syntax/TrafficGraphSyntaxNode.cs \
237	Config/Syntax/WebLinkSyntaxNode.cs \
238	Config/Attribute/NtpaReference.cs \
239	Config/Attribute/NtpaReferenceCollection.cs \
240	Config/Attribute/NtpaSetting.cs \
241	Config/Attribute/NtpaSettingsCollection.cs \
242	Config/Table/SymbolTable.cs \
243	Config/Table/Symbol.cs \
244	Config/Table/Keyword.cs \
245	Config/Table/IntegerToken.cs \
246	Config/Table/KeywordToken.cs \
247	Config/Table/LiteralToken.cs \
248	Config/Table/NumericToken.cs \
249	Config/Table/QuotedIdentToken.cs \
250	Config/Table/SymbolToken.cs \
251	Config/Table/Token.cs \
252	Config/Table/TokenType.cs \
253	Config/Node/ConfigurationNode.cs \
254	Config/Syntax/HostGraphPageSyntaxNode.cs \
255	Config/Syntax/PeerGraphPageSyntaxNode.cs \
256	Config/Syntax/PeerSummaryPageSyntaxNode.cs \
257	Interface/IConfigurationNode.cs \
258	Config/Attribute/Layout.cs \
259	Config/Node/StatsConfiguration.cs \
260	Config/Compiler/ConfigCompiler.cs \
261	Config/Compiler/ConfigFileReader.cs \
262	Config/Compiler/Tokenizer.cs \
263	Config/Compiler/ConfigParser.cs \
264	Config/Compiler/Decompiler.cs \
265	Config/Compiler/SchematicValidator.cs \
266	Config/Compiler/SymbolResolver.cs \
267	Config/Compiler/ICompilerStage.cs \
268	Config/Node/Page/GraphPageConfiguration.cs \
269	Interface/IPathProvider.cs
270
271DATA_FILES =
272
273RESOURCES =
274
275EXTRAS = packages.config
276
277REFERENCES =  \
278	System \
279	System.Core \
280	System.Drawing \
281	System.Runtime.Serialization \
282	$(NPLOT_LIBS)
283
284DLL_REFERENCES =
285
286CLEANFILES = $(PROGRAMFILES)
287
288include $(top_srcdir)/Makefile.include
289
290NTP_ANALYZER_OBJECTS_DLL = $(BUILD_DIR)/Ntp.Analyzer.Objects.dll
291NTP_DATA_DLL = $(BUILD_DIR)/Ntp.Data.dll
292NTP_COMMON_DLL = $(BUILD_DIR)/Ntp.Common.dll
293NTP_ANALYZER_DATA_DLL = $(BUILD_DIR)/Ntp.Analyzer.Data.dll
294NTP_DATA_PROVIDER_DLL = $(BUILD_DIR)/Ntp.Data.Provider.dll
295MYSQL_DATA_DLL = $(BUILD_DIR)/MySql.Data.dll
296NPGSQL_DLL = $(BUILD_DIR)/Npgsql.dll
297NTP_ANALYZER_IMPORT_DLL = $(BUILD_DIR)/Ntp.Analyzer.Import.dll
298
299$(eval $(call emit-deploy-target,MYSQL_DATA_DLL))
300$(eval $(call emit-deploy-target,NPGSQL_DLL))
301
302$(eval $(call emit_resgen_targets))
303$(build_xamlg_list): %.xaml.g.cs: %.xaml
304	xamlg '$<'
305
306$(ASSEMBLY_MDB): $(ASSEMBLY)
307
308$(ASSEMBLY): $(build_sources) $(build_resources) $(build_datafiles) $(DLL_REFERENCES) $(PROJECT_REFERENCES) $(build_xamlg_list) $(build_satellite_assembly_list)
309	mkdir -p $(shell dirname $(ASSEMBLY))
310	$(ASSEMBLY_COMPILER_COMMAND) $(ASSEMBLY_COMPILER_FLAGS) -out:$(ASSEMBLY) -target:$(COMPILE_TARGET) $(build_sources_embed) $(build_resources_embed) $(build_references_ref)
311