-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathMakefile
More file actions
59 lines (46 loc) · 2.1 KB
/
Makefile
File metadata and controls
59 lines (46 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#
# This file is part of twincat-ads.
#
# twincat-ads is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
#
# twincat-ads is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License along with twincat-ads. If not, see <https://www.gnu.org/licenses/>.
#
# Makefile when running gnu make
# install binaries by default (normal EPICS behaviour): avoid needing to run make && make install
.DEFAULT_GOAL := install
# Stolen from how the Beckhoff ninja builds the lib
# With some tweaking afterwards (replace _ with /)
ADS_FROM_BECKHOFF_SOURCES = \
BeckhoffADS/AdsLib/AdsDef.cpp \
BeckhoffADS/AdsLib/AdsFile.cpp \
BeckhoffADS/AdsLib/AdsDevice.cpp \
BeckhoffADS/AdsLib/Frame.cpp \
BeckhoffADS/AdsLib/Log.cpp \
BeckhoffADS/AdsLib/LicenseAccess.cpp \
BeckhoffADS/AdsLib/RTimeAccess.cpp \
BeckhoffADS/AdsLib/RouterAccess.cpp \
BeckhoffADS/AdsLib/Sockets.cpp \
BeckhoffADS/AdsLib/bhf/ParameterList.cpp \
BeckhoffADS/AdsLib/RegistryAccess.cpp \
BeckhoffADS/AdsLib/SymbolAccess.cpp \
BeckhoffADS/AdsLib/standalone/AmsNetId.cpp \
BeckhoffADS/AdsLib/standalone/AdsLib.cpp \
BeckhoffADS/AdsLib/standalone/AmsPort.cpp \
BeckhoffADS/AdsLib/standalone/AmsConnection.cpp \
BeckhoffADS/AdsLib/standalone/AmsRouter.cpp \
BeckhoffADS/AdsLib/standalone/NotificationDispatcher.cpp \
# download ADS if needed
build: prepare
install: prepare
clean: cleanadssources
prepare: adsApp/src/ADS_FROM_BECKHOFF_SUPPORTSOURCES.mak checkws
checkws:
./tools/checkws.sh
cleanadssources:
${PWD}/tools/downloadADS.sh clean ${ADS_FROM_BECKHOFF_SOURCES}
adsApp/src/ADS_FROM_BECKHOFF_SUPPORTSOURCES.mak: Makefile
${PWD}/tools/downloadADS.sh build ${ADS_FROM_BECKHOFF_SOURCES}
include Makefile.epics
.PHONY: checkws prepare clean cleanadssources