summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2016-05-03 19:26:09 +0200
committerBenoit Foucher <benoit@zeroc.com>2016-05-03 19:26:09 +0200
commitee3b7be185f7d887a33b9c242a7ccd08a09d2614 (patch)
tree1974211a0cbd5e3df95b6deed0b2b42f7854aca9
parentRename files for consistency (diff)
downloadice-ee3b7be185f7d887a33b9c242a7ccd08a09d2614.tar.bz2
ice-ee3b7be185f7d887a33b9c242a7ccd08a09d2614.tar.xz
ice-ee3b7be185f7d887a33b9c242a7ccd08a09d2614.zip
Re-factored gmake build system
-rw-r--r--.gitignore4
-rw-r--r--Makefile83
-rw-r--r--config/Make.common.rules484
-rw-r--r--config/Make.project.rules777
-rw-r--r--config/Make.rules290
-rw-r--r--config/Make.rules.Darwin69
-rw-r--r--config/Make.rules.Linux105
-rw-r--r--config/Make.tests.rules90
-rw-r--r--cpp/Makefile64
-rw-r--r--cpp/bin/.gitignore1
-rw-r--r--cpp/config/Make.rules514
-rw-r--r--cpp/config/Make.rules.AIX80
-rw-r--r--cpp/config/Make.rules.Darwin104
-rw-r--r--cpp/config/Make.rules.FreeBSD57
-rw-r--r--cpp/config/Make.rules.HP-UX88
-rw-r--r--cpp/config/Make.rules.Linux229
-rw-r--r--cpp/config/Make.rules.OSF180
-rw-r--r--cpp/config/Make.rules.SunOS115
-rw-r--r--cpp/config/Make.rules.msvc212
-rw-r--r--cpp/config/Makefile21
-rw-r--r--cpp/include/Glacier2/.gitignore10
-rw-r--r--cpp/include/Glacier2/Makefile26
-rw-r--r--cpp/include/Ice/.gitignore44
-rw-r--r--cpp/include/Ice/Makefile26
-rw-r--r--cpp/include/IceBT/.gitignore6
-rw-r--r--cpp/include/IceBox/.gitignore4
-rw-r--r--cpp/include/IceBox/Makefile26
-rw-r--r--cpp/include/IceGrid/.gitignore14
-rw-r--r--cpp/include/IceGrid/Makefile26
-rw-r--r--cpp/include/IcePatch2/.gitignore5
-rw-r--r--cpp/include/IcePatch2/Makefile26
-rw-r--r--cpp/include/IceSSL/.gitignore5
-rw-r--r--cpp/include/IceSSL/Makefile26
-rw-r--r--cpp/include/IceStorm/.gitignore5
-rw-r--r--cpp/include/IceStorm/Makefile26
-rw-r--r--cpp/include/IceUtil/Makefile26
-rw-r--r--cpp/include/Makefile38
-rw-r--r--cpp/include/Slice/Makefile26
-rw-r--r--cpp/src/Glacier2/.gitignore7
-rw-r--r--cpp/src/Glacier2/Makefile45
-rw-r--r--cpp/src/Glacier2/Makefile.mk17
-rw-r--r--cpp/src/Glacier2CryptPermissionsVerifier/.gitignore5
-rw-r--r--cpp/src/Glacier2CryptPermissionsVerifier/Makefile44
-rw-r--r--cpp/src/Glacier2CryptPermissionsVerifier/Makefile.mk17
-rw-r--r--cpp/src/Glacier2Lib/.gitignore19
-rw-r--r--cpp/src/Glacier2Lib/Makefile55
-rw-r--r--cpp/src/Glacier2Lib/Makefile.mk17
-rw-r--r--cpp/src/Ice/.gitignore84
-rw-r--r--cpp/src/Ice/Makefile197
-rw-r--r--cpp/src/Ice/Makefile.mk20
-rw-r--r--cpp/src/IceBT/.gitignore6
-rw-r--r--cpp/src/IceBT/Makefile67
-rw-r--r--cpp/src/IceBT/Makefile.mk22
-rw-r--r--cpp/src/IceBox/.gitignore7
-rw-r--r--cpp/src/IceBox/Makefile74
-rw-r--r--cpp/src/IceBox/Makefile.mk26
-rw-r--r--cpp/src/IceDB/Makefile44
-rw-r--r--cpp/src/IceDB/Makefile.mk (renamed from cpp/test/Slice/utf8BOM/Makefile)17
-rw-r--r--cpp/src/IceDiscovery/.gitignore7
-rw-r--r--cpp/src/IceDiscovery/Makefile65
-rw-r--r--cpp/src/IceDiscovery/Makefile.mk18
-rw-r--r--cpp/src/IceGrid/.gitignore11
-rw-r--r--cpp/src/IceGrid/Grammar.cpp1051
-rw-r--r--cpp/src/IceGrid/Grammar.h71
-rw-r--r--cpp/src/IceGrid/Makefile149
-rw-r--r--cpp/src/IceGrid/Makefile.mk86
-rw-r--r--cpp/src/IceGridLib/.gitignore27
-rw-r--r--cpp/src/IceGridLib/Makefile64
-rw-r--r--cpp/src/IceGridLib/Makefile.mk (renamed from php/config/Make.rules.Linux)12
-rw-r--r--cpp/src/IceLocatorDiscovery/.gitignore7
-rw-r--r--cpp/src/IceLocatorDiscovery/Makefile59
-rw-r--r--cpp/src/IceLocatorDiscovery/Makefile.mk18
-rw-r--r--cpp/src/IcePatch2/.gitignore5
-rw-r--r--cpp/src/IcePatch2/Makefile53
-rw-r--r--cpp/src/IcePatch2/Makefile.mk18
-rw-r--r--cpp/src/IcePatch2Lib/.gitignore9
-rw-r--r--cpp/src/IcePatch2Lib/Makefile48
-rw-r--r--cpp/src/IcePatch2Lib/Makefile.mk18
-rw-r--r--cpp/src/IceSSL/.gitignore9
-rw-r--r--cpp/src/IceSSL/Makefile82
-rw-r--r--cpp/src/IceSSL/Makefile.mk18
-rw-r--r--cpp/src/IceStorm/.gitignore24
-rw-r--r--cpp/src/IceStorm/Makefile102
-rw-r--r--cpp/src/IceStorm/Makefile.mk52
-rw-r--r--cpp/src/IceStormLib/.gitignore9
-rw-r--r--cpp/src/IceStormLib/Makefile48
-rw-r--r--cpp/src/IceStormLib/Makefile.mk16
-rw-r--r--cpp/src/IceUtil/.gitignore5
-rw-r--r--cpp/src/IceUtil/Makefile68
-rw-r--r--cpp/src/IceUtil/Makefile.mk23
-rw-r--r--cpp/src/IceXML/.gitignore5
-rw-r--r--cpp/src/IceXML/Makefile41
-rw-r--r--cpp/src/IceXML/Makefile.mk17
-rw-r--r--cpp/src/IceXML/Parser.h (renamed from cpp/include/IceXML/Parser.h)0
-rw-r--r--cpp/src/Makefile122
-rw-r--r--cpp/src/Slice/.gitignore5
-rw-r--r--cpp/src/Slice/Makefile67
-rw-r--r--cpp/src/Slice/Makefile.mk20
-rw-r--r--cpp/src/slice2confluence/.gitignore4
-rw-r--r--cpp/src/slice2confluence/ConfluenceOutput.cpp4
-rw-r--r--cpp/src/slice2confluence/ConfluenceOutput.h54
-rw-r--r--cpp/src/slice2confluence/Main.cpp14
-rw-r--r--cpp/src/slice2confluence/Makefile31
-rw-r--r--cpp/src/slice2cpp/.gitignore5
-rw-r--r--cpp/src/slice2cpp/Makefile31
-rw-r--r--cpp/src/slice2cs/.gitignore5
-rw-r--r--cpp/src/slice2cs/Makefile31
-rw-r--r--cpp/src/slice2html/.gitignore5
-rw-r--r--cpp/src/slice2html/Makefile31
-rw-r--r--cpp/src/slice2java/.gitignore5
-rw-r--r--cpp/src/slice2java/Makefile31
-rw-r--r--cpp/src/slice2js/.gitignore5
-rw-r--r--cpp/src/slice2js/Makefile32
-rw-r--r--cpp/src/slice2objc/.gitignore4
-rw-r--r--cpp/src/slice2objc/Makefile31
-rw-r--r--cpp/src/slice2php/.gitignore5
-rw-r--r--cpp/src/slice2php/Makefile30
-rw-r--r--cpp/src/slice2py/.gitignore4
-rw-r--r--cpp/src/slice2py/Makefile30
-rw-r--r--cpp/test/Common/.gitignore5
-rw-r--r--cpp/test/Common/Makefile48
-rw-r--r--cpp/test/Common/Makefile.mk18
-rw-r--r--cpp/test/Glacier2/Makefile37
-rw-r--r--cpp/test/Glacier2/attack/.gitignore9
-rw-r--r--cpp/test/Glacier2/attack/Makefile40
-rw-r--r--cpp/test/Glacier2/attack/Makefile.mk15
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/.gitignore9
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/Makefile41
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/Makefile.mk (renamed from objective-c/include/Makefile)15
-rw-r--r--cpp/test/Glacier2/override/.gitignore8
-rw-r--r--cpp/test/Glacier2/override/Makefile41
-rw-r--r--cpp/test/Glacier2/override/Makefile.mk15
-rw-r--r--cpp/test/Glacier2/router/.gitignore9
-rw-r--r--cpp/test/Glacier2/router/Makefile40
-rw-r--r--cpp/test/Glacier2/router/Makefile.mk15
-rw-r--r--cpp/test/Glacier2/sessionControl/.gitignore9
-rw-r--r--cpp/test/Glacier2/sessionControl/Makefile39
-rw-r--r--cpp/test/Glacier2/sessionControl/Makefile.mk16
-rw-r--r--cpp/test/Glacier2/sessionHelper/.gitignore9
-rw-r--r--cpp/test/Glacier2/sessionHelper/Makefile38
-rw-r--r--cpp/test/Glacier2/sessionHelper/Makefile.mk15
-rw-r--r--cpp/test/Glacier2/ssl/.gitignore7
-rw-r--r--cpp/test/Glacier2/ssl/Makefile34
-rw-r--r--cpp/test/Glacier2/ssl/Makefile.mk13
-rw-r--r--cpp/test/Glacier2/staticFiltering/.gitignore12
-rw-r--r--cpp/test/Glacier2/staticFiltering/Makefile43
-rw-r--r--cpp/test/Glacier2/staticFiltering/Makefile.mk15
-rw-r--r--cpp/test/Ice/Makefile78
-rw-r--r--cpp/test/Ice/acm/.gitignore9
-rw-r--r--cpp/test/Ice/acm/Makefile41
-rw-r--r--cpp/test/Ice/adapterDeactivation/.gitignore10
-rw-r--r--cpp/test/Ice/adapterDeactivation/Makefile54
-rw-r--r--cpp/test/Ice/adapterDeactivation/Makefile.mk12
-rw-r--r--cpp/test/Ice/admin/.gitignore9
-rw-r--r--cpp/test/Ice/admin/Makefile41
-rw-r--r--cpp/test/Ice/ami/.gitignore10
-rw-r--r--cpp/test/Ice/ami/Makefile52
-rw-r--r--cpp/test/Ice/background/.gitignore10
-rw-r--r--cpp/test/Ice/background/Makefile68
-rw-r--r--cpp/test/Ice/background/Makefile.mk25
-rw-r--r--cpp/test/Ice/binding/.gitignore9
-rw-r--r--cpp/test/Ice/binding/Makefile41
-rw-r--r--cpp/test/Ice/checksum/.gitignore14
-rw-r--r--cpp/test/Ice/checksum/Makefile45
-rw-r--r--cpp/test/Ice/checksum/Makefile.mk14
-rw-r--r--cpp/test/Ice/custom/.gitignore17
-rw-r--r--cpp/test/Ice/custom/Makefile96
-rw-r--r--cpp/test/Ice/custom/Makefile.mk35
-rw-r--r--cpp/test/Ice/defaultServant/.gitignore8
-rw-r--r--cpp/test/Ice/defaultServant/Makefile31
-rw-r--r--cpp/test/Ice/defaultServant/Makefile.mk12
-rw-r--r--cpp/test/Ice/defaultValue/.gitignore8
-rw-r--r--cpp/test/Ice/defaultValue/Makefile30
-rw-r--r--cpp/test/Ice/dispatcher/.gitignore10
-rw-r--r--cpp/test/Ice/dispatcher/Makefile55
-rw-r--r--cpp/test/Ice/dispatcher/Makefile.mk13
-rw-r--r--cpp/test/Ice/echo/.gitignore8
-rw-r--r--cpp/test/Ice/echo/Makefile31
-rw-r--r--cpp/test/Ice/echo/Makefile.mk12
-rw-r--r--cpp/test/Ice/enums/.gitignore9
-rw-r--r--cpp/test/Ice/enums/Makefile42
-rw-r--r--cpp/test/Ice/exceptions/.gitignore13
-rw-r--r--cpp/test/Ice/exceptions/Makefile68
-rw-r--r--cpp/test/Ice/exceptions/Makefile.mk14
-rw-r--r--cpp/test/Ice/facets/.gitignore10
-rw-r--r--cpp/test/Ice/facets/Makefile52
-rw-r--r--cpp/test/Ice/faultTolerance/.gitignore9
-rw-r--r--cpp/test/Ice/faultTolerance/Makefile40
-rw-r--r--cpp/test/Ice/gc/.gitignore8
-rw-r--r--cpp/test/Ice/gc/Makefile27
-rw-r--r--cpp/test/Ice/hash/.gitignore8
-rw-r--r--cpp/test/Ice/hash/Makefile29
-rw-r--r--cpp/test/Ice/hold/.gitignore9
-rw-r--r--cpp/test/Ice/hold/Makefile41
-rw-r--r--cpp/test/Ice/impl/.gitignore13
-rw-r--r--cpp/test/Ice/impl/Makefile66
-rw-r--r--cpp/test/Ice/info/.gitignore9
-rw-r--r--cpp/test/Ice/info/Makefile42
-rw-r--r--cpp/test/Ice/info/Makefile.mk13
-rw-r--r--cpp/test/Ice/inheritance/.gitignore10
-rw-r--r--cpp/test/Ice/inheritance/Makefile52
-rw-r--r--cpp/test/Ice/interceptor/.gitignore8
-rw-r--r--cpp/test/Ice/interceptor/Makefile33
-rw-r--r--cpp/test/Ice/interceptor/Makefile.mk12
-rw-r--r--cpp/test/Ice/invoke/.gitignore8
-rw-r--r--cpp/test/Ice/invoke/Makefile38
-rw-r--r--cpp/test/Ice/invoke/Makefile.mk12
-rw-r--r--cpp/test/Ice/location/.gitignore9
-rw-r--r--cpp/test/Ice/location/Makefile42
-rw-r--r--cpp/test/Ice/location/Makefile.mk12
-rw-r--r--cpp/test/Ice/logger/.gitignore10
-rw-r--r--cpp/test/Ice/logger/Makefile56
-rw-r--r--cpp/test/Ice/logger/Makefile.mk19
-rw-r--r--cpp/test/Ice/metrics/.gitignore13
-rw-r--r--cpp/test/Ice/metrics/Makefile61
-rw-r--r--cpp/test/Ice/networkProxy/.gitignore9
-rw-r--r--cpp/test/Ice/networkProxy/Makefile39
-rw-r--r--cpp/test/Ice/objects/.gitignore16
-rw-r--r--cpp/test/Ice/objects/Makefile62
-rw-r--r--cpp/test/Ice/objects/Makefile.mk15
-rw-r--r--cpp/test/Ice/operations/.gitignore13
-rw-r--r--cpp/test/Ice/operations/Makefile74
-rw-r--r--cpp/test/Ice/operations/Makefile.mk20
-rw-r--r--cpp/test/Ice/optional/.gitignore12
-rw-r--r--cpp/test/Ice/optional/Makefile53
-rw-r--r--cpp/test/Ice/plugin/.gitignore7
-rw-r--r--cpp/test/Ice/plugin/Client.cpp38
-rw-r--r--cpp/test/Ice/plugin/Makefile46
-rw-r--r--cpp/test/Ice/plugin/Makefile.mk (renamed from cpp/test/IceGrid/fileLock/Makefile)10
-rwxr-xr-xcpp/test/Ice/plugin/run.py2
-rw-r--r--cpp/test/Ice/properties/.gitignore6
-rw-r--r--cpp/test/Ice/properties/Makefile24
-rw-r--r--cpp/test/Ice/proxy/.gitignore13
-rw-r--r--cpp/test/Ice/proxy/Makefile69
-rw-r--r--cpp/test/Ice/retry/.gitignore10
-rw-r--r--cpp/test/Ice/retry/Makefile54
-rw-r--r--cpp/test/Ice/retry/Makefile.mk12
-rw-r--r--cpp/test/Ice/servantLocator/.gitignore13
-rw-r--r--cpp/test/Ice/servantLocator/Makefile66
-rw-r--r--cpp/test/Ice/servantLocator/Makefile.mk14
-rw-r--r--cpp/test/Ice/services/.gitignore8
-rw-r--r--cpp/test/Ice/services/Makefile31
-rw-r--r--cpp/test/Ice/services/Makefile.mk12
-rw-r--r--cpp/test/Ice/slicing/Makefile30
-rw-r--r--cpp/test/Ice/slicing/exceptions/.gitignore18
-rw-r--r--cpp/test/Ice/slicing/exceptions/Makefile56
-rw-r--r--cpp/test/Ice/slicing/exceptions/Makefile.mk15
-rw-r--r--cpp/test/Ice/slicing/objects/.gitignore20
-rw-r--r--cpp/test/Ice/slicing/objects/Makefile62
-rw-r--r--cpp/test/Ice/slicing/objects/Makefile.mk15
-rw-r--r--cpp/test/Ice/stream/.gitignore8
-rw-r--r--cpp/test/Ice/stream/Makefile30
-rw-r--r--cpp/test/Ice/stringConverter/.gitignore9
-rw-r--r--cpp/test/Ice/stringConverter/Makefile40
-rw-r--r--cpp/test/Ice/stringConverter/Makefile.mk12
-rw-r--r--cpp/test/Ice/threadPoolPriority/.gitignore10
-rw-r--r--cpp/test/Ice/threadPoolPriority/Makefile50
-rw-r--r--cpp/test/Ice/threadPoolPriority/Makefile.mk14
-rw-r--r--cpp/test/Ice/timeout/.gitignore9
-rw-r--r--cpp/test/Ice/timeout/AllTests.cpp6
-rw-r--r--cpp/test/Ice/timeout/Makefile41
-rw-r--r--cpp/test/Ice/timeout/Makefile.mk12
-rw-r--r--cpp/test/Ice/udp/.gitignore9
-rw-r--r--cpp/test/Ice/udp/Makefile40
-rw-r--r--cpp/test/IceBox/Makefile30
-rw-r--r--cpp/test/IceBox/admin/.gitignore9
-rw-r--r--cpp/test/IceBox/admin/Makefile42
-rw-r--r--cpp/test/IceBox/admin/Makefile.mk15
-rw-r--r--cpp/test/IceBox/configuration/.gitignore9
-rw-r--r--cpp/test/IceBox/configuration/Makefile42
-rw-r--r--cpp/test/IceBox/configuration/Makefile.mk15
-rw-r--r--cpp/test/IceDiscovery/Makefile30
-rw-r--r--cpp/test/IceDiscovery/simple/.gitignore9
-rw-r--r--cpp/test/IceDiscovery/simple/Makefile46
-rw-r--r--cpp/test/IceDiscovery/simple/Makefile.mk12
-rw-r--r--cpp/test/IceGrid/Makefile42
-rw-r--r--cpp/test/IceGrid/activation/.gitignore12
-rw-r--r--cpp/test/IceGrid/activation/Makefile43
-rw-r--r--cpp/test/IceGrid/activation/Makefile.mk12
-rw-r--r--cpp/test/IceGrid/admin/.gitignore9
-rw-r--r--cpp/test/IceGrid/admin/Makefile25
-rw-r--r--cpp/test/IceGrid/allocation/.gitignore15
-rw-r--r--cpp/test/IceGrid/allocation/Makefile51
-rw-r--r--cpp/test/IceGrid/allocation/Makefile.mk17
-rw-r--r--cpp/test/IceGrid/deployer/.gitignore18
-rw-r--r--cpp/test/IceGrid/deployer/Makefile56
-rw-r--r--cpp/test/IceGrid/deployer/Makefile.mk17
-rw-r--r--cpp/test/IceGrid/distribution/.gitignore14
-rw-r--r--cpp/test/IceGrid/distribution/Makefile43
-rw-r--r--cpp/test/IceGrid/distribution/Makefile.mk12
-rw-r--r--cpp/test/IceGrid/noRestartUpdate/.gitignore15
-rw-r--r--cpp/test/IceGrid/noRestartUpdate/AllTests.cpp4
-rw-r--r--cpp/test/IceGrid/noRestartUpdate/Makefile55
-rw-r--r--cpp/test/IceGrid/noRestartUpdate/Makefile.mk17
-rw-r--r--cpp/test/IceGrid/replicaGroup/.gitignore14
-rw-r--r--cpp/test/IceGrid/replicaGroup/Makefile70
-rw-r--r--cpp/test/IceGrid/replicaGroup/Makefile.mk20
-rw-r--r--cpp/test/IceGrid/replication/.gitignore13
-rw-r--r--cpp/test/IceGrid/replication/Makefile46
-rw-r--r--cpp/test/IceGrid/replication/Makefile.mk12
-rw-r--r--cpp/test/IceGrid/session/.gitignore14
-rw-r--r--cpp/test/IceGrid/session/Makefile53
-rw-r--r--cpp/test/IceGrid/session/Makefile.mk19
-rw-r--r--cpp/test/IceGrid/simple/.gitignore12
-rw-r--r--cpp/test/IceGrid/simple/Makefile43
-rw-r--r--cpp/test/IceGrid/simple/Makefile.mk12
-rw-r--r--cpp/test/IceGrid/update/.gitignore14
-rw-r--r--cpp/test/IceGrid/update/Makefile45
-rw-r--r--cpp/test/IceGrid/update/Makefile.mk12
-rw-r--r--cpp/test/IceSSL/Makefile29
-rw-r--r--cpp/test/IceSSL/configuration/.gitignore9
-rw-r--r--cpp/test/IceSSL/configuration/AllTests.cpp3
-rw-r--r--cpp/test/IceSSL/configuration/Makefile50
-rw-r--r--cpp/test/IceSSL/configuration/Makefile.mk12
-rw-r--r--cpp/test/IceStorm/Makefile36
-rw-r--r--cpp/test/IceStorm/federation/.gitignore14
-rw-r--r--cpp/test/IceStorm/federation/Makefile46
-rw-r--r--cpp/test/IceStorm/federation/Makefile.mk18
-rw-r--r--cpp/test/IceStorm/federation2/.gitignore18
-rw-r--r--cpp/test/IceStorm/federation2/Makefile46
-rw-r--r--cpp/test/IceStorm/federation2/Makefile.mk19
-rw-r--r--cpp/test/IceStorm/rep1/.gitignore14
-rw-r--r--cpp/test/IceStorm/rep1/Makefile54
-rw-r--r--cpp/test/IceStorm/rep1/Makefile.mk19
-rw-r--r--cpp/test/IceStorm/repgrid/.gitignore12
-rw-r--r--cpp/test/IceStorm/repgrid/Makefile32
-rw-r--r--cpp/test/IceStorm/repgrid/Makefile.mk14
-rw-r--r--cpp/test/IceStorm/repstress/.gitignore16
-rw-r--r--cpp/test/IceStorm/repstress/Makefile55
-rw-r--r--cpp/test/IceStorm/repstress/Makefile.mk19
-rw-r--r--cpp/test/IceStorm/single/.gitignore14
-rw-r--r--cpp/test/IceStorm/single/Makefile46
-rw-r--r--cpp/test/IceStorm/single/Makefile.mk16
-rw-r--r--cpp/test/IceStorm/stress/.gitignore18
-rw-r--r--cpp/test/IceStorm/stress/Makefile46
-rw-r--r--cpp/test/IceStorm/stress/Makefile.mk16
-rw-r--r--cpp/test/IceUtil/Makefile38
-rw-r--r--cpp/test/IceUtil/condvar/.gitignore7
-rw-r--r--cpp/test/IceUtil/condvar/Makefile30
-rw-r--r--cpp/test/IceUtil/condvar/Makefile.mk15
-rw-r--r--cpp/test/IceUtil/ctrlCHandler/.gitignore6
-rw-r--r--cpp/test/IceUtil/ctrlCHandler/Makefile24
-rw-r--r--cpp/test/IceUtil/ctrlCHandler/Makefile.mk10
-rw-r--r--cpp/test/IceUtil/inputUtil/.gitignore6
-rw-r--r--cpp/test/IceUtil/inputUtil/Makefile24
-rw-r--r--cpp/test/IceUtil/priority/.gitignore6
-rw-r--r--cpp/test/IceUtil/priority/Makefile29
-rw-r--r--cpp/test/IceUtil/priority/Makefile.mk12
-rw-r--r--cpp/test/IceUtil/sha1/.gitignore6
-rw-r--r--cpp/test/IceUtil/sha1/Makefile24
-rw-r--r--cpp/test/IceUtil/stacktrace/.gitignore6
-rw-r--r--cpp/test/IceUtil/stacktrace/Makefile24
-rw-r--r--cpp/test/IceUtil/thread/.gitignore6
-rw-r--r--cpp/test/IceUtil/thread/Makefile35
-rw-r--r--cpp/test/IceUtil/thread/Makefile.mk12
-rw-r--r--cpp/test/IceUtil/timer/.gitignore6
-rw-r--r--cpp/test/IceUtil/timer/Makefile24
-rw-r--r--cpp/test/IceUtil/unicode/.gitignore6
-rw-r--r--cpp/test/IceUtil/unicode/Makefile24
-rw-r--r--cpp/test/IceUtil/uuid/.gitignore6
-rw-r--r--cpp/test/IceUtil/uuid/Makefile24
-rw-r--r--cpp/test/Makefile54
-rw-r--r--cpp/test/Slice/Makefile33
-rw-r--r--cpp/test/Slice/keyword/.gitignore8
-rw-r--r--cpp/test/Slice/keyword/Makefile28
-rw-r--r--cpp/test/Slice/keyword/Makefile.mk13
-rw-r--r--cpp/test/Slice/macros/.gitignore8
-rw-r--r--cpp/test/Slice/macros/Makefile27
-rw-r--r--cpp/test/Slice/parser/.gitignore11
-rw-r--r--cpp/test/Slice/parser/Makefile25
-rw-r--r--cpp/test/Slice/structure/.gitignore10
-rw-r--r--cpp/test/Slice/structure/Makefile28
-rw-r--r--cpp/test/Slice/utf8BOM/.gitignore7
-rw-r--r--cpp/test/include/.gitignore4
-rw-r--r--java/Makefile18
-rw-r--r--java/gradle.properties12
-rw-r--r--java/src/Ice/src/main/java/Ice/PluginManagerI.java2
-rw-r--r--man/man1/iceboxnet.120
-rw-r--r--man/man1/slice2cs.1111
-rw-r--r--objective-c/Makefile60
-rw-r--r--objective-c/config/Make.rules207
-rw-r--r--objective-c/include/objc/Glacier2.h2
-rw-r--r--objective-c/include/objc/Glacier2/.gitignore10
-rw-r--r--objective-c/include/objc/Glacier2/Makefile26
-rw-r--r--objective-c/include/objc/Ice.h2
-rw-r--r--objective-c/include/objc/Ice/.gitignore39
-rw-r--r--objective-c/include/objc/Ice/Makefile26
-rw-r--r--objective-c/include/objc/IceGrid.h2
-rw-r--r--objective-c/include/objc/IceGrid/.gitignore14
-rw-r--r--objective-c/include/objc/IceGrid/Makefile26
-rw-r--r--objective-c/include/objc/IceSSL.h2
-rw-r--r--objective-c/include/objc/IceSSL/.gitignore5
-rw-r--r--objective-c/include/objc/IceSSL/Makefile26
-rw-r--r--objective-c/include/objc/IceStorm.h2
-rw-r--r--objective-c/include/objc/IceStorm/.gitignore5
-rw-r--r--objective-c/include/objc/IceStorm/Makefile26
-rw-r--r--objective-c/include/objc/Makefile29
-rw-r--r--objective-c/src/Glacier2/.gitignore18
-rw-r--r--objective-c/src/Glacier2/Makefile50
-rw-r--r--objective-c/src/Glacier2/Makefile.mk20
-rw-r--r--objective-c/src/Ice/.gitignore76
-rw-r--r--objective-c/src/Ice/Makefile130
-rw-r--r--objective-c/src/Ice/Makefile.mk30
-rw-r--r--objective-c/src/IceGrid/.gitignore26
-rw-r--r--objective-c/src/IceGrid/Makefile52
-rw-r--r--objective-c/src/IceGrid/Makefile.mk20
-rw-r--r--objective-c/src/IceSSL/.gitignore8
-rw-r--r--objective-c/src/IceSSL/Makefile50
-rw-r--r--objective-c/src/IceSSL/Makefile.mk21
-rw-r--r--objective-c/src/IceStorm/.gitignore8
-rw-r--r--objective-c/src/IceStorm/Makefile45
-rw-r--r--objective-c/src/IceStorm/Makefile.mk20
-rw-r--r--objective-c/src/Makefile40
-rw-r--r--objective-c/test/Common/.gitignore4
-rw-r--r--objective-c/test/Common/Makefile42
-rw-r--r--objective-c/test/Common/Makefile.mk17
-rw-r--r--objective-c/test/Ice/Makefile50
-rw-r--r--objective-c/test/Ice/acm/.gitignore8
-rw-r--r--objective-c/test/Ice/acm/Makefile37
-rw-r--r--objective-c/test/Ice/adapterDeactivation/.gitignore9
-rw-r--r--objective-c/test/Ice/adapterDeactivation/Makefile46
-rw-r--r--objective-c/test/Ice/admin/.gitignore8
-rw-r--r--objective-c/test/Ice/admin/Makefile38
-rw-r--r--objective-c/test/Ice/admin/Makefile.mk12
-rw-r--r--objective-c/test/Ice/ami/.gitignore9
-rw-r--r--objective-c/test/Ice/ami/Makefile46
-rw-r--r--objective-c/test/Ice/binding/.gitignore8
-rw-r--r--objective-c/test/Ice/binding/Makefile37
-rw-r--r--objective-c/test/Ice/defaultServant/.gitignore7
-rw-r--r--objective-c/test/Ice/defaultServant/Client.m29
-rw-r--r--objective-c/test/Ice/defaultServant/Makefile29
-rw-r--r--objective-c/test/Ice/defaultServant/Makefile.mk12
-rw-r--r--objective-c/test/Ice/defaultServant/TestI.h (renamed from objective-c/test/Ice/defaultServant/MyObjectI.h)0
-rw-r--r--objective-c/test/Ice/defaultServant/TestI.m (renamed from objective-c/test/Ice/defaultServant/MyObjectI.m)6
-rwxr-xr-xobjective-c/test/Ice/defaultServant/run.py3
-rw-r--r--objective-c/test/Ice/defaultValue/.gitignore7
-rw-r--r--objective-c/test/Ice/defaultValue/Makefile29
-rwxr-xr-xobjective-c/test/Ice/defaultValue/run.py2
-rw-r--r--objective-c/test/Ice/dispatcher/.gitignore9
-rw-r--r--objective-c/test/Ice/dispatcher/Makefile46
-rw-r--r--objective-c/test/Ice/enums/.gitignore8
-rw-r--r--objective-c/test/Ice/enums/Makefile37
-rw-r--r--objective-c/test/Ice/exceptions/.gitignore9
-rw-r--r--objective-c/test/Ice/exceptions/Makefile46
-rw-r--r--objective-c/test/Ice/facets/.gitignore9
-rw-r--r--objective-c/test/Ice/facets/Makefile46
-rw-r--r--objective-c/test/Ice/faultTolerance/.gitignore8
-rw-r--r--objective-c/test/Ice/faultTolerance/Makefile37
-rwxr-xr-xobjective-c/test/Ice/faultTolerance/run.py4
-rw-r--r--objective-c/test/Ice/hash/.gitignore7
-rw-r--r--objective-c/test/Ice/hash/Makefile29
-rwxr-xr-xobjective-c/test/Ice/hash/run.py2
-rw-r--r--objective-c/test/Ice/hold/.gitignore8
-rw-r--r--objective-c/test/Ice/hold/Makefile37
-rw-r--r--objective-c/test/Ice/info/.gitignore8
-rw-r--r--objective-c/test/Ice/info/Makefile37
-rw-r--r--objective-c/test/Ice/info/Makefile.mk12
-rw-r--r--objective-c/test/Ice/inheritance/.gitignore9
-rw-r--r--objective-c/test/Ice/inheritance/Makefile46
-rw-r--r--objective-c/test/Ice/interceptor/.gitignore7
-rw-r--r--objective-c/test/Ice/interceptor/Makefile30
-rw-r--r--objective-c/test/Ice/interceptor/Makefile.mk12
-rwxr-xr-xobjective-c/test/Ice/interceptor/run.py2
-rw-r--r--objective-c/test/Ice/invoke/.gitignore8
-rw-r--r--objective-c/test/Ice/invoke/Makefile37
-rw-r--r--objective-c/test/Ice/invoke/Makefile.mk12
-rw-r--r--objective-c/test/Ice/location/.gitignore8
-rw-r--r--objective-c/test/Ice/location/Makefile38
-rw-r--r--objective-c/test/Ice/location/Makefile.mk12
-rw-r--r--objective-c/test/Ice/metrics/.gitignore8
-rw-r--r--objective-c/test/Ice/metrics/Makefile37
-rw-r--r--objective-c/test/Ice/objects/.gitignore9
-rw-r--r--objective-c/test/Ice/objects/Makefile47
-rw-r--r--objective-c/test/Ice/objects/Makefile.mk12
-rw-r--r--objective-c/test/Ice/operations/.gitignore9
-rw-r--r--objective-c/test/Ice/operations/Makefile61
-rw-r--r--objective-c/test/Ice/operations/Makefile.mk18
-rw-r--r--objective-c/test/Ice/optional/.gitignore8
-rw-r--r--objective-c/test/Ice/optional/Makefile37
-rw-r--r--objective-c/test/Ice/proxy/.gitignore9
-rw-r--r--objective-c/test/Ice/proxy/Makefile46
-rw-r--r--objective-c/test/Ice/retry/.gitignore9
-rw-r--r--objective-c/test/Ice/retry/Makefile46
-rw-r--r--objective-c/test/Ice/servantLocator/.gitignore9
-rw-r--r--objective-c/test/Ice/servantLocator/Makefile48
-rw-r--r--objective-c/test/Ice/servantLocator/Makefile.mk12
-rw-r--r--objective-c/test/Ice/services/.gitignore7
-rw-r--r--objective-c/test/Ice/services/Makefile30
-rw-r--r--objective-c/test/Ice/services/Makefile.mk12
-rwxr-xr-xobjective-c/test/Ice/services/run.py2
-rw-r--r--objective-c/test/Ice/slicing/Makefile21
-rw-r--r--objective-c/test/Ice/slicing/exceptions/.gitignore10
-rw-r--r--objective-c/test/Ice/slicing/exceptions/Makefile40
-rw-r--r--objective-c/test/Ice/slicing/exceptions/Makefile.mk13
-rw-r--r--objective-c/test/Ice/slicing/objects/.gitignore14
-rw-r--r--objective-c/test/Ice/slicing/objects/Makefile45
-rw-r--r--objective-c/test/Ice/slicing/objects/Makefile.mk13
-rw-r--r--objective-c/test/Ice/stream/.gitignore7
-rw-r--r--objective-c/test/Ice/stream/Makefile28
-rwxr-xr-xobjective-c/test/Ice/stream/run.py2
-rw-r--r--objective-c/test/Ice/timeout/.gitignore8
-rw-r--r--objective-c/test/Ice/timeout/Makefile37
-rw-r--r--objective-c/test/Makefile21
-rw-r--r--objective-c/test/Slice/Makefile21
-rw-r--r--objective-c/test/Slice/keyword/.gitignore9
-rw-r--r--objective-c/test/Slice/keyword/Makefile27
-rw-r--r--objective-c/test/Slice/keyword/Makefile.mk12
-rwxr-xr-xobjective-c/test/Slice/keyword/run.py2
-rw-r--r--php/Makefile63
-rw-r--r--php/config/Make.rules84
-rw-r--r--php/config/Make.rules.mak.php246
-rw-r--r--php/config/Make.rules.php183
-rw-r--r--php/lib/Makefile172
-rw-r--r--php/src/Makefile28
-rw-r--r--php/src/php5/Makefile39
-rw-r--r--php/src/php5/Makefile.mk21
-rw-r--r--php/src/php7/Makefile.mk21
-rw-r--r--python/Makefile63
-rw-r--r--python/config/Make.rules207
-rw-r--r--python/config/Make.rules.Darwin48
-rw-r--r--python/config/Make.rules.Linux27
-rw-r--r--python/modules/IcePy/Makefile58
-rw-r--r--python/modules/IcePy/Makefile.mk21
-rw-r--r--python/modules/Makefile21
-rw-r--r--python/python/Makefile153
-rw-r--r--ruby/Makefile58
-rw-r--r--ruby/config/Make.rules246
-rw-r--r--ruby/config/Make.rules.Darwin51
-rw-r--r--ruby/config/Make.rules.Linux23
-rw-r--r--ruby/ruby/Makefile169
-rw-r--r--ruby/src/IceRuby/Makefile50
-rw-r--r--ruby/src/IceRuby/Makefile.mk21
-rw-r--r--ruby/src/Makefile24
-rw-r--r--scripts/IceStormUtil.py2
-rwxr-xr-xscripts/TestUtil.py70
535 files changed, 4140 insertions, 14965 deletions
diff --git a/.gitignore b/.gitignore
index 3287f17220b..f14e298fe88 100644
--- a/.gitignore
+++ b/.gitignore
@@ -57,7 +57,6 @@ vcproj
# VIM swap file
*.swp
.keychain
-
cpp/demo/ipch
cpp/demo/Debug
@@ -94,8 +93,7 @@ csharp/msbuild/zeroc.ice.net
# VS
*.opendb
-cpp11
-cpp98
+build
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
diff --git a/Makefile b/Makefile
index 22e429ecefd..21f3e5e4565 100644
--- a/Makefile
+++ b/Makefile
@@ -7,73 +7,34 @@
#
# **********************************************************************
-SUBDIRS = cpp java js python ruby php
-CLEAN_SUBDIRS = js java python ruby php cpp
-DEPEND_SUBDIRS = cpp python ruby php
-INSTALL_SUBDIRS = cpp java python ruby php
+top_srcdir := .
-ifeq ($(shell uname),Darwin)
-SUBDIRS += objective-c
-CLEAN_SUBDIRS += objective-c
-DEPEND_SUBDIRS += objective-c
-INSTALL_SUBDIRS += objective-c
-endif
+include $(top_srcdir)/config/Make.rules
-all::
- @for subdir in $(SUBDIRS); \
+define make-global-rule
+$1::
+ @for subdir in $2; \
do \
- echo "making all in $$subdir"; \
- ( cd $$subdir && $(MAKE) all ) || exit 1; \
+ echo "making all in $$$$subdir"; \
+ ( cd $$$$subdir && $(MAKE) $1 ) || exit 1; \
done
+endef
-clean::
- @for subdir in $(CLEAN_SUBDIRS); \
- do \
- echo "making clean in $$subdir"; \
- ( cd $$subdir && $(MAKE) clean ) || exit 1; \
- done
-
-depend::
- @for subdir in $(DEPEND_SUBDIRS); \
- do \
- echo "making depend in $$subdir"; \
- ( cd $$subdir && $(MAKE) depend ) || exit 1; \
- done
+$(eval $(call make-global-rule,srcs,$(languages)))
+$(eval $(call make-global-rule,tests,$(languages)))
+$(eval $(call make-global-rule,all,$(languages)))
+$(eval $(call make-global-rule,clean,$(languages)))
+$(eval $(call make-global-rule,distclean,$(languages)))
+$(eval $(call make-global-rule,install,$(languages)))
-install::
- @for subdir in $(INSTALL_SUBDIRS); \
- do \
- echo "making install in $$subdir"; \
- ( cd $$subdir && $(MAKE) install ) || exit 1; \
- done
-test::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making test in $$subdir"; \
- ( cd $$subdir && $(MAKE) test ) || exit 1; \
- done
-
-cpp::
- echo "making all in cpp";
- ( cd cpp && $(MAKE) all ) || exit 1;
-
-java::
- echo "making all in java";
- ( cd java && $(MAKE) all ) || exit 1;
-
-cs::
- echo "making all in cs";
- ( cd cs && $(MAKE) all ) || exit 1;
-
-python::
- echo "making all in python";
- ( cd python && $(MAKE) all ) || exit 1;
+#
+# Install documentation and slice files
+#
+install:: install-doc install-slice
-ruby::
- echo "making all in ruby";
- ( cd ruby && $(MAKE) all ) || exit 1;
+$(eval $(call install-data-files,$(wildcard $(slicedir)/*/*.ice),$(slicedir),$(install_slicedir),\
+ install-slice,"Installing slice files"))
-php::
- echo "making all in php";
- ( cd php && $(MAKE) all ) || exit 1;
+$(eval $(call install-data-files,$(wildcard $(top_srcdir)/*LICENSE),$(top_srcdir),$(install_docdir),\
+ install-doc,"Installing documentation files"))
diff --git a/config/Make.common.rules b/config/Make.common.rules
deleted file mode 100644
index 670e2872646..00000000000
--- a/config/Make.common.rules
+++ /dev/null
@@ -1,484 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-# ----------------------------------------------------------------------
-# Don't change anything below this line!
-# ----------------------------------------------------------------------
-
-SHELL = /bin/sh
-VERSION_MAJOR = 3
-VERSION_MINOR = 7a0
-VERSION_PATCH = 51
-VERSION = 3.7a0
-SHORT_VERSION = 3.7
-SOVERSION = 37a0
-
-INSTALL = cp -fp
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_LIBRARY = ${INSTALL}
-INSTALL_DATA = ${INSTALL}
-
-OBJEXT = .o
-
-UNAME := $(shell uname)
-MACHINE_TYPE := $(shell uname -m)
-
-#
-# Ensure ice_language has been set by the file that includes this one.
-#
-ifndef ice_language
-$(error ice_language must be defined)
-endif
-
-ifeq ($(USE_BIN_DIST),yes)
-ice_bin_dist = 1
-endif
-
-ifeq ($(UNAME),Darwin)
- usr_dir = /usr/local
-else
- usr_dir = /usr
-endif
-
-#
-# usr_dir_install means we want to install with a /usr style layout.
-#
-ifeq ($(prefix), /usr)
- usr_dir_install = 1
-endif
-
-ifeq ($(prefix), /usr/local)
- usr_dir_install = 1
-endif
-
-#
-# A /usr style layout can be forced by setting USR_DIR_INSTALL=yes.
-#
-ifeq ($(USR_DIR_INSTALL),yes)
- usr_dir_install = 1
-endif
-
-ifeq ($(UNAME),SunOS)
- ifeq ($(MACHINE_TYPE),sun4u)
- lp64suffix = /64
- lp64binsuffix = /sparcv9
- endif
- ifeq ($(MACHINE_TYPE),sun4v)
- lp64suffix = /64
- lp64binsuffix = /sparcv9
- endif
- ifeq ($(MACHINE_TYPE),i86pc)
- lp64suffix = /amd64
- lp64binsuffix = /amd64
- endif
-endif
-
-ifeq ($(UNAME),HP-UX)
- lp64suffix = /pa20_64
- lp64binsuffix = /pa20_64
-endif
-
-ifeq ($(UNAME),Linux)
- ifeq ($(MACHINE_TYPE),x86_64)
- #
- # Ubuntu.
- #
- ifeq ($(shell test -d $(usr_dir)/lib/x86_64-linux-gnu && echo 0),0)
- lp64suffix = /x86_64-linux-gnu
- endif
-
- #
- # Rhel/SLES
- #
- ifeq ($(shell test -d $(usr_dir)/lib64 && echo 0),0)
- lp64suffix = 64
- endif
-
- ifeq ($(LP64),)
- LP64 = yes
- endif
- endif
- ifneq ($(STATICLIBS),yes)
- ifneq ($(LP64),yes)
- binsuffix = 32
- endif
- endif
-endif
-
-ifeq ($(shell test -d $(usr_dir)/lib/i386-linux-gnu && echo 0),0)
- lp32suffix = /i386-linux-gnu
-endif
-
-ifeq ($(CPP11_MAPPING),yes)
- cpp11libdirsuffix = /c++11
- cpp11libsuffix = ++11
- cpp11sonamedir = ../
- binsuffix := $(binsuffix)$(cpp11libsuffix)
-endif
-
-ifneq ($(findstring MINGW,$(UNAME)),)
- UNAME := MINGW
- lp64suffix := /x64
- COMPILER_MACHINE := $(shell $(CXX) -dumpmachine)
- ifeq ($(COMPILER_MACHINE),x86_64-w64-mingw32)
- LP64 := yes
- endif
-endif
-
-ifeq ($(LP64),yes)
- libsubdir := lib$(lp64suffix)
- binsubdir := bin$(lp64binsuffix)
-else
- libsubdir := lib$(lp32suffix)
- binsubdir := bin
- #
- # For x86 builds in x86_64 machines lib64subdir points to the x86_64 lib
- # directory and libsubdir to the x86 lib directory.
- #
- ifeq ($(MACHINE_TYPE),x86_64)
- lib64subdir = lib$(lp64suffix)
- endif
-endif
-
-#
-# The following variables might also be defined:
-#
-# - slice_translator: the name of the slice translator required for the build.
-# Setting this variable is required when building source trees other than the
-# the source distribution (e.g.: the demo sources).
-#
-# - ice_require_cpp: define this variable to check for the presence of the C++
-# dev kit and check for the existence of the include/Ice/Config.h header.
-#
-
-#
-# First, check if we're building a source distribution.
-#
-# If building from a source distribution, ice_dir is defined to the
-# top-level directory of the source distribution and ice_cpp_dir is
-# defined to the directory containing the C++ binaries and headers to
-# use to build the sources.
-#
-ifndef ice_bin_dist
- ifeq ($(shell test -d $(top_srcdir)/../$(ice_language) && echo 0),0)
- ice_dir = $(top_srcdir)/..
- ice_src_dist = 1
-
- #
- # When building a source distribution, if ICE_HOME is specified, it takes precedence over
- # the source tree for building the language mappings. For example, this can be used to
- # build the Python language mapping using the translators from the distribution specified
- # by ICE_HOME.
- #
- ifneq ($(ICE_HOME),)
- ifeq ($(shell test -d $(ICE_HOME)/cpp/bin && echo 0), 0)
- #
- # ICE_HOME is pointing at the source distribution, so we just ignore it.
- #
- ice_cpp_dir = $(ice_dir)/cpp
- else
- ifdef slice_translator
- ifneq ($(shell test -f $(ICE_HOME)/$(binsubdir)/$(slice_translator) && echo 0), 0)
-$(error Unable to find $(slice_translator) in $(ICE_HOME)/$(binsubdir), please verify ICE_HOME is properly configured and Ice is correctly installed.)
- endif
- ifeq ($(shell test -f $(ice_dir)/cpp/bin/$(slice_translator) && echo 0), 0)
-$(warning Found $(slice_translator) in both ICE_HOME/bin and $(ice_dir)/cpp/bin, ICE_HOME/bin/$(slice_translator) will be used!)
- endif
- ice_cpp_dir = $(ICE_HOME)
- else
-$(warning Ignoring ICE_HOME environment variable to build current source tree.)
- ice_cpp_dir = $(ice_dir)/cpp
- endif
- endif
- else
- ice_cpp_dir = $(ice_dir)/cpp
- endif
-
- endif
- ifeq ($(shell test -d $(top_srcdir)/ice/$(ice_language) && echo 0),0)
- ice_dir = $(top_srcdir)/ice
- ice_src_dist = 1
-
- #
- # When building a source distribution, if ICE_HOME is specified, it takes precedence over
- # the source tree for building the language mappings. For example, this can be used to
- # build the Python language mapping using the translators from the distribution specified
- # by ICE_HOME.
- #
- ifneq ($(ICE_HOME),)
- ifdef slice_translator
- ifneq ($(shell test -f $(ICE_HOME)/$(binsubdir)/$(slice_translator) && echo 0), 0)
-$(error Unable to find $(slice_translator) in $(ICE_HOME)/$(binsubdir), please verify ICE_HOME is properly configured and Ice is correctly installed.)
- endif
- ifeq ($(shell test -f $(ice_dir)/cpp/bin/$(slice_translator) && echo 0), 0)
-$(warning Found $(slice_translator) in both ICE_HOME/bin and $(ice_dir)/cpp/bin, ICE_HOME/bin/$(slice_translator) will be used!)
- endif
- ice_cpp_dir = $(ICE_HOME)
- else
-$(warning Ignoring ICE_HOME environment variable to build current source tree.)
- ice_cpp_dir = $(ice_dir)/cpp
- endif
- else
- ice_cpp_dir = $(ice_dir)/cpp
- endif
- endif
-endif
-
-#
-# Then, check if we're building against a binary distribution.
-#
-ifndef ice_src_dist
-
- ifndef slice_translator
- slice_translator = slice2cpp
- endif
-
- ifneq ($(ICE_HOME),)
- ifneq ("$(ice_language)", "python")
- ifneq ($(shell test -f $(ICE_HOME)/$(binsubdir)/$(slice_translator) && echo 0), 0)
-$(error Unable to find $(slice_translator) in $(ICE_HOME)/$(binsubdir), please verify ICE_HOME is properly configured and Ice is correctly installed.)
- endif
- endif
- ice_dir = $(ICE_HOME)
- else
- ifeq ($(shell test -f $(top_srcdir)/bin/$(slice_translator) && echo 0), 0)
- ice_dir = $(top_srcdir)
- else
- ifeq ($(shell test -f $(usr_dir)/bin/$(slice_translator) && echo 0), 0)
- ice_dir = $(usr_dir)
- ifeq ($(shell test -f /opt/Ice-$(VERSION)/bin/$(slice_translator) && echo 0), 0)
- $(warning Found $(slice_translator) in both $(usr_dir)/bin and /opt/Ice-$(VERSION)/bin, $(usr_dir)/bin/$(slice_translator) will be used!)
- endif
- else
- ifeq ($(shell test -f /opt/Ice-$(VERSION)/$(binsubdir)/$(slice_translator) && echo 0), 0)
- ice_dir = /opt/Ice-$(VERSION)
- endif
- endif
- endif
- endif
-
- ifndef ice_dir
-$(error Unable to find a valid Ice distribution, please verify ICE_HOME is properly configured and Ice is correctly installed.)
- endif
- ice_bin_dist = 1
- ice_cpp_dir = $(ice_dir)
-endif
-
-#
-# If ice_require_cpp is defined, ensure the C++ headers exist
-#
-ifeq ("$(ice_language)", "python")
- ifdef ice_bin_dist
- skip_cpp_check = 1
- endif
-endif
-
-ifndef skip_cpp_check
- ifeq ("$(ice_require_cpp)", "yes")
- ifdef ice_src_dist
- ice_cpp_header = $(ice_cpp_dir)/include/Ice/Ice.h
- else
- ice_cpp_header = $(ice_dir)/include/Ice/Ice.h
- endif
- ifneq ($(shell test -f $(ice_cpp_header) && echo 0),0)
- $(error Unable to find the C++ header file $(ice_cpp_header), please verify ICE_HOME is properly configured and Ice is correctly installed.)
- endif
- endif
-endif
-
-#
-# Clear the embedded runpath prefix if building against RPM distribution.
-#
-ifeq ($(ice_dir), $(usr_dir))
- embedded_runpath_prefix =
-endif
-
-#
-# Set slicedir to the path of the directory containing the Slice files.
-#
-ifeq ($(ice_dir), $(usr_dir))
- slicedir = $(usr_dir)/share/slice
-else
- slicedir = $(ice_dir)/slice
-endif
-
-#
-# Installation location for slice and doc files.
-#
-ifdef usr_dir_install
- install_slicedir = $(prefix)/share/Ice-$(VERSION)/slice
- install_docdir = $(prefix)/share/Ice-$(VERSION)
-else
- install_slicedir = $(prefix)/slice
- install_docdir = $(prefix)
-endif
-
-#
-# Set environment variables for the Slice translator.
-#
-ifneq ($(ice_dir), $(usr_dir))
- ifdef ice_src_dist
- ice_lib_dir = $(ice_cpp_dir)/$(libsubdir)
- else
- ifndef lib64subdir
- ice_lib_dir = $(ice_dir)/$(libsubdir)
- else
- ice_lib_dir = $(ice_dir)/$(lib64subdir)
- endif
- endif
-
- #
- # We always set library path because the build needs to work
- # whe slice compiler was built without RPATH
- #
- ifeq ($(UNAME),Linux)
- export LD_LIBRARY_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH)
- endif
-
- ifeq ($(UNAME),SunOS)
- ifeq ($(LP64),yes)
- export LD_LIBRARY_PATH_64 := $(ice_lib_dir):$(LD_LIBRARY_PATH_64)
- else
- export LD_LIBRARY_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH)
- endif
- endif
-
- ifeq ($(UNAME),AIX)
- export LIBPATH := $(ice_lib_dir):$(LIBPATH)
- endif
-
- ifeq ($(UNAME),HP-UX)
- ifeq ($(LP64),yes)
- export LD_LIBRARY_PATH := $(ice_lib_dir)$(lp64dir):$(SHLIB_PATH)
- else
- export SHLIB_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH)
- endif
- endif
-
- ifeq ($(UNAME),FreeBSD)
- export LD_LIBRARY_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH)
- endif
-
- ifeq ($(UNAME),OSF1)
- export LD_LIBRARY_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH)
- endif
-
- ifneq ($(findstring MINGW,$(UNAME)),)
- set PATH := $(ice_lib_dir);$(PATH)
- endif
-endif
-
-
-#
-# Default functions for shared library names (we have to defined them here
-# for the SLICE2PARSERLIB dependency)
-#
-ifeq ($(mklibfilename),)
- ifeq ($(UNAME),Darwin)
- mklibfilename = $(if $(2),lib$(1)$(cpp11libsuffix).$(2).dylib,lib$(1)$(cpp11libsuffix).dylib)
- else
- mklibfilename = $(if $(2),lib$(1)$(cpp11libsuffix).so.$(2),lib$(1)$(cpp11libsuffix).so)
- endif
-endif
-
-ifeq ($(mksoname),)
- ifeq ($(UNAME),Darwin)
- mksoname = $(if $(2),lib$(1)$(cpp11libsuffix).$(2).dylib,lib$(1).dylib)
- else
- mksoname = $(if $(2),lib$(1)$(cpp11libsuffix).so.$(2),lib$(1).so)
- endif
-endif
-
-ifeq ($(mklibname),)
- ifeq ($(STATICLIBS),yes)
- mklibname = lib$(1)$(cpp11libsuffix).a
- else
- ifeq ($(UNAME),Darwin)
- mklibname = lib$(1).dylib
- else
- mklibname = lib$(1).so
- endif
- endif
-endif
-
-ifndef mklibtargets
- ifeq ($(STATICLIBS),yes)
- mklibtargets = $(3)
- else
- mklibtargets = $(1) $(2) $(3)
- endif
-endif
-
-ifeq ($(installlib),)
- ifeq ($(STATICLIBS),yes)
- installlib = $(INSTALL) $(2)/$(5) $(1); \
- chmod a+rx $(1)/$(5)
- else
- installlib = $(INSTALL) $(2)/$(3) $(1); \
- rm -f $(1)/$(4); ln -s $(3) $(1)/$(4); \
- rm -f $(1)$(cpp11libdirsuffix)/$(5); ln -s $(cpp11sonamedir)$(4) $(1)$(cpp11libdirsuffix)/$(5); \
- chmod a+rx $(1)/$(3)
- endif
-endif
-
-ifeq ($(installdata),)
- installdata = $(INSTALL_DATA) $(1) $(2); \
- chmod a+r $(2)/$(notdir $(1))
-endif
-
-ifeq ($(installprogram),)
- installprogram = $(INSTALL_PROGRAM) $(1) $(2); \
- chmod a+rx $(2)/$(notdir $(1))
-endif
-
-ifeq ($(mkdir),)
- mkdir = $(if $(2),mkdir $(2) $(1),mkdir $(1)); \
- chmod a+rx $(1)
-endif
-
-all::
-
-ifeq ($(wildcard $(top_srcdir)/../ICE_LICENSE.txt),)
- TEXT_EXTENSION =
-else
- TEXT_EXTENSION = .txt
-endif
-
-install-common::
- @if test ! -d $(DESTDIR)$(prefix) ; \
- then \
- echo "Creating $(prefix)..." ; \
- $(call mkdir,$(DESTDIR)$(prefix), -p) ; \
- fi
-
- @if test ! -d $(DESTDIR)$(install_slicedir) ; \
- then \
- echo "Creating $(DESTDIR)$(install_slicedir)..." ; \
- $(call mkdir, $(DESTDIR)$(install_slicedir), -p) ; \
- if test ! -z "$(usr_dir_install)" ; \
- then \
- ln -s Ice-$(VERSION)/slice $(DESTDIR)/$(prefix)/share/slice ; \
- fi ; \
- cd $(top_srcdir)/../slice ; \
- for subdir in * ; \
- do \
- echo "Copying slice/$$subdir to $(DESTDIR)$(install_slicedir)..." ; \
- cp -fpr $$subdir $(DESTDIR)$(install_slicedir) ; \
- done ; \
- fi
-
- @if test ! -f $(DESTDIR)$(install_docdir)/ICE_LICENSE$(TEXT_EXTENSION) ; \
- then \
- $(call installdata,$(top_srcdir)/../ICE_LICENSE$(TEXT_EXTENSION),$(DESTDIR)$(install_docdir)) ; \
- fi
-
- @if test ! -f $(DESTDIR)$(install_docdir)/LICENSE$(TEXT_EXTENSION) ; \
- then \
- $(call installdata,$(top_srcdir)/../LICENSE$(TEXT_EXTENSION),$(DESTDIR)$(install_docdir)) ; \
- fi
diff --git a/config/Make.project.rules b/config/Make.project.rules
new file mode 100644
index 00000000000..a20b1180034
--- /dev/null
+++ b/config/Make.project.rules
@@ -0,0 +1,777 @@
+
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+#
+# $(call project,[$1])
+#
+# Returns the project name, $(top_srcdir) is removed from the begining
+# of the path so for example ./src/Ice is transformed to src/Ice.
+#
+project = $(patsubst $(lang_srcdir)/%,%,$(if $1,$1,$(currentdir)))
+
+#
+# The list of platforms to build for the given component. We iterate over the platform
+# list (which is the value of PLATFORMS or the default platform) and check if the
+# component is either included/excluded for this platform based on the <platform>_excludes,
+# <platform>_components and <platform>_projects variables.
+#
+component-platforms = $(call unique,$(foreach p,$(platforms),\
+ $(if $(and $(if $(filter $($p_excludes),$1 $2),,true),\
+ $(or $(filter $($p_components),$2),\
+ $(filter $(or $($p_projects),$(if $($p_components),,%)),$1))),\
+ $(strip $p))))
+
+#
+# Same as the above but for configurations
+#
+component-configs = $(call unique,$(foreach c,$(configs),\
+ $(if $(strip $(foreach s,$(subst -,$(space),$c),\
+ $(if $(and $(if $(filter $($s_excludes),$1 $2),,true),\
+ $(or $(filter $($s_components),$2),\
+ $(filter $($s_projects),$1))),,$s))),,\
+ $(strip $c))))
+
+# $(call install-data,$1=filename,$2=srcdir,$3=destdist)
+install-data = $(INSTALL) $2/$1 $(DESTDIR)$3/$1; $(CHMOD) a+r $(DESTDIR)$(3)/$(1)
+
+#
+# $(call install-data-files,$1=files,$2=$srcdir,$3=$destdir,$4=target,$5=text-output)
+#
+define install-data-files
+
+$4:: $(patsubst $2/%,$(DESTDIR)$3/%,$1)
+ $(if $5,$(E) $5)
+
+ifeq ($(filter $(or $(call files-to-dirs,$(patsubst $2/%,$3/%,$1)),$3),$(installdirs)),)
+$(or $(call files-to-dirs,$(patsubst $2/%,$(DESTDIR)$3/%,$1)),$(DESTDIR)$3):
+ $(Q)$(MKDIR) -p $$@
+installdirs += $(or $(call files-to-dirs,$(patsubst $2/%,$3/%,$1)),$3)
+endif
+
+$(patsubst $2/%,$(DESTDIR)$3/%,$1): $(DESTDIR)$3/%: $2/% | \
+ $(or $(call files-to-dirs,$(patsubst $2/%,$(DESTDIR)$3/%,$1)),$(DESTDIR)$3)
+ $(Q)$(call install-data,$$(*),$2,$3)
+
+endef
+
+#
+# $(call make-objects,$1=srcdir,$2=generateddir,$3=objdir,$4=sources,$5=dependencies,$6=cppflags,$7=slicecompiler,
+# $8=platform,$9=config)
+#
+# Defines pattern rules to build object files into directory objdir. The sources
+# are specified by sources. The srcdir and generateddir specifies where the
+# sources and generated sources are located.
+#
+define make-objects
+
+#
+# If there's no dependency yet, ensure the objects depend on all the modules dependencies
+# and on the generated sources to ensure that all the Slice files from this module and
+# other modules are built first.
+#
+ifeq ($(wildcard $3/*.d),)
+$(addprefix $3/,$(call source-to-object,$4)): $(addprefix $2/,$(call generated-to-source,$4,$($7_targetext))) $5
+endif
+
+$3/%.d: ;
+
+.PRECIOUS: $3/%.d
+
+ifeq ($(filter %clean,$(MAKECMDGOALS)),)
+ # Include the dependencies
+ -include $(addprefix $3/,$(call source-to-dependency,$4))
+endif
+
+ifneq ($(filter %.ice,$4),)
+# Rules to build generated sources from <srcdir>/generated
+$3/%.o: $2/%.$($7_targetext)
+$3/%.o: $2/%.$($7_targetext) $3/%.$($7_targetext).d
+ $(E) "Compiling [$8-$9] $$<"
+ $(Q)$(or $($8_cxx),$(platform_cxx)) $(strip $6) -MT $$@ -MMD -MP -MF $3/$$*.Td $(CXXFLAGS) $(CPPFLAGS) -c $$< -o $$@
+ $(Q)$(MV) $3/$$*.Td $3/$$*.$($7_targetext).d
+endif
+
+ifneq ($(filter %.cpp,$4),)
+# Rules to build C++ sources from <srcdir>
+$3/%.o: $1/%.cpp
+$3/%.o: $1/%.cpp $3/%.cpp.d
+ $(E) "Compiling [$8-$9] $$<"
+ $(Q)$(or $($8_cxx),$(platform_cxx)) $(strip $6) -MT $$@ -MMD -MP -MF $3/$$*.Td $(CXXFLAGS) $(CPPFLAGS) -c $$< -o $$@
+ $(Q)$(MV) $3/$$*.Td $3/$$*.cpp.d
+endif
+
+ifneq ($(filter %.mm,$4),)
+# Rules to build Objective-C++ sources from <srcdir>
+$3/%.o: $1/%.mm
+$3/%.o: $1/%.mm $3/%.mm.d
+ $(E) "Compiling [$8-$9] $$<"
+ $(Q)$(or $($8_cxx),$(platform_cxx)) $(strip $6) -MT $$@ -MMD -MP -MF $3/$$*.Td $(CXXFLAGS) $(CPPFLAGS) -c $$< -o $$@
+ $(Q)$(MV) $3/$$*.Td $3/$$*.mm.d
+endif
+
+ifneq ($(filter %.m,$4),)
+# Rules to build Objetive-C sources from <srcdir>
+$3/%.o: $1/%.m
+$3/%.o: $1/%.m $3/%.m.d
+ $(E) "Compiling [$8-$9] $$<"
+ $(Q)$(or $($8_cxx),$(platform_cxx)) $(strip $6) -MT $$@ -MMD -MP -MF $3/$$*.Td $(CXXFLAGS) $(CPPFLAGS) -c $$< -o $$@
+ $(Q)$(MV) $3/$$*.Td $3/$$*.m.d
+endif
+
+endef
+
+#
+# $(call make-slices,$1=slicedir,$2=generateddir,$3=includedir,$4=slices,$5=sliceflags,$6=slice_compiler)
+#
+# Defines a pattern rule for <includedir>/%.h <generateddir>/%.cpp: <slicedir>/%.ice
+#
+define make-slices
+
+$2/%.ice.d: ;
+
+.PRECIOUS: $2/%.ice.d
+
+ifeq ($(filter %clean,$(MAKECMDGOALS)),)
+ # Include the dependencies
+ -include $(addprefix $2/,$(call source-to-dependency,$4))
+endif
+
+$3/%.h $2/%.$($6_targetext): $1/%.ice $2/%.ice.d $($6_path) | $3
+ $(E) "Compiling $$<"
+ $(Q)$(RM) $3/$$*.h $2/$$*.$($6_targetext)
+ $(Q)$($6_path) $(strip $5) --depend $$< > $2/$$*.ice.d
+ $(Q)$($6_path) $(strip $5) --output-dir $2 $$<
+ $(if $(filter-out $2,$3),$(Q)$(MV) $2/$$*.h $3/)
+
+endef
+
+ifeq ($(BISON_FLEX),yes)
+%.h %.cpp: %.y
+ $(RM) $*.h $*.cpp
+ bison -dvt -o $*.cpp $<
+ $(MV) $*.hpp $*.h
+ $(RM) $*.output
+
+%.cpp: %.l
+ $(RM) $@
+ echo '#include <IceUtil/ScannerConfig.h>' >> $@
+ flex -t $< >> $@
+else
+%.h %.cpp: %.y
+
+%.cpp: %.l
+
+endif
+
+#
+# $(call make-static-library,$1=libname,$2=libdir,$3=objects,$4=dependencies,$5=ldflags,$6=platform,$7=config)
+#
+# Defines rules for building the static library <libname> in <libdir> with the objects <objects>
+#
+define make-static-library
+$2/$(call mklibname,$1): $3
+ $(E) "Linking [$6-$7] $$@"
+ $(Q)$(MKDIR) -p $2
+ $(Q)$(call mklib,$$@,$$^,$6)
+endef
+
+# $(call install-static-library,$1=libname,$2=libdir,$3=installdir)
+define install-static-library
+$(DESTDIR)$3/$(call mklibname,$1): $2/$(call mklibname,$1) | $(DESTDIR)$3
+ $(E) "Installing $$@"
+ $(Q)$(INSTALL) $$< $(DESTDIR)$3
+endef
+
+# $(call get-static-library-targets,$1=libname,$2=libdir)
+get-static-library-targets = $2/$(call mklibname,$1)
+
+#
+# $(call make-shared-library,$1=libname,$2=libdir,$3=objects,$4=dependencies,$5=ldflags,$6=platform,$7=config)
+#
+# Defines rules for building the shared library <libname> in <libdir> with the objects <objects>
+#
+define make-shared-library
+
+$2/$(call mkshlibfilename,$1): $3
+ $(E) "Linking [$6-$7] $$@"
+ $(Q)$(MKDIR) -p $2
+ $(Q)$(call mkshlib,$$@,$(strip $3),$(call mksoname,$1),$(strip $5),$6)
+
+$2/$(call mksoname,$1): $2/$(call mkshlibfilename,$1)
+ @$(RM) $$@ ; ln -s $$(<F) $$@
+
+$2/$(call mkshlibname,$1): $2/$(call mksoname,$1)
+ @$(RM) $$@ ; ln -s $$(<F) $$@
+
+endef
+
+# $(call install-shared-library,$1=libname,$2=libdir,$3=installdir)
+define install-shared-library
+
+$(DESTDIR)$3/$(call mkshlibfilename,$1): $2/$(call mkshlibfilename,$1) | $(DESTDIR)$3
+ $(E) "Installing $$@"
+ $(Q)$(INSTALL) $$< $(DESTDIR)$3
+ $(Q)$(CHMOD) a+rx $$@
+
+$(DESTDIR)$3/$(call mksoname,$1): $(DESTDIR)$3/$(call mkshlibfilename,$1) $2/$(call mksoname,$1)
+ @$(RM) $$@ ; ln -s $$(<F) $$@
+
+$(DESTDIR)$3/$(call mkshlibname,$1): $(DESTDIR)$3/$(call mksoname,$1) $2/$(call mkshlibname,$1)
+ @$(RM) $$@ ; ln -s $$(<F) $$@
+
+endef
+
+# $(call get-shared-library-targets,$1=libname,$2=libdir)
+get-shared-library-targets = $(addprefix $2/,$(call mkshlibfilename,$1) $(call mksoname,$1) $(call mkshlibname,$1))
+
+#
+# $(call make-shared-module,$1=libname,$2=libdir,$3=objects,$4=dependencies,$5=ldflags,$6=platform,$7=config)
+#
+# Defines rules for building the shared module (this is used to build the Python/Ruby/PHP modules)
+#
+define make-shared-module
+$2/$1: $3 $4
+ $(E) "Linking [$6-$7] $$@"
+ $(Q)$(MKDIR) -p $2
+ $(Q)$(call mkshlib,$$@,$(strip $3),,$(strip $5),$6)
+endef
+
+# $(call install-shared-module,$1=libname,$2=libdir,$3=installdir)
+define install-shared-module
+$(DESTDIR)$3/$1: $2/$1 | $(DESTDIR)$3
+ $(E) "Installing $$@"
+ $(Q)$(INSTALL) $$< $(DESTDIR)$3
+ $(Q)$(CHMOD) a+rx $$@
+endef
+
+# $(call get-shared-module-targets,$1=libname,$2=libdir)
+get-shared-module-targets = $2/$1
+
+#
+# $(call make-program,$1=exename,$2=bindir,$3=objects,$4=dependencies,$5=ldflags,$6=platform,$7=config)
+#
+# Defines a rule for building the program <exename> in <bindir> with the objects <objects>
+#
+define make-program
+$2/$1$(EXE_EXT): $3 $(if $(filter static%,$7),$4)
+ $(E) "Linking [$6-$7] $$@"
+ $(Q)$(MKDIR) -p $2
+ @$(RM) $$@
+ $(Q)$(or $($6_cxx),$(CXX)) $(LDFLAGS) -o $$@ $3 $(strip $5)
+endef
+
+# $(call install-program,$1=exename,$2=bindir,$3=installdir)
+define install-program
+$(DESTDIR)$3/$1$(EXE_EXT): $2/$1$(EXE_EXT) | $(DESTDIR)$3
+ $(E) "Installing $$@"
+ $(Q)$(INSTALL) $$< $(DESTDIR)$3
+ $(Q)$(CHMOD) a+rx $$@
+endef
+
+# $(call get-program-targets,$1=exename,$2=bindir)
+get-program-targets = $2/$1$(EXE_EXT)
+
+#
+# $(call create-component-with-config-targets,$1=project,$2=component,$3=platform,$4=config,$5=comp[platform-config])
+#
+# Defines target variables for the given component/paltform/configuration
+#
+define create-component-with-config-targets
+
+#
+# Transform the dependencies to [platform-configuration] specific dependencies.
+#
+$5_dependencies = $$(foreach d,$$($2_dependencies),$$(call make-dependency,$$d,$2,$3,$4))
+
+#
+# The installation directory
+#
+ifndef $1_noinstall
+$5_installdir := $$($2_installdir)$$(call platform-var,installdir,$2,$3,$4)
+endif
+
+#
+# Compute the target rule and name for this platform/configuration combination.
+#
+$5_targetrule := $$(call platform-and-config-var,targetrule,$2,$3,$4)$$($2_target)
+$5_targetname := $$($2_targetname)$$(subst $$(space),,$$(or $$(call platform-and-config-var,targetname,$2,$3,$4)))
+
+#
+# Compute the target directory. If this is a project from src/ the target goes
+# either to the lib or bin directory instead of a sub-directory of the project.
+#
+$5_targetdir := $$($2_targetdir)
+$5_targetdir := $$($5_targetdir)$$(call platform-var,targetdir,$2,$3,$4)
+$5_targetdir := $$($5_targetdir)$$(patsubst %/,%,/$$(subst $$(space),-,$$(call config-var,targetdir,$2,$3,$4)))
+
+$5_targets := $$(call get-$$($5_targetrule)-targets,$$($5_targetname),$$($5_targetdir))
+
+#
+# We define a secondary target for component[platform-config]. This is necessary
+# to allow dependencies to be used as prerequesties. For example, objects for
+# IceSSL[osx-shared] depend on Ice[osx-shared], see make-objects.
+#
+.SECONDARY: $5
+$5: $$($5_targets)
+
+endef
+
+#
+# $(call create-component-targets,$1=project,$2=component,$3=type)
+#
+# Create the target variables for the given component.
+#
+define create-component-targets
+
+$2_target := $$(or $$($2_target),$3)
+$2_targetname := $$(or $$($2_targetname),$(patsubst $1_%,%,$2))
+$2_targetdir := $$(or $$($2_targetdir),$$($1_targetdir))
+
+$2_platforms := $$(call unique,$$(or $$($2_platforms),$$($1_platforms),$(call component-platforms,$1,$2)))
+$2_configs := $$(call unique,$$(or $$($2_configs),$$($1_configs),$(call component-configs,$1,$2)))
+
+#
+# The installation directory (install_bindir if program, install_libdir otherwise)
+#
+$2_installdir := $$(or $$($2_installdir),$$(if $$(filter program,$$($2_target)),$(install_bindir),$(install_libdir)))
+
+$$(foreach p,$$($2_platforms),\
+ $$(foreach c,$$(filter $$(or $$($$p_configs),%),$$($2_configs)),\
+ $$(eval $$(call create-component-with-config-targets,$1,$2,$$p,$$c,$2[$$p-$$c]))))
+
+$$(foreach c,$$($2_always_enable_configs),\
+ $$(if $$($2[$(build-platform)-$$c]_config),,\
+ $$(eval $$(call create-component-with-config-targets,$1,$2,$(build-platform),$$c,$2[$(build-platform)-$$c]))))
+
+endef
+
+#
+# $(call create-project-targets,$1=project)
+#
+# Creates all the target variables which are necessary to depend on the components
+# from the given project. This is used by various language mappings to depend on C++
+# components such as the translators or the C++ IceUtil or Ice libraries.
+#
+define create-project-targets
+$1_targetdir := $$(or $$($1_targetdir),$1/build)
+
+$$(foreach p,$$($1_programs),$$(eval $$(call create-component-targets,$1,$$p,program)))
+$$(foreach l,$$($1_libraries),$$(eval $$(call create-component-targets,$1,$$l,library)))
+endef
+
+#
+# $(call make-component-with-config,$1=project,$2=component,$3=platform,$4=config,$5=component[platform-config])
+#
+# Defines rules to build the given component with the given platform/configuration
+#
+define make-component-with-config
+
+$5_platform := $3
+$5_config := $4
+
+#
+# The object directory <component-objdir>/<platform-objdir>/<config-objdir>.
+# We also append the directory to the project's object directories.
+#
+$5_objdir := $$($2_objdir)
+$5_objdir := $$($5_objdir)$$(patsubst %/,%,/$$(call platform-var,objdir,$2,$3,$4))
+$5_objdir := $$($5_objdir)$$(patsubst %/,%,/$$(subst $$(space),-,$$(call config-var,objdir,$2,$3,$4)))
+$1_objdirs += $$($5_objdir)
+
+#
+# Add platform/configuration specific cppflags and ldflags.
+#
+$5_cppflags = $$($2_cppflags) $$(call platform-and-config-var,cppflags,$2,$3,$4,$5)
+$5_ldflags = $$($2_ldflags) $$(call platform-and-config-var,ldflags,$2,$3,$4,$5)
+
+#
+# Computes the list of objects to build based on the sources.
+#
+$5_objects := $$(call unique,$$(addprefix $$($5_objdir)/,$$(call source-to-object,$$($2_sources))))
+
+#
+# Order only prerequisties to ensure the object directory is created
+# before we start building the objects
+#
+$$($5_objdir)/$$(call source-to-dependency,$$($2_sources)): | $$($5_objdir)
+
+#
+# Object rules
+#
+$$(eval $$(call make-objects,$$($2_srcdir),$$($1_generated_srcdir),$$($5_objdir),\
+ $$($2_sources),$$($5_dependencies),$$($5_cppflags),$$($1_slicecompiler),$$($5_platform),$$($5_config)))
+
+#
+# Target rule
+#
+$$(eval $$(call make-$$($5_targetrule),$$($5_targetname),$$($5_targetdir),\
+ $$($5_objects),$$($5_dependencies),$$($5_ldflags),$$($5_platform),$$($5_config)))
+
+#
+# component[platform-config]_* specific targets
+#
+# NOTE: The component[platform-config] target is specified in create-component-with-config-targets
+#
+.PHONY: $5_clean $5_distclean $5_install
+
+$2:: $5
+
+$5_clean:
+ $(Q)$(RM) -r $$($5_objdir)
+ $(Q)$(RM) $$($5_targets)
+
+# Only clean if platform/configuration matches (this prevents slice2cpp from being cleaned)
+ifneq ($(and $(filter $3,$(platforms)),$(filter $4,$(configs))),)
+$2_clean:: $5_clean
+endif
+
+$5_distclean:
+ $(Q)$(RM) $$($5_targets)
+
+$2_distclean:: $5_distclean
+
+ifndef $1_noinstall
+
+ifeq ($$(filter $$($5_installdir),$$(installdirs)),)
+installdirs += $$($5_installdir)
+$(DESTDIR)$$($5_installdir):
+ $(Q)$(MKDIR) -p $$@
+endif
+
+$5_install: $$(patsubst $$($5_targetdir)/%,$(DESTDIR)$$($5_installdir)/%,$$($5_targets))
+
+$$(eval $$(call install-$$($5_targetrule),$$($5_targetname),$$($5_targetdir),$$($5_installdir)))
+
+ifneq ($$(and $$(filter $3,$$($2_install_platforms)),$$(filter $4,$$($2_install_configs))),)
+$2_install:: $5_install
+endif
+
+endif
+
+endef
+
+#
+# $(call make-component,$1=project,$2=component,$3=type)
+#
+define make-component
+
+#
+# Slice files for a given project are generated in a common generated directory. We
+# don't support generating Slice files with different compiler options for different
+# components in the same project.
+#
+# For single-component projects we allow setting the sliceflags and the component,
+# the flags are moved to the project level in this case.
+#
+ifneq ($$(and $$($2_sliceflags),$$($1_multicomp)),)
+$$(error sliceflags are not supported for $2 component in multi-component project $1)
+else ifneq ($$($2_sliceflags),)
+$1_sliceflags := $$($1_sliceflags) $$($2_sliceflags)
+$2_sliceflags :=
+endif
+
+$2_project := $1
+$2_install_platforms := $$(or $$($2_install_platforms),$$($1_install_platforms),$$($2_platforms))
+$2_install_configs := $$(or $$($2_install_configs),$$($1_install_configs),$$($2_configs))
+
+#
+#
+# If component specific cppflags are set and multiple components are configured for
+# the project, we build the component objects in a component specific directory.
+#
+# The source directory can be set at the component or project level.
+#
+$2_objdir := $$($1_objdir)$$(if $$(and $$(filter $$($1_cppflags),$$($2_cppflags)),$$($1_multicomp)),/$2)
+$2_srcdir := $$(or $$($2_srcdir),$$($1_srcdir))
+
+#
+# Combine settings set at the project and component levels.
+#
+$2_dependencies := $$(call unique,$$($2_dependencies) $$($1_dependencies))
+$2_libs := $$(call unique,$$($2_libs) $$($1_libs))
+$2_system_libs := $$($2_system_libs) $$($1_system_libs)
+$2_sliceflags := $$($2_sliceflags) $$($1_sliceflags)
+$2_cppflags := $$($2_cppflags) $$($1_cppflags)
+$2_ldflags := $$($2_ldflags) $$($1_ldflags)
+
+#
+# If we're compiling a library, we check for a ../slice/<component> directory.
+# If it exists, we assume the Slice files from this directory are public and we
+# generate the headers in include/<component>.
+#
+ifeq ($3,library)
+$2_slicedir := $$(or $$($2_slicedir),$$(if $$(wildcard $(slicedir)/$2/*.ice),$(slicedir)/$2))
+$2_includedir := $$(or $$($2_includedir),$$(if $$(wildcard $(includedir)/$2/*.h),$(includedir)/$2))
+
+ifneq ($$(filter $(includedir)/%,$$($2_includedir)),)
+# Generate headers in include/generated sub-directory instead of the include directory
+$2_generated_includedir := $$(patsubst $(includedir)/%,$(includedir)/generated/%,$$($2_includedir))
+else
+$2_generated_includedir := $$(or $$($2_generated_includedir),$$($1_generated_includedir))
+endif
+
+endif
+
+#
+# If sources are not specified for the component, we search for them in
+# the source directory and eventualy the slice directory if set.
+#
+ifeq ($$($2_sources),)
+$2_sources := $$(foreach e,$(source-extensions),$$(wildcard $$($2_srcdir)/*.$$(e)))
+ifneq ($$($2_slicedir),)
+ $2_sources += $$(wildcard $$($2_slicedir)/*.ice)
+endif
+$2_sources := $$(call unique,$$($2_sources))
+endif
+$2_sources := $$(filter-out $$(patsubst $(lang_srcdir)/%,%,$$($2_excludes)),$$($2_sources))
+
+#
+# Compute the list of slice files from the sources and gather the location
+# of the slice files.
+#
+$2_slices := $$(filter %.ice,$$($2_sources))
+$2_slicedirs := $$(call files-to-dirs,$$($2_slices),ice)
+
+#
+# Append the slice directories and slice files which are not in the
+# slice/<component> directory to the project slice directories and
+# list of slice files.
+#
+$1_slicedirs += $$(filter-out $$($2_slicedir),$$($2_slicedirs))
+$1_slices += $$(filter-out $$($2_slicedir)/%,$$($2_slices))
+
+#
+# Define slice rules for the component Slice files from $(slicedir)/<component>
+# if it exists. Rules for other slice files are specified at the project level.
+#
+ifneq ($$($2_slicedir),)
+
+# Add an order-only prerequisities on the directory to trigger its creation if it doesn't exist.
+$$($1_generated_srcdir)/$$(call source-to-dependency,$$($2_slices)): | $$($1_generated_srcdir)
+
+ifneq ($$($1_generated_includedir),$$($2_generated_includedir))
+$$($2_generated_includedir):
+ $(Q)$(MKDIR) -p $$@
+endif
+
+$$(eval $$(call make-slices,$$($2_slicedir),$$($1_generated_srcdir),$$($2_generated_includedir),$$($2_slices),\
+ $$($2_sliceflags),$$($1_slicecompiler)))
+
+$2_generated_headers := $$(call generated-to-header,$$(filter $$($2_slicedir)/%,$$($2_sources)))
+$2_generated_headers := $$(addprefix $$($2_generated_includedir)/,$$($2_generated_headers))
+$1_generated += $$($2_generated_headers)
+
+endif
+
+#
+# Define per-<platform-config> rules for this component.
+#
+$$(foreach p,$$($2_platforms),\
+ $$(foreach c,$$(filter $$(or $$($$p_configs),%),$$($2_configs)),\
+ $$(eval $$(call make-component-with-config,$1,$2,$$p,$$c,$2[$$p-$$c]))))
+
+$$(foreach c,$$($2_always_enable_configs),\
+ $$(if $$($2[$(build-platform)-$$c]_config),,\
+ $$(eval $$(call make-component-with-config,$1,$2,$(build-platform),$$c,$2[$(build-platform)-$$c]))))
+
+#
+# Component targets to build the component with the specified platforms/configurations
+#
+.PHONY: $2 $2_clean $2_distclean $2_install
+
+$2::
+$2_clean::
+$2_install::
+$2_distclean::
+
+#
+# Install public header files if building a library
+#
+ifneq ($(and $(filter library,$3),$$(filter $(includedir)/%,$$($2_includedir))),)
+$$(eval $$(call install-data-files,$$(wildcard $$($2_includedir)/*.h),$(includedir),$(install_includedir),$2_install))
+ifneq ($$($2_generated_headers),)
+$$(eval $$(call install-data-files,$$($2_generated_headers),$(includedir)/generated,$(install_includedir),$2_install))
+endif
+endif
+
+ifneq ($(filter program,$3),)
+$$(eval $$(call install-data-files,$$(wildcard $(top_srcdir)/man/man1/$2.1),$(top_srcdir)/man,$(install_mandir),$2_install))
+endif
+
+$1:: $2
+$1_clean:: $2_clean
+$1_install:: $2_install
+$1_distclean:: $2_distclean
+
+endef
+
+#
+# $(call make-project,$1=project)
+#
+define make-project
+
+$1_objdir := $$(or $$($1_objdir),$1/build)
+$1_srcdir := $$(or $$($1_srcdir),$1)
+$1_generated_srcdir := $$(or $$($1_generated_srcdir),$1/generated)
+$1_generated_includedir := $$(or $$($1_generated_includedir),$1/generated)
+
+# Is this a multi-component project?
+$1_multicomp := $(word 2,$($1_programs) $($1_libraries))
+
+#
+# Create target variables for this project.
+#
+$$(eval $$(call create-project-targets,$1))
+
+#
+# Components add slice and object directories, slice files, generated
+# header files to these variables. This is used to collect the slice
+# directories for which to generate Slice rules. The list of generated
+# header files is used to clean them.
+#
+$1_slicedirs :=
+$1_slices :=
+$1_generated :=
+$1_objdirs :=
+
+$$(foreach p,$$($1_programs),$$(eval $$(call make-component,$1,$$p,program)))
+$$(foreach l,$$($1_libraries),$$(eval $$(call make-component,$1,$$l,library)))
+
+$1_slicedirs := $$(call unique,$$($1_slicedirs))
+$1_slices := $$(call unique,$$($1_slices))
+$1_generated := $$(call unique,$$($1_generated))
+$1_objdirs := $$(call unique,$$($1_objdirs))
+
+#
+# Create object directories and generated directory if we're not cleaning.
+#
+ifeq ($(filter %clean,$(MAKECMDGOALS)),)
+
+ifneq ($$($1_objdirs),)
+$$($1_objdirs):
+ $(Q)mkdir -p $$@
+endif
+
+$$($1_generated_srcdir):
+ $(Q)mkdir -p $$@
+
+endif
+
+#
+# Rules for slice files for each of the directories where Slice files are
+# located for this project.
+#
+ifneq ($$($1_slicedirs),)
+
+# Add an order-only prerequisities on the directory to trigger its creation if it doesn't exist.
+$$($1_generated_srcdir)/$$(call source-to-dependency,$$($1_slices)): | $$($1_generated_srcdir)
+
+# Create generated include directory if different from generated source directory
+ifneq ($$($1_generated_includedir),$$($1_generated_srcdir))
+$$($1_generated_includedir):
+ $(Q)$(MKDIR) -p $$@
+endif
+
+$$(foreach d,$$($1_slicedirs),$$(eval $$(call make-slices,\
+ $$(d),$$($1_generated_srcdir),$$($1_generated_includedir),$$($1_slices),$$($1_sliceflags),$$($1_slicecompiler))))
+
+$1_generated += $$(addprefix $$($1_generated_includedir)/,$$(call generated-to-header,$$($1_slices)))
+
+endif
+
+#
+# Project targets
+#
+.PHONY: $1 $1_clean $1_install $1_distclean
+
+$1::
+
+$1_clean::
+ $(E) "Cleaning $1"
+ $$(if $$($1_cleanfiles),$(Q)$(RM) $$(addprefix $$($1_srcdir)/,$$($1_cleanfiles)))
+ $$(if $$($1_cleandirs),$(Q)$(RM) -r $$(addprefix $$($1_srcdir)/,$$($1_cleandirs)))
+
+$1_install::
+
+$1_distclean::
+ $(E) "Cleaning $1"
+ $(Q)$(RM) -r $$($1_objdir) $$($1_generated_srcdir)
+ $$(if $$($1_generated),$(Q)$(RM) $$($1_generated))
+ $$(if $$($1_cleanfiles),$(Q)$(RM) $$($1_cleanfiles))
+ $$(if $$($1_cleandirs),$(Q)$(RM) -r $$($1_cleandirs))
+
+#
+# Global targets
+#
+all:: $1
+clean:: $1_clean
+install:: $1_install
+distclean:: $1_distclean
+
+endef
+
+#
+# $(call load-dependencies,$1=projects)
+#
+# Load the given projects and create the project targets
+#
+define load-dependencies
+tmp_projects := $$(projects)
+projects :=
+
+include $(addsuffix /Makefile.mk,$1)
+
+$$(foreach p,$$(projects),$$(eval $$(call create-project-targets,$$p)))
+
+projects := $$(tmp_projects)
+endef
+
+#
+# $(call make-translator-project,$1=project)
+#
+# Defines a project for the given translator
+#
+define create-translator-project
+$1_programs := $(notdir $1)
+$1_dependencies := Slice IceUtil
+$1_cppflags := -I$1
+$1_targetdir := $(call bindir,$1)
+
+#
+# Only build the translator with the static configuration
+# and on the default platform.
+#
+$1_configs := static
+$1_platforms := $(build-platform)
+
+#
+# Defines the target extension and path of the slice translator
+# component. This is used by make-slices to create a dependency
+# on the translator for slice files.
+#
+$(notdir $1)_targetext := $$(or $$($(notdir $1)_targetext),$(patsubst slice2%,%,$(or $2,$(notdir $1))))
+$(notdir $1)_path = $$($(notdir $1)[$$(firstword $$(supported-platforms))-static]_targetdir)/$(notdir $1)
+
+projects += $(project)
+endef
+
+#
+# $(call load-translator-dependencies,$1=project)
+#
+# Define the translator project and create the project targets.
+#
+define load-translator-dependencies
+tmp_projects := $$(projects)
+projects :=
+$(call create-translator-project,$1)
+$(call create-project-targets,$1)
+projects := $$(tmp_projects)
+endef
+
diff --git a/config/Make.rules b/config/Make.rules
new file mode 100644
index 00000000000..458199a2ec9
--- /dev/null
+++ b/config/Make.rules
@@ -0,0 +1,290 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+#
+# Select an installation base directory. The directory will be created
+# if it does not exist.
+#
+prefix ?= /opt/Ice-$(version)
+
+#
+# The "root directory" for runpath embedded in executables. Can be set
+# to change the runpath added to Ice executables.
+#
+# If not set, a runpath relative to the path of the executable is
+# embedded (using @loader_path on OS X and $ORIGIN on Linux).
+#
+#embedded_runpath_prefix ?= /opt/Ice-$(mmversion)
+
+#
+# Define embedded_runpath as no if you don't want any runpath added to
+# the executables. If not set, defaults to to "yes"
+#
+#embedded_runpath ?= yes
+
+#
+# Define OPTIMIZE as yes if you want to build with optimization.
+# Otherwise Ice is build with debug information.
+#
+#OPTIMIZE = yes
+
+#
+# Default Mutex protocol: one of PrioNone or PrioInherit.
+#
+#DEFAULT_MUTEX_PROTOCOL ?= PrioNone
+
+#
+# Define PLATFORMS to the list of platforms to build. This defaults
+# to the first supported platform for this system.
+#
+# Run `make print V=supported-platforms' to see the list of supported
+# platforms on this system.
+#
+PLATFORMS ?= $(firstword $(supported-platforms))
+
+#
+# Configurations to build. This defaults to the first supported
+# configuration.
+#
+# Run `make print V=supported-configs` to see the list of supported
+# configurations.
+#
+CONFIGS ?= $(firstword $(supported-configs))
+
+# ----------------------------------------------------------------------
+# Don't change anything below this line!
+# ----------------------------------------------------------------------
+
+os ?= $(shell uname)
+
+include $(top_srcdir)/config/Make.project.rules
+include $(top_srcdir)/config/Make.tests.rules
+include $(top_srcdir)/config/Make.rules.$(os)
+
+ifeq ($(USE_BIN_DIST),yes)
+prefix := $(or $(ICE_HOME),$(if $(filter Darwin,$(os)),/usr/local,/usr))
+bindir ?= $(install_bindir)
+libdir ?= $(install_libdir)
+slicedir ?= $(install_slicedir)
+includedir ?= $(install_includedir)
+else
+bindir ?= $(call mappingdir,$(or $1,$(currentdir)),bin)
+libdir ?= $(call mappingdir,$(or $1,$(currentdir)),lib)
+slicedir ?= $(top_srcdir)/slice
+includedir ?= $(call mappingdir,$(or $1,$(currentdir)),include)
+endif
+
+srcdir ?= $(call mappingdir,$(or $1,$(currentdir)),src)
+
+usr_dir_install := $(filter /usr%,$(prefix))
+install_bindir ?= $(prefix)/bin
+install_libdir ?= $(prefix)/lib
+install_slicedir ?= $(prefix)$(if $(usr_dir_install),/share/Ice-$(version))/slice
+install_includedir ?= $(prefix)/include
+install_docdir ?= $(prefix)$(if $(usr_dir_install),/share/Ice-$(version))
+install_mandir ?= $(prefix)$(if $(usr_dir_install),/share)/man
+install_configdir ?= $(prefix)$(if $(usr_dir_install),/share/Ice-$(version),/config)
+
+version = 3.7a0
+mmversion = 3.7
+soversion = 37a0
+
+INSTALL = cp -fp
+MV = mv -f
+RM = rm -f
+MKDIR = mkdir
+CHMOD = chmod
+
+Q := $(if $(V),,@)
+E := $(if $(V),@:,@echo)
+
+#
+# 3rd party library defaults
+#
+mcpp_ldflags ?= -lmcpp
+iconv_ldflags ?= -liconv
+expat_ldflags ?= -lexpat
+bz2_ldflags ?= -lbz2
+lmdb_ldflags ?= -llmdb
+
+#
+# Languages, platforms and configurations to build
+#
+supported-languages ?= cpp java python ruby php
+supported-configs ?= shared
+
+platforms = $(if $(filter all,$(PLATFORMS)),$(supported-platforms),$(PLATFORMS))
+configs = $(if $(filter all,$(CONFIGS)),$(supported-configs),$(CONFIGS))
+languages = $(if $(filter all,$(or $(LANGUAGES),all)),$(supported-languages),$(LANGUAGES))
+build-platform := $(or $(build-platform),$(firstword $(supported-platforms)))
+
+#
+# Configuration variables
+#
+# The variables defined below are called with ($1=component,$2=platform,$3=config,$4=$1[$2-$3][,$5=subconfig])
+#
+
+# Defaults for configurations which don't override the specified variable
+config_targetdir = $(if $(filter %/build,$($1_targetdir)),$5)
+config_objdir = $5
+config_dependency = $5
+
+# Static configuration for static builds
+static_targetrule = $(if $(filter-out program,$($1_target)),static-)
+static_ldflags = $$(call unique,$$(foreach d,$$(call get-all-deps,$4),$$(call make-static-dep-ldflags,$$d)))\
+ $$(strip $$(foreach d,$$(call get-all-deps,$1) $1,$$(call make-lib-ldflags,$$d)))\
+ $$(strip $$(foreach d,$$(call get-all-deps,$1) $1,$$(call make-system-lib-ldflags,$$d)))
+
+# Shared configuration for shared builds
+shared_projects = %
+shared_objdir = $(if $(filter-out program,$($1_target)),shared/pic,shared/nopic)
+shared_targetrule = $(if $(filter-out program,$($1_target)),shared-)
+shared_cppflags = $(if $(filter-out program,$($1_target)),-fPIC)
+shared_ldflags = $$(call unique,$$(foreach d,$$($4_dependencies),$$(call make-shared-dep-ldflags,$$d,$4)))\
+ $$(strip $$(call make-lib-ldflags,$1))\
+ $$(strip $$(call make-system-lib-ldflags,$1))
+
+#
+# Platform variables
+#
+# The variables defined below are called with ($1=component,$2=platform,$3=config,$4=$1[$2-$3])
+#
+
+# Defaults for platforms which don't override the specified variable
+platform_cc ?= $(CC)
+platform_cxx ?= $(CXX)
+platform_ld ?= $(CXX)
+platform_ar ?= $(AR)
+platform_objdir ?= $2
+platform_targetdir ?= /$2
+platform_installdir ?=
+platform_dependency ?= $2
+
+# The projects and tests variable are used to load projects/tests in Makefile.mk fragments
+projects :=
+tests :=
+
+#
+# Global targets
+#
+.PHONY: all
+all::
+
+.PHONY: clean
+clean::
+
+.PHONY: distclean
+distclean::
+
+.PHONY: install
+install::
+
+#
+# Rule to view the value of a variable (e.g.: make debug V=Ice_sources to print out the variable Ice_sources).
+#
+print:
+ $(foreach v,$(filter $(V),$(.VARIABLES)),$(warning $v = $($v)))
+
+#
+# Helper functions
+#
+dirname = $(patsubst %/,%,$(if $(findstring /,$1),$(dir $1)))
+currentdir = $(call dirname,$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)))
+unique = $(strip $(if $1,$(firstword $1) $(call unique,$(filter-out $(firstword $1),$1))))
+files-to-dirs = $(call unique,$(call dirname,$(filter $(if $2,$(addprefix %.,$2),%),$1)))
+
+empty :=
+space := $(empty) $(empty)
+comma := ,
+
+mappingdir2 = $(if $(filter ../%,$1),$(call mappingdir2,$(patsubst ../%,%,$1)),$(firstword $(subst /, ,$1)))
+mappingdir = $(patsubst $(lang_srcdir)/%,%,$(if $(filter-out ../%,$1),$2,$(top_srcdir)/$(call mappingdir2,$1)/$2))
+
+#
+# $(call make-dependency,$1=dependency,$2=component,$3=platform,$4=config)
+#
+# Computes dependency[config-platform] for given component.
+#
+make-dependency = $1[$(subst $(space),-,$(call platform-and-config-var,dependency,$2,$3,$4))]
+
+#
+# Get direct and transitive dependencies
+#
+# $(call get-all-deps,component)
+#
+get-all-deps = $(call unique,$(if $($1_dependencies),\
+ $(foreach d,$($1_dependencies),$d $(call get-all-deps,$d)),$1))
+
+#
+# Helpers to compute ldflags for dependencies, libraries and system libraries
+#
+rpath-ldflag ?= -Wl,-rpath,$1
+
+ifneq ($(embedded_runpath),no)
+ifeq ($(embedded_runpath_prefix),)
+#
+# Add rpath relative to the path of the loader if linking with library from different directory.
+#
+make-rpath-ldflag = $(if $(filter-out $1,$2),\
+ $(if $(filter /%,$1),\
+ $(call rpath-ldflag,$1),\
+ $(call rpath-ldflag,$(loader_path)/$(call relpathfromdir,$(patsubst $(lang_srcdir)/%,%,$2))/$1)))
+make-shared-dep-ldflags = $(call make-rpath-ldflag,$($1_targetdir),$($2_targetdir)) -L$($1_targetdir) -l$($1_targetname)
+else
+#
+# Add rpath with $(embedded_runpath_prefix) if linking with library installed in different directory.
+#
+make-rpath-ldflag = $(if $(filter-out $1,$2),$(call rpath-ldflag,$(patsubst $(prefix)/%,$(embedded_runpath_prefix)/%,$1)))
+make-shared-dep-ldflags = $(call make-rpath-ldflag,$($1_installdir),$($2_installdir)) -L$($1_targetdir) -l$($1_targetname)
+endif
+else
+make-shared-dep-ldflags = -L$($1_targetdir) -l$($1_targetname)
+endif
+
+make-static-dep-ldflags = $($1_targetdir)/$(call mklibname,$($1_targetname))
+make-lib-ldflags = $(foreach l,$($1_libs),$($l_ldflags))
+make-system-lib-ldflags = $($1_system_libs)
+
+#
+# $(call repathfromdir,path), returns reversed relative path for directory (e.g.: test/Ice/operations
+# is transformed to ../../..). This is used for rpath computations.
+#
+relpathfromdir = $(if $(findstring /,$1),$(call relpathfromdir,$(call dirname,$1))/..,..)
+
+#
+# $(call platform-and-config-var,$1=variable,$2=component,$3=platform,$4=configuration)
+#
+# Check for platform and configuration specific variable. For example, if variable
+# is `objdir', for the configuration `cpp11-static' and the `osx' platform, the
+# resulting value will be: $(osx_objdir) $(cpp11_objdir) $(static_objdir).
+#
+# The configuration value is decomposed based on the dash character and the value
+# of each individual configurations is recomposed with a dash (so for the config
+# cfg1-cfg2-...-cfgN, we return the value $(cfg1_VAR) $(cfg2_VAR) ... $(cfgN_VAR)
+# for the variable VAR).
+#
+# This also supports default value for platform/configuration variables. So if
+# osx_objdir isn't defined, we'll use the default value platform_objdir.
+#
+var-or-dflt = $(call $(if $(filter undefined,$(origin $1)),$2,$1),$3,$4,$5,$6,$7)
+platform-var = $(strip $(foreach c,$3,$(call var-or-dflt,$c_$1,platform_$1,$2,$3,$4,$5)))
+config-var = $(strip $(foreach c,$(subst -,$(space),$4),$(call var-or-dflt,$c_$1,config_$1,$2,$3,$4,$5,$c)))
+platform-and-config-var = $(strip $(platform-var) $(config-var))
+
+#
+# Functions to transform a list of source filenames to generated source/header, object or dependency filenames.
+# 
+generated-extensions := ice $(if $(filter yes,$(BISON_FLEX)),y l)
+source-extensions := ice y l cpp m mm
+
+generated-to-source = $(notdir $(foreach ext,$(generated-extensions),$(patsubst %.$(ext),%.$2,$(filter %.$(ext),$1))))
+generated-to-header = $(notdir $(foreach ext,$(generated-extensions),$(patsubst %.$(ext),%.h,$(filter %.$(ext),$1))))
+source-to-object = $(notdir $(foreach ext,$(source-extensions),$(patsubst %.$(ext),%.o,$(filter %.$(ext),$1))))
+source-to-dependency = $(patsubst %,%.d,$(notdir $1))
+
diff --git a/config/Make.rules.Darwin b/config/Make.rules.Darwin
new file mode 100644
index 00000000000..266157270f2
--- /dev/null
+++ b/config/Make.rules.Darwin
@@ -0,0 +1,69 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+supported-platforms = osx iphoneos iphonesimulator
+supported-languages = cpp java python ruby php objective-c
+
+osx_ar = libtool
+osx_cppflags = -mmacosx-version-min=10.9 -arch x86_64
+osx_ldflags = $(osx_cppflags)
+osx_targetdir = $(if $(filter %/build,$($1_targetdir)),/osx)
+
+iphoneos_ar = libtool
+iphoneos_cc = xcrun -sdk iphoneos clang
+iphoneos_cxx = xcrun -sdk iphoneos clang++
+iphoneos_cppflags = -miphoneos-version-min=7.1 -arch armv7 -arch armv7s -arch arm64
+iphoneos_ldflags = $(iphoneos_cppflags)
+iphoneos_configs = xcodesdk
+iphoneos_projects = src/%
+
+iphonesimulator_ar = libtool
+iphonesimulator_cc = xcrun -sdk iphonesimulator clang
+iphonesimulator_cxx = xcrun -sdk iphonesimulator clang++
+iphonesimulator_cppflags = -mios-simulator-version-min=7.1 -arch i386 -arch x86_64
+iphonesimulator_ldflags = $(iphonesimulator_cppflags)
+iphonesimulator_configs = xcodesdk
+iphonesimulator_projects = src/%
+
+CXXFLAGS += -fvisibility=hidden -Wall -Werror -pthread
+
+ifeq ($(MAXWARN),yes)
+ CXXFLAGS += -Wextra -Wshadow -Wredundant-decls
+endif
+
+ifeq ($(OPTIMIZE),yes)
+ CXXFLAGS += -O2 -DNDEBUG
+else
+ CXXFLAGS += -g
+endif
+
+loader_path = @loader_path
+
+mklib = $(or $($3_ar),$(AR)) -static -no_warning_for_no_symbols -o $1 $2
+mkshlib = $(or $($5_cxx),$(CXX)) -dynamiclib $(LDFLAGS) -o $1 $(if $3,-install_name @rpath/$3) $2 $4
+
+mklibname = lib$(1).a
+mksoname = lib$(1).$(soversion).dylib
+mkshlibfilename = lib$(1).$(version).dylib
+mkshlibname = lib$(1).dylib
+
+mkpymodulename = $1.so
+mkrbmodulename = $1.bundle
+mkphpmodulename = $1.dy
+
+#
+# System libraries
+#
+ICEUTIL_OS_LIBS =
+ICE_OS_LIBS = -ldl
+CRYPT_OS_LIBS = -framework Security -framework CoreFoundation
+SSL_OS_LIBS = $(CRYPT_OS_LIBS)
+
+# clean::
+# rm -f *.keychain *.fl*
diff --git a/config/Make.rules.Linux b/config/Make.rules.Linux
new file mode 100644
index 00000000000..cb8aca13841
--- /dev/null
+++ b/config/Make.rules.Linux
@@ -0,0 +1,105 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+linux_id = $(shell . /etc/os-release && echo $${ID})
+
+is-bin-program = $(and $(filter-out %/build,$($1_targetdir)),$(filter $($1_target),program))
+
+ifneq ($(filter centos rhel fedora,$(linux_id)),)
+
+#
+# MultiLib Linux (x64 libraries go in the lib64 directory, x86 executable names are suffixed with 32)
+#
+supported-platforms = x64 x86
+multilib-platform = yes
+
+x64_cppflags = -m64
+x64_ldflags = $(x64_cppflags)
+x64_targetdir = $(if $(filter %/build,$($1_targetdir)),/x64,$(if $(filter-out $($1_target),program),64))
+x64_installdir = $(if $(and $(filter-out $($1_target),program),$(filter-out %64,$($1_installdir))),64)
+
+x86_cppflags = -m32
+x86_ldflags = $(x86_cppflags)
+x86_targetdir = $(if $(filter %/build,$($1_targetdir)),/x86)
+x86_targetname = $(if $(call is-bin-program,$1),32)
+
+else ifneq ($(filter debian ubuntu,$(linux_id)),)
+
+#
+# MultiArch Linux (libraries are installed in lib/<arch>, executables are installed in bin/<arch>
+# except for the build architecture where executables are installed in bin/).
+#
+build-platform ?= $(shell dpkg --print-architecture)
+foreign-platforms ?= $(shell dpkg --print-foreign-architectures)
+
+supported-platforms = $(build-platform) $(foreign-platforms)
+
+dpkg-arch = $(shell dpkg-architecture -f -a$1 -q$2 2> /dev/null)
+
+# $(call make-platform-config,$1=platform)
+define make-platform-config
+$1_gnu_type = $(call dpkg-arch,$1,DEB_HOST_GNU_TYPE)
+$1_multiarch = $(call dpkg-arch,$1,DEB_HOST_MULTIARCH)
+
+$1_cc = $$($1_gnu_type)-gcc
+$1_cxx = $$($1_gnu_type)-g++
+$1_libtool = $$($1_gnu_type)-ar
+$1_targetdir = /$$($1_multiarch)
+$1_installdir = /$$($1_multiarch)
+$1_installdir = $$(if $$(and $(call is-bin-program,$1),$(usr_dir_install)),,/$$($1_multiarch))
+
+$1_excludes = $(if $(filter-out $1,$(build-platform)),Slice)
+endef
+
+$(foreach p,$(supported-platforms),$(eval $(call make-platform-config,$p)))
+
+# For the build platform architecture, build and install executables in bin, libraries in lib/<arch>
+$(build-platform)_targetdir = $(if $(call is-bin-program,$1),,/$($(build-platform)_multiarch))
+$(build-platform)_installdir = $(if $(call is-bin-program,$1),,/$($(build-platform)_multiarch))
+
+else
+
+#
+# Single architecture Linux
+#
+
+supported-platforms = default
+
+endif
+
+CXXFLAGS += -fvisibility=hidden -Wall -Werror -pthread
+LDFLAGS += -pthread
+
+ifeq ($(MAXWARN),yes)
+ CXXFLAGS += -Wextra -Wshadow -Wredundant-decls
+endif
+
+ifeq ($(OPTIMIZE),yes)
+ CXXFLAGS += -O2 -DNDEBUG
+else
+ CXXFLAGS += -g
+endif
+
+loader_path = \$$ORIGIN
+
+mklib = $(or $($3_ar),$(AR)) cr $1 $2
+mkshlib = $(or $($5_cxx),$(CXX)) -shared $(LDFLAGS) -o $1 $(if $3,-Wl$(comma)-h$(comma)$3) $2 $4
+
+mklibname = lib$(1).a
+mksoname = lib$(1).so.$(soversion)
+mkshlibfilename = lib$(1).so.$(version)
+mkshlibname = lib$(1).so
+
+# Clear the iconv ldflags, iconv is part of libc on Linux
+iconv_ldflags :=
+
+ICEUTIL_OS_LIBS = -lrt -lcrypto
+ICE_OS_LIBS = -ldl
+CRYPT_OS_LIBS = -lcrypt
+SSL_OS_LIBS = -lssl -lcrypto
diff --git a/config/Make.tests.rules b/config/Make.tests.rules
new file mode 100644
index 00000000000..b747c1cef48
--- /dev/null
+++ b/config/Make.tests.rules
@@ -0,0 +1,90 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+#
+# $(call test,[$1])
+#
+# Returns the test project name (./test/Ice/operations -> test/Ice/operations)
+#
+test = $(patsubst $(lang_srcdir)/%,%,$(if $1,$1,$(currentdir)))
+
+#
+# $(call test-sources,$1=sources,$2=dir,$3=main-src extra-srcs)
+#
+# Returns sources if set, otherwise if main-src exists return main-src + extra-srcs, if it
+# doesn't exist, returns an empty value.
+#
+test-sources = $(call unique,$(if $1,$(foreach f,$1,$(notdir $(wildcard $2/$f))),\
+ $(if $(wildcard $2/$(firstword $3)),$(foreach f,$3,$(notdir $(wildcard $2/$f))))))
+
+#
+# The test executables to try to build in each test directory
+#
+test-programs = client server serveramd collocated
+
+#
+# The default test sources for each test executable.
+#
+test-client-sources = Client.$1 *Test.ice AllTests.$1
+test-server-sources = Server.$1 *Test.ice TestI.$1
+test-serveramd-sources = ServerAMD.$1 *TestAMD.ice TestAMDI.$1
+test-collocated-sources = Collocated.$1
+
+#
+# $(call make-test,test)
+#
+# Defines a project for the given test.
+#
+# The following variables can be defined to customize the build of the test:
+#
+# <name>_cleandirs
+# <name>_clean
+# <name>_bindir
+# <name>_libdir
+# <name>_sliceflags
+# <name>_cppflags
+# <name>_dependencies
+# <name>_programs
+# <name>_libraries
+#
+# The following variables allows to specify per-target (program or library) configuration
+#
+# <name>_<target>_sources
+# <name>_<target>_sources
+#
+define make-test
+
+$1_srcdir := $1
+$1_programs := $$(or $$($1_programs),$(test-programs))
+$1_noinstall := 1
+
+$1_client_sources := $$(call test-sources,$$(call $1_client_sources,$$($1_srcext)),$$($1_srcdir),\
+ $$(call test-client-sources,$$($1_srcext)))
+
+$1_server_sources := $$(call test-sources,$$(call $1_server_sources,$$($1_srcext)),$$($1_srcdir),\
+ $$(call test-server-sources,$$($1_srcext)))
+
+$1_serveramd_sources := $$(call test-sources,$$(call $1_serveramd_sources,$$($1_srcext)),$$($1_srcdir),\
+ $$(call test-serveramd-sources,$$($1_srcext)))
+
+$1_collocated_sources := $$(call test-sources,$$(call $1_collocated_sources,$$($1_srcext)),$$($1_srcdir),\
+ $$(call test-collocated-sources,$$($1_srcext)) \
+ $$(filter-out Server.$$($1_srcext) Client.$$($1_srcext),\
+ $$(notdir $$($1_client_sources) $$($1_server_sources))))
+
+$1_programs := $$(foreach p,$$($1_programs),$$(if $$($1_$$(p)_sources),$1_$$(p)))
+
+$$(foreach m,$$($1_programs) $$($1_libraries),$$(eval $$m_sources := $$(addprefix $$($1_srcdir)/,$$($$m_sources))))
+
+projects += $(project)
+
+endef
+
+tests-without-project-makefile = $(foreach d,$(patsubst %/run.py,%,$(shell find $(lang_srcdir)/test -name run.py)),\
+ $(if $(wildcard $d/Makefile.mk),,$(call test,$d)))
diff --git a/cpp/Makefile b/cpp/Makefile
index 2f0e080c2ce..e02f7af5ce9 100644
--- a/cpp/Makefile
+++ b/cpp/Makefile
@@ -7,53 +7,29 @@
#
# **********************************************************************
-top_srcdir = .
+top_srcdir := ..
+lang_srcdir := $(top_srcdir)/cpp
include $(top_srcdir)/config/Make.rules
+include $(lang_srcdir)/config/Make.rules
-SUBDIRS = config src include
-
-ifneq ($(MAKECMDGOALS),install)
- SUBDIRS := $(SUBDIRS) test
-endif
-
-INSTALL_SUBDIRS = $(install_bindir) $(install_libdir)$(cpp11libdirsuffix) $(install_includedir) \
- $(install_configdir) $(install_mandir)
+#
+# Create projects for all the Slice translators from src/slice2* and load source projects.
+#
+projects :=
+$(foreach t,$(wildcard $(lang_srcdir)/src/slice2*),$(eval $(call create-translator-project,$(call project,$t))))
+include $(shell find $(lang_srcdir)/src -name Makefile.mk)
+$(foreach p,$(projects),$(eval $(call make-cpp-src-project,$(p)))) # Make the source projects.
-install:: install-common
- @for subdir in $(INSTALL_SUBDIRS); \
- do \
- if test ! -d $(DESTDIR)$$subdir ; \
- then \
- echo "Creating $(DESTDIR)$$subdir..." ; \
- mkdir -p $(DESTDIR)$$subdir ; \
- chmod a+rx $(DESTDIR)$$subdir ; \
- fi ; \
- done
-ifeq ($(create_runpath_symlink),yes)
- @if test -h $(embedded_runpath_prefix) ; \
- then \
- if `\rm -f $(embedded_runpath_prefix) 2>/dev/null`; \
- then echo "Removed symbolic link $(embedded_runpath_prefix)"; fi \
- fi
- @if ! test -d $(embedded_runpath_prefix) ; \
- then \
- if `ln -s $(prefix) $(embedded_runpath_prefix) 2>/dev/null`; \
- then echo "Created symbolic link $(embedded_runpath_prefix) --> $(prefix)"; fi \
- fi
-endif
+#
+# Now, create and load test projects.
+#
+projects :=
+tests := $(tests-without-project-makefile)
+include $(shell find $(lang_srcdir)/test -name Makefile.mk)
+$(foreach t,$(tests),$(eval $(call create-cpp-test-project,$(t))))
+$(foreach p,$(projects),$(eval $(call make-cpp-test-project,$(p)))) # Make the test projects.
-$(EVERYTHING)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
+install:: | $(DESTDIR)$(install_configdir)
+ $(Q)$(INSTALL) $(lang_srcdir)/config/templates.xml $(DESTDIR)$(install_configdir)
-ifeq ($(CPP11_MAPPING),yes)
-test::
- @python $(top_srcdir)/allTests.py --c++11
-else
-test::
- @python $(top_srcdir)/allTests.py
-endif \ No newline at end of file
diff --git a/cpp/bin/.gitignore b/cpp/bin/.gitignore
deleted file mode 100644
index 39af5887579..00000000000
--- a/cpp/bin/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-# Dummy file, so that git retains this otherwise empty directory.
diff --git a/cpp/config/Make.rules b/cpp/config/Make.rules
index 1c573e40246..0a2290f8ace 100644
--- a/cpp/config/Make.rules
+++ b/cpp/config/Make.rules
@@ -7,474 +7,132 @@
#
# **********************************************************************
-#
-# Select an installation base directory. The directory will be created
-# if it does not exist.
-#
-prefix ?= /opt/Ice-$(VERSION)
-
-#
-# Define OPTIMIZE as yes if you want to build with
-# optimization. Otherwise Ice is build with debug information.
-#
-#OPTIMIZE = yes
-
-#
-# The "root directory" for runpath embedded in executables. Can be set
-# to change the runpath added to Ice executables. The default is
-# platform dependent (Linux only, on OS X the embedded runpath is
-# always @loader_path/../lib).
-#
-#embedded_runpath_prefix ?= /opt/Ice-$(VERSION_MAJOR).$(VERSION_MINOR)
-
-#
-# Define create_runpath_symlink as yes if you would like 'make install'
-# to automatically create a symbolic link for the embedded runpath
-# directory. Only applies if embedded_runpath_prefix is also set.
-#
-create_runpath_symlink ?= no
-
-#
-# Define embedded_runpath as no if you don't want any RPATH added to
-# the executables (Linux only, on OS X we always add a runpath).
-#
-embedded_runpath ?= yes
-
-#
-# Define new_dtags as yes if you want the linker to enable the new style
-# dtags, this will cause the linker to add a runpath entry instead of
-# a rpath entry. This only aplly to gcc builds on linux
-#
-new_dtags ?= no
-
-#
-# Define LP64 as yes or no if you want force a 32 or 64 bit. The
-# default is platform-dependent. This property has no effect on
-# OS X. On OS X, use CXXARCHFLAGS bellow to establish the build
-# architectures.
-#
-#LP64 ?= yes
-
-#
-# The build architectures for gcc/llvm based builds. The format of
-# these build flags are OS dependent. For example, under OS X to
-# build binaries which support both i386 and x86_64 you would use
-# "-arch i386 -arch x86_64". The default is OS version dependent. Be
-# aware that this value may conflict with the setting of LP64 above.
-#
-#CXXARCHFLAGS = -arch i386 -arch x86_64
+# ----------------------------------------------------------------------
+# Don't change anything below this line!
+# ----------------------------------------------------------------------
-#
-# Define USE_READLINE as yes if you want to build parts of Ice using
-# readline on platforms where readline is available (see
-# PLATFORM_HAS_READLINE in Make.rules.$(UNAME))
-#
-# readline is used by a number of Ice admin programs to provide
-# command history, an optional feature.
-#
-# readline is licensed by the Free Software Foundation under the GNU
-# Public License v2, and cannot be combined with GPL-incompatible
-# software in any program. In particular the OpenSSL license is
-# GPL-incompatible.
-#
-# If you combine Ice with more GPL-incompatible software, or have
-# licensed Ice under a commercial (non-GPL) license, you should ponder
-# the licensing implications of using readline.
-#
-USE_READLINE ?= no
+-include $(lang_srcdir)/config/Make.rules.$(os)
#
-# If libbzip2 is not installed in a standard location where the
-# compiler can find it, set BZIP2_HOME to the bzip2 installation
-# directory.
+# Supported configurations
#
-#BZIP2_HOME ?= /opt/bzip2
+supported-configs = shared static cpp11-shared cpp11-static
#
-# If Berkeley DB is not installed in a standard location where the
-# compiler can find it, set DB_HOME to the Berkeley DB installation
-# directory.
+# Define which projects to build for the different configurations.
#
-#DB_HOME ?= /opt/db
-#
-# If expat is not installed in a standard location where the compiler
-# can find it, set EXPAT_HOME to the expat installation directory.
-#
-#EXPAT_HOME ?= /opt/expat
+coreandstub_components = IceUtil \
+ Ice \
+ IceSSL \
+ IceDiscovery \
+ IceLocatorDiscovery \
+ Glacier2 \
+ IceStorm \
+ IceGrid \
+ IceBox \
+ IcePatch2
-#
-# If OpenSSL is not installed in a standard location where the
-# compiler can find it, set OPENSSL_HOME to the OpenSSL installation
-# directory.
-#
-#OPENSSL_HOME ?= /opt/openssl
+# Add the Bluetooth transport for Debian/Ubuntu
+ifneq ($(filter debian ubuntu,$(linux_id)),)
+coreandstub_components += IceXML IceBT
+endif
#
-# If MCPP is not installed in a standard location where the compiler
-# can find it, set MCPP_HOME to the Mcpp installation directory.
+# Build all the projects with the shared configuration
#
-#MCPP_HOME ?= /opt/mcpp
+shared_projects = %
#
-# If LMDB is not installed in a standard location where the compiler
-# can find it, set LMDB_HOME to the LMDB installation directory.
+# Build only few components with the static configuration (core and stubs)
#
-#LMDB_HOME ?= /opt/lmdb
+static_components = $(coreandstub_components)
+static_projects = test/%
#
-# If libiconv is not installed in a standard location where the compiler
-# can find it, set ICONV_HOME to the libiconv installation directory.
+# Components and projects which are built with C++11
#
-#ICONV_HOME ?= /opt/libiconv
+cpp11_components = $(coreandstub_components) icebox
-#
-# If readline is not installed in a standard location where the
-# compiler can find it, AND you want to use readline, set
-# READLINE_HOME to the readline installation directory.
-#
-#READLINE_HOME ?= /opt/readline
+cpp11_projects = test/Common \
+ test/IceUtil/% \
+ test/Slice/% \
+ test/Ice/% \
+ test/IceSSL/% \
+ test/IceDiscovery/% \
+ test/IceBox/%
-#
-# Generate position independent code unless GENPIC is set to no
-#
-#GENPIC ?= yes
+cpp11_excludes = IcePatch2 \
+ test/Ice/optional \
+ test/Ice/gc \
+ test/Ice/custom \
+ test/Ice/echo
#
-# Default Mutex protocol: one of PrioNone or PrioInherit.
+# If building on a Linux multilib platform, we restrict what we build for
+# the 32-bits architecture. We basically, build the same set of components
+# as C++11 (libraries and icebox executable).
#
-#DEFAULT_MUTEX_PROTOCOL ?= PrioNone
+ifeq ($(multilib-platform),yes)
+x86_components = $(coreandstub_components) IceDB IceStormService icebox
+x86_projects = test/%
+endif
#
-# Define CPP11_MAPPING as yes if you want to build the new moderm C++11
-# mapping.
-#
-#CPP11_MAPPING ?= yes
-
-# ----------------------------------------------------------------------
-# Don't change anything below this line!
-# ----------------------------------------------------------------------
-
+# C++11 configuration to build the C++11 mapping.
#
-# Compile scanner and grammar files?
+# Appends cpp11 to the configuration directory name. If we are building the
+# target outside the component build directory, we also append the ++11
+# suffix to the targetname. This is for example how icebox is compiled as
+# icebox++11 when compiled with the C++11 configuration. We also don't add
+# the cpp11 name to the target directory if building outside the build
+# directory.
#
-#BISON_FLEX ?= yes
+cpp11_cppflags = -DICE_CPP11_MAPPING -std=c++11
+cpp11_targetname = $(if $(filter-out %/build,$($1_targetdir)),++11)
+cpp11_targetdir = $(if $(filter %/build,$($1_targetdir)),cpp11)
#
-# Common definitions
+# Create top-level include/config dir
#
-ice_language = cpp
-ifneq ($(shell test "$(USE_BIN_DIST)" != "yes" -a -d $(top_srcdir)/../$(ice_language) && echo 0),0)
- slice_translator = slice2cpp
- ice_require_cpp = 1
-endif
-
-ifeq ($(CPP11_MAPPING),yes)
- CPPFLAGS += -DICE_CPP11_MAPPING
-endif
-
-ifeq ($(shell test -f $(top_srcdir)/config/Make.common.rules && echo 0),0)
- include $(top_srcdir)/config/Make.common.rules
-else
- include $(top_srcdir)/../config/Make.common.rules
-endif
-
-bindir = $(top_srcdir)/bin
-libdir = $(top_srcdir)/$(libsubdir)
-headerdir = $(top_srcdir)/include
+$(DESTDIR)$(install_includedir) $(DESTDIR)$(install_configdir):
+ $(Q)$(MKDIR) $@
#
-# includedir is not handled the same as bindir and libdir
-# because it is used in the .depend files
+# $(call make-cpp-src-project,$1=project)
#
-ifdef ice_src_dist
-includedir = $(top_srcdir)/include
+define make-cpp-src-project
+ifeq ($(USE_BIN_DIST),yes)
+$(create-project-targets)
else
-includedir = $(ice_dir)/include
+$1_slicecompiler := slice2cpp
+$1_sliceflags += --ice -I$(slicedir)
+$1_cppflags += -Isrc -I$(includedir) -I$(includedir)/generated -I$1/generated
+$(make-project)
+srcs:: $1
endif
+endef
#
-# Platform specific definitions
+# $(call make-cpp-test-project,$1=project)
#
-include $(top_srcdir)/config/Make.rules.$(UNAME)
-
-install_includedir := $(prefix)/include
-install_bindir := $(prefix)/$(binsubdir)$(cpp11suffix)
-install_libdir := $(prefix)/$(libsubdir)$(cpp11suffix)
-
-ifndef usr_dir_install
-install_mandir := $(prefix)/man/man1
-install_configdir := $(prefix)/config
-else
-install_configdir := $(prefix)/share/Ice-$(VERSION)
-install_mandir := $(prefix)/share/man/man1
-endif
-
-ifeq ($(DEFAULT_MUTEX_PROTOCOL), PrioInherit)
- ICEUTIL_FLAGS = -DICE_PRIO_INHERIT
-endif
-
-OPENSSL_FLAGS += $(if $(OPENSSL_HOME),-I$(OPENSSL_HOME)/include)
-ifeq ($(OPENSSL_LIBS),)
- OPENSSL_LIBS = $(if $(OPENSSL_HOME),-L$(OPENSSL_HOME)/$(libsubdir)) -lssl -lcrypto
-endif
-OPENSSL_RPATH_LINK = $(if $(OPENSSL_HOME),$(call rpathlink,$(OPENSSL_HOME)/$(libsubdir)))
-
-ifeq ($(SSL_OS_LIBS),)
- SSL_OS_LIBS = $(OPENSSL_LIBS)
-endif
-
-ifneq ($(UNAME),MINGW)
-ifneq ($(BZIP2_HOME),)
- BZIP2_FLAGS = -I$(BZIP2_HOME)/include)
-endif
-ifeq ($(BZIP2_LIBS),)
- BZIP2_LIBS = $(if $(BZIP2_HOME),-L$(BZIP2_HOME)/$(libsubdir)) -lbz2
-endif
-BZIP2_RPATH_LINK = $(if $(BZIP2_HOME),$(call rpathlink,$(BZIP2_HOME)/$(libsubdir)))
-endif
-
-ifeq ($(ICONV_LIBS),)
- ICONV_LIBS = $(if $(ICONV_HOME),-L$(ICONV_HOME)/$(libsubdir)) $(ICONV_LIB)
+define make-cpp-test-project
+$1_slicecompiler := slice2cpp
+$1_sliceflags := -I$(slicedir) $$($1_sliceflags)
+$1_cppflags := -I$(includedir) -Itest/include -I$1 -I$1/generated $$($1_cppflags)
+ifneq ($(USE_BIN_DIST),yes)
+$1_cppflags += -I$(includedir)/generated
endif
-ifneq ($(DB_HOME),)
- DB_FLAGS = -I$(DB_HOME)/include
- ifeq ($(DB_LIBS),)
- DB_LIBS = -L$(DB_HOME)/$(libsubdir) -ldb_cxx
- endif
- DB_RPATH_LINK = $(call rpathlink,$(DB_HOME)/$(libsubdir))
-else
- ifeq ($(shell if [ -d /usr/include/db53 -a -d /usr/$(libsubdir)/db53 ] ; then echo yes; fi), yes)
- DB_FLAGS = -I/usr/include/db53
- DB_LIBS = -L/usr/$(libsubdir)/db53 -ldb_cxx
- else
- ifeq ($(shell if [ -d /usr/local/include/db53 -a -d /usr/local/$(libsubdir)/db53 ] ; then echo yes; fi), yes)
- DB_FLAGS = -I/usr/local/include/db53
- DB_LIBS = -L/usr/local/$(libsubdir)/db53 -ldb_cxx
- else
- DB_LIBS = -ldb_cxx
- endif
- endif
-endif
-
-EXPAT_FLAGS = $(if $(EXPAT_HOME),-I$(EXPAT_HOME)/include)
-ifeq ($(EXPAT_LIBS),)
- EXPAT_LIBS = $(if $(EXPAT_HOME),-L$(EXPAT_HOME)/$(libsubdir)) -lexpat
-endif
-EXPAT_RPATH_LINK = $(if $(EXPAT_HOME),$(call rpathlink,$(EXPAT_HOME)/$(libsubdir)))
-
-LMDB_FLAGS = $(if $(LMDB_HOME),-I$(LMDB_HOME)/include)
-ifeq ($(LMDB_LIBS),)
- LMDB_LIBS = $(if $(LMDB_HOME),-L$(LMDB_HOME)/lib) -llmdb
-endif
-LMDB_RPATH_LINK = $(if $(LMDB_HOME),$(call rpathlink,$(LMDB_HOME)/lib))
-
-ifeq ($(MCPP_LIBS),)
- ifeq ($(MCPP_HOME),)
- #
- # If libmcpp.a is in the third-party subdirectory, we are building the core C++ distribution
- # and we used that mcpp package.
- #
- ifneq ($(wildcard ../../../third-party/mcpp/lib/libmcpp.a),)
- MCPP_HOME = ../../../third-party/mcpp
- endif
- endif
- MCPP_LIBS = $(if $(MCPP_HOME),-L$(MCPP_HOME)/$(libsubdir)) -lmcpp
-endif
-
-ifeq ($(PLATFORM_HAS_READLINE),yes)
- ifeq ($(USE_READLINE),yes)
- READLINE_FLAGS = -DHAVE_READLINE $(if $(READLINE_HOME),-I$(READLINE_HOME)/include)
- READLINE_LIBS = $(if $(READLINE_HOME),-L$(READLINE_HOME)/$(libsubdir)) -lreadline
- endif
-endif
-
-ICECPPFLAGS = -I$(slicedir)
-
-SLICE2CPPFLAGS = $(ICECPPFLAGS)
-
-ifeq ($(ice_dir), $(usr_dir))
- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS)
- ifeq ($(CPP11_MAPPING),yes)
- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11libdirsuffix)
- endif
-else
- CPPFLAGS += -I$(includedir)
- ifdef ice_src_dist
- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)$(cpp11libdirsuffix)
- else
- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11libdirsuffix)
- endif
-endif
-
-ifeq ($(FLEX_NOLINE),yes)
- FLEXFLAGS := -L
-else
- FLEXFLAGS :=
-endif
-
-ifeq ($(BISON_NOLINE),yes)
- BISONFLAGS := -dvtl
-else
- BISONFLAGS := -dvt
-endif
-
-ifeq ($(mkshlib),)
- $(error You need to define mkshlib in Make.rules.$(UNAME))
-endif
-
-ifeq ($(mktestname),)
- mktestname = $(1)$(EXE_EXT)
-endif
-
-ifeq ($(mktest),)
- mktest = $(CXX) $(LDFLAGS) $(if $(findstring -lTestCommon,$(3)),$(LDTESTEXEFLAGS),$(LDEXEFLAGS)) -o $(@) $(2) $(3)
-endif
-
-ifdef ice_src_dist
-ifeq ($(STATICLIBS),yes)
- SLICEPARSERLIB =
-else
- SLICEPARSERLIB = $(libdir)/$(call mklibfilename,Slice,$(VERSION))
-endif
- SLICE2CPP = $(bindir)/slice2cpp
-else
- SLICEPARSERLIB = $(ice_dir)/$(libsubdir)/$(subst $(cpp11libsuffix),,$(call mksoname,Slice))
- ifeq ($(wildcard $(SLICEPARSERLIB)),)
- SLICEPARSERLIB = $(ice_dir)/$(lib64subdir)/$(subst $(cpp11libsuffix),,$(call mksoname,Slice))
- endif
- SLICE2CPP = $(ice_dir)/$(binsubdir)/slice2cpp
-endif
-
-ifeq ($(SLICE_LIBS),)
- ifeq ($(STATICLIBS),yes)
- SLICE_LIBS = -lSlice $(MCPP_LIBS) $(BASELIBS)
- else
- SLICE_LIBS = -lSlice $(BASELIBS)
- endif
-endif
-
-ifeq ($(ICESSL_LIBS),)
- ICESSL_LIBS = -lIceSSL
-endif
-
-ifeq ($(TEST_LIBS),)
- ifndef ice_src_dist
- TEST_LIBS = -L$(libdir)$(cpp11libdirsuffix) -lTestCommon $(LIBS)
- else
- TEST_LIBS = -lTestCommon $(LIBS)
- endif
-endif
-
-
-EVERYTHING = all clean install compile-slice
-EVERYTHING_EXCEPT_ALL = clean install compile-slice
-
-.SUFFIXES:
-.SUFFIXES: .cpp .c .o
-
-ifneq ($(SLICE_OBJS),)
--include $(addprefix .depend/, $(SLICE_OBJS:.o=.ice.d))
-endif
-
-#
-# If dependencies haven't been created yet make all OBJS depend on all
-# SRCS, Slice generated files will be created before C++ compilation
-# starts. This prevents issues parallel make.
-#
-ifneq ($(OBJS),)
-
-ifeq ($(wildcard .depend/*.d),)
-$(OBJS):$(OBJS:.o=.cpp)
-else
--include $(addprefix .depend/, $(OBJS:.o=.d))
+$(make-project)
+tests:: $1
+endef
#
-# OBJS depend on the non existing sources so generated files are created
-# before compilation takes place.
+# $(create-cpp-test-project $1=test)
#
-$(OBJS):$(filter-out $(wildcard $(OBJS:.o=.cpp)) ,$(OBJS:.o=.cpp))
-
-clean::
- rm -rf .depend
-endif
-
-endif
-
-all:: $(TARGETS)
-
-.cpp.o:
- $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $<
- @mkdir -p .depend
- @$(CXX) -DMAKEDEPEND -MM $(CPPFLAGS) $(CXXFLAGS) $< > .depend/$(*F).d
-
-.c.o:
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $<
-
-$(HDIR)/%F.h: $(SDIR)/%F.ice $(SLICE2CPP) $(SLICEPARSERLIB)
- rm -f $(HDIR)/$(*F)F.h $(*F)F.cpp
- $(SLICE2CPP) $(SLICE2CPPFLAGS) $<
- mv $(*F)F.h $(HDIR)
- @touch $(*F)F.cpp
- @mkdir -p .depend
- @$(SLICE2CPP) $(SLICE2CPPFLAGS) --depend $< | sed 's/\(.*: \\\)/\$$(HDIR)\/\1/' > .depend/$(*F)F.ice.d
-
-$(HDIR)/%.h %.cpp: $(SDIR)/%.ice $(SLICE2CPP) $(SLICEPARSERLIB)
- rm -f $(HDIR)/$(*F).h $(*F).cpp
- $(SLICE2CPP) $(SLICE2CPPFLAGS) $<
- mv $(*F).h $(HDIR)
- @touch $(*F).cpp
- @mkdir -p .depend
- @$(SLICE2CPP) $(SLICE2CPPFLAGS) --depend $< | sed 's/\(.*: \\\)/\$$(HDIR)\/\1/' > .depend/$(*F).ice.d
-
-#%.h %.cpp: %.ice $(SLICE2CPP) $(SLICEPARSERLIB)
-
-%.h %.cpp: %.ice $(SLICE2CPP)
- rm -f $(*F).h $(*F).cpp
- $(SLICE2CPP) $(SLICE2CPPFLAGS) $(*F).ice
- @touch $(*F).cpp
- @mkdir -p .depend
- @$(SLICE2CPP) $(SLICE2CPPFLAGS) --depend $(*F).ice > .depend/$(*F).ice.d
-
-ifeq ($(BISON_FLEX),yes)
-
-%.h %.cpp: %.y
- rm -f $(*F).h $(*F).cpp
- bison $(BISONFLAGS) $<
- mv $(*F).tab.c $(*F).cpp
- mv $(*F).tab.h $(*F).h
- rm -f $(*F).output
-
-%.cpp: %.l
- flex $(FLEXFLAGS) $<
- rm -f $@
- echo '#include <IceUtil/ScannerConfig.h>' >> $@
- cat lex.yy.c >> $@
- rm -f lex.yy.c
-
-endif
-
-clean::
- -rm -f $(TARGETS)
- -rm -f core *.o *.bak
- -rm -rf .depend
-
-ifneq ($(SLICE_OBJS),)
-clean::
- rm -f $(addsuffix .cpp, $(basename $(notdir $(SLICE_OBJS))))
- rm -f $(addsuffix .h, $(basename $(notdir $(SLICE_OBJS))))
-endif
-
-ifneq ($(HDIR),)
-clean::
- rm -f $(addprefix $(HDIR)/, $(addsuffix .h, $(basename $(SLICE_OBJS))))
-endif
-
-ifneq ($(SLICE_OBJS),)
-compile-slice:: $(SLICE_OBJS:.o=.cpp)
-else
-compile-slice::
-endif
-
-install::
+define create-cpp-test-project
+$1_srcext := cpp
+$1_dependencies := $$(or $$($1_dependencies),TestCommon Ice IceUtil)
+$(make-test)
+endef
diff --git a/cpp/config/Make.rules.AIX b/cpp/config/Make.rules.AIX
deleted file mode 100644
index 5ac5108cad3..00000000000
--- a/cpp/config/Make.rules.AIX
+++ /dev/null
@@ -1,80 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-$(warning ===================================================================)
-$(warning AIX is currently an unsupported platform. The Ice team does)
-$(warning not maintain AIX specific portions of the source code or build)
-$(warning system. Contact sales@zeroc.com if you wish to sponsor official)
-$(warning support.)
-$(warning ===================================================================)
-
-#
-# This file is included by Make.rules when uname is AIX.
-#
-
-CXX = xlC_r
-CC = xlc_r -qcpluscmt
-
-#
-# -qstaticinline: make inline functions that were not inlined (typically
-# in debug mode or when the function is too big) static instead of
-# extern (the default). This eliminates lots of "Duplicate symbol"
-# warnings at link time, and surprisingly reduces the size of the
-# libraries.
-#
-# -D_LARGE_FILES: By default, Berkeley DB is built with -D_LARGE_FILES,
-# which moves a number of symbols from namespace std to namespace
-# std::_LSF_ON. It would be nice to find a better solution, and get
-# rid of this define.
-#
-# -qalign=natural: You should add this option if you plan to use or
-# build Ice with libraries built with GCC. The default alignment for GCC
-# is "natural", while the default for xlC is "power".
-#
-
-ifneq ($(OBJECT_MODE),64)
- CXXARCHFLAGS += -D_LARGE_FILES
-endif
-
-CXXFLAGS = -brtl -qrtti=all -qstaticinline $(CXXARCHFLAGS)
-
-ifeq ($(OPTIMIZE),yes)
- CXXFLAGS += -O2 -DNDEBUG -qinline
-else
- CXXFLAGS += -g
-endif
-
-ifneq ($(embedded_runpath_prefix),)
- LDPLATFORMFLAGS = -Wl,-blibpath:$(runpath_libdir):/usr/lpp/xlopt:/usr/lib/threads:/usr/vacpp/lib:/usr/lib:/lib
-else
- LDPLATFORMFLAGS = -Wl,-blibpath:/usr/lpp/xlopt:/usr/lib/threads:/usr/vacpp/lib:/usr/lib:/lib
-endif
-
-mklibfilename = lib$(1).a
-
-ifeq ($(STATICLIBS),)
- mklibname = lib$(1).notused
-else
- mklibname = lib$(1).a
-endif
-
-mklibtargets = $(1)
-
-mkshlib = $(CXX) -qmkshrobj $(LDFLAGS) -o $(2) $(3) $(4) ; ar -rc $(1) $(2) ; rm $(2)
-
-mklib = ar -rc $(1) $(2)
-
-installlib = $(INSTALL) $(2)/$(3) $(1)
-
-BASELIBS = -lIceUtil
-LIBS = -lIce $(BASELIBS)
-
-ICEUTIL_OS_LIBS = -lcrypto
-ICE_OS_LIBS =
-
diff --git a/cpp/config/Make.rules.Darwin b/cpp/config/Make.rules.Darwin
deleted file mode 100644
index 09ba70b05cd..00000000000
--- a/cpp/config/Make.rules.Darwin
+++ /dev/null
@@ -1,104 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-#
-# This file is included by Make.rules when uname is Darwin.
-#
-
-OSX_TARGET_MIN_SDK_VERSION = 10.9
-
-CXX = xcrun clang++
-
-CPPFLAGS += -pthread -fvisibility=hidden
-CXXFLAGS += -Wall -Werror -mmacosx-version-min=$(OSX_TARGET_MIN_SDK_VERSION)
-
-# If MAXWARN is set then enable extra warnings
-ifeq ($(MAXWARN),yes)
- CXXFLAGS += -Wextra -Wshadow -Wredundant-decls
-endif
-
-#
-# By default we build x86_64 binaries.
-#
-ifeq ($(CXXARCHFLAGS),)
- CXXARCHFLAGS := -arch x86_64
-endif
-
-ifeq ($(OPTIMIZE),yes)
- CXXFLAGS := $(CXXARCHFLAGS) -O2 -DNDEBUG $(CXXFLAGS)
-else
- CXXFLAGS := $(CXXARCHFLAGS) -g $(CXXFLAGS)
-endif
-
-#
-# On OS X, always build with C++11 support enabled unless we
-# explicitly set it to no (possibly to test binary compatibility).
-#
-ifneq ($(CPP11_MAPPING), no)
- CPPFLAGS += --std=c++11
-endif
-
-#
-# C++ run-time libraries, necessary for linking some shared libraries.
-#
-CXXLIBS =
-
-clean::
- rm -f *.keychain *.fl*
-
-LOADER_PATH = @loader_path
-
-ifeq ($(RPATH_DIR),)
- ifdef ice_src_dist
- RPATH_DIR = @loader_path/$(libdir)
- else
- RPATH_DIR = $(ice_dir)/$(libsubdir)
- endif
-endif
-
-#
-# Clear rpath setting when doing a system install
-#
-ifeq ($(ice_dir), $(usr_dir))
- RPATH_DIR =
-endif
-
-ifneq ($(RPATH_DIR),)
- LDEXEFLAGS = -Wl,-rpath,$(RPATH_DIR)
-endif
-
-LDTESTEXEFLAGS = $(LDEXEFLAGS)
-ifndef ice_src_dist
- LDTESTEXEFLAGS += -Wl,-rpath,@loader_path/$(libdir)
-endif
-
-ifdef ice_src_dist
- rpathlink = -Wl,-rpath,$(1)
-endif
-
-mklib = libtool -static -o $(1) $(2)
-mkshlib = $(CXX) -dynamiclib $(LDFLAGS) -o $(1) -install_name @rpath/$(2) $(3) $(4)
-
-BASELIBS = -lIceUtil
-LIBS = -lIce $(BASELIBS)
-
-ICONV_LIB = -liconv
-
-ICEUTIL_OS_LIBS =
-ICE_OS_LIBS = -ldl
-CRYPT_OS_LIBS = -framework Security -framework CoreFoundation
-SSL_OS_LIBS = $(CRYPT_OS_LIBS)
-
-PLATFORM_HAS_READLINE := yes
-
-ifeq ($(DB_HOME),)
- ifneq ($(wildcard /usr/local/opt/berkeley-db53),)
- DB_HOME = /usr/local/opt/berkeley-db53
- endif
-endif
diff --git a/cpp/config/Make.rules.FreeBSD b/cpp/config/Make.rules.FreeBSD
deleted file mode 100644
index dad05d7afb5..00000000000
--- a/cpp/config/Make.rules.FreeBSD
+++ /dev/null
@@ -1,57 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-$(warning ===================================================================)
-$(warning FreeBSD is currently an unsupported platform. The Ice team does)
-$(warning not maintain FreeBSD specific portions of the source code or build)
-$(warning system. Contact sales@zeroc.com if you wish to sponsor official)
-$(warning support.)
-$(warning ===================================================================)
-
-#
-# This file is included by Make.rules when uname is FreeBSD
-#
-
-CXX = clang++
-
-CXXFLAGS = -I/usr/local/include -Wall -D_REENTRANT -D_THREAD_SAFE
-
-ifeq ($(STATICLIBS),)
- CXXFLAGS += -fPIC
-endif
-
-ifeq ($(OPTIMIZE),yes)
- CXXFLAGS += -O3 -DNDEBUG
-else
- CXXFLAGS += -g
-endif
-
-
-ifeq ($(CPP11_MAPPING), yes)
- CPPFLAGS += --std=c++11
- CXXFLAGS += --stdlib=libc++
-endif
-
-LDPLATFORMFLAGS = -L/usr/local/lib
-
-
-mkshlib = $(CXX) -shared $(LDFLAGS) -o $(1) -Wl,-h,$(2) $(3) $(4)
-
-mklib = ar cr $(1) $(2)
-
-BASELIBS = -lIceUtil -lpthread
-LIBS = -lIce $(BASELIBS)
-
-ICEUTIL_OS_LIBS = -lcrypto
-ICE_OS_LIBS =
-
-ICONV_LIB = -liconv
-
-PLATFORM_HAS_READLINE = yes
-
diff --git a/cpp/config/Make.rules.HP-UX b/cpp/config/Make.rules.HP-UX
deleted file mode 100644
index 37de2c28076..00000000000
--- a/cpp/config/Make.rules.HP-UX
+++ /dev/null
@@ -1,88 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-#
-# This file is included by Make.rules when uname is HP-UX.
-#
-
-$(warning ===================================================================)
-$(warning HP-UX is currently an unsupported platform. The Ice team )
-$(warning no longer maintains HP-UX specific portions of the source code or )
-$(warning build system. Contact sales@zeroc.com if you wish to sponsor )
-$(warning official support.)
-$(warning ===================================================================)
-
-
-CXX = aCC
-
-ifeq ($(LP64),yes)
- CXXARCHFLAGS += +DD64
-else
- CXXARCHFLAGS += +DA2.0N
-endif
-
-#
-# TODO: add -Bhidden_def (for declspec), when it works
-#
-
-#
-# Disable the following future errors and warnings:
-# 849: External symbol too long, truncated from xxxx to 4000
-DISABLEDWARNINGS = +W849
-
-CXXFLAGS = -AA -mt $(DISABLEDWARNINGS) $(CXXARCHFLAGS)
-
-ifneq ($(GENPIC),no)
- CXXFLAGS += +Z
-endif
-
-ifeq ($(OPTIMIZE),yes)
- ifeq ($(LP64),yes)
-#
-# 64 bits -O (+O2) optimized build fail in the IceGrid tests so we use +O1
-#
- CXXFLAGS += +O1 -DNDEBUG
- else
- CXXFLAGS += -O -DNDEBUG
- endif
-else
- CXXFLAGS += -g0
-endif
-
-#
-# C++ run-time libraries, necessary for linking some shared libraries.
-#
-CXXLIBS = -lCsup_v2 -lstd_v2
-
-ifneq ($(embedded_runpath_prefix),)
- LDPLATFORMFLAGS = -Wl,+s -Wl,+b$(runpath_libdir)
-else
- LDPLATFORMFLAGS = -Wl,+s
-endif
-
-mklibfilename = $(if $(2),lib$(1).$(2),lib$(1).sl)
-mksoname = $(if $(2),lib$(1).$(2),lib$(1).sl)
-ifeq ($(STATICLIBS),)
- mklibname = lib$(1).sl
-endif
-mkshlib = $(CXX) -b -Wl,-Bsymbolic $(LDFLAGS) -o $(1) -Wl,+h$(2) $(3) $(4)
-mklib = ar cr $(1) $(2)
-
-rpathlink = -L$(1)
-
-
-BASELIBS = -lIceUtil -lxnet -lpthread
-LIBS = $(BZIP2_RPATH_LINK) -lIce $(BASELIBS)
-
-ICEUTIL_OS_LIBS = -lpthread -lrt -lcrypto
-ICE_OS_LIBS =
-
-lp64suffix = /pa20_64
-lp64binsuffix = /pa20_64
-
diff --git a/cpp/config/Make.rules.Linux b/cpp/config/Make.rules.Linux
deleted file mode 100644
index bfeaa99ecc8..00000000000
--- a/cpp/config/Make.rules.Linux
+++ /dev/null
@@ -1,229 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-#
-# This file is included by Make.rules when uname is Linux.
-#
-
-USE_SPARC_ASM = irrelevant
-MACHINE = $(shell uname -m)
-SUSE_i586 = $(shell grep i586 /etc/SuSE-release 2>/dev/null)
-
-ifneq ($(shell grep 'release 4' /etc/redhat-release 2>/dev/null),)
- NPTL_LIB = -L/usr/$(libsubdir)/nptl
- NPTL_FLAGS = -I/usr/include/nptl
-endif
-
-#
-# Default compiler is c++ (aka g++).
-#
-ifeq ($(CXX),)
- CXX = g++
-endif
-
-ifeq ($(CXX),c++)
- CXX = g++
-endif
-
-ifeq ($(CXX),clang++)
- GCC_COMPILER = yes
-endif
-
-ifeq ($(CXX:g++%=g++),g++)
- GCC_COMPILER = yes
-endif
-
-ifeq ($(GCC_COMPILER),yes)
-
- ifneq ($(SUSE_i586),)
- CXXARCHFLAGS += -march=i586
- endif
-
- ifeq ($(CPP11_MAPPING), yes)
- CXXFLAGS += -std=c++11
- endif
-
- ifeq ($(MACHINE),sparc64)
- #
- # We are an ultra, at least, and so have the atomic instructions
- #
- $(warning ===================================================================)
- $(warning Linux on SPARC is currently unsupported. The Ice team does not)
- $(warning maintain SPARC specific portions of the source code or build)
- $(warning system. Contact sales@zeroc.com if you wish to sponsor official)
- $(warning support.)
- $(warning ===================================================================)
- USE_SPARC_ASM = yes
- CXXARCHFLAGS += -mcpu=ultrasparc -pipe -Wno-deprecated -DUSE_SPARC_ASM
- endif
-
- ifeq ($(MACHINE),sparc)
- #
- # We are a sun4m or sun4c
- # On sun4m, there is a bug in some CPU/kernel/gcc configurations which
- # prevent us from using '-mcpu=v8'
- #
- $(warning ===================================================================)
- $(warning Linux on SPARC is currently unsupported. The Ice team does not)
- $(warning maintain SPARC specific portions of the source code or build)
- $(warning system. Contact sales@zeroc.com if you wish to sponsor official)
- $(warning support.)
- $(warning ===================================================================)
- USE_SPARC_ASM = no
- CXXARCHFLAGS += -mtune=v8 -pipe -Wno-deprecated -DICE_USE_MUTEX_SHARED
- endif
-
- ifeq ($(MACHINE),x86_64)
- ifeq ($(LP64),yes)
- CXXARCHFLAGS += -m64
- else
- CXXARCHFLAGS += -m32
- endif
- endif
-
- CXXFLAGS += $(CXXARCHFLAGS) -fvisibility=hidden -Wall -Werror -pthread
-
- # If MAXWARN is set then enable extra warnings
- ifeq ($(MAXWARN),yes)
- CXXFLAGS += -Wextra -Wshadow
- GCC_GTEQ_460 := $(shell expr `gcc -dumpversion | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$/&00/'` \>= 40600)
- ifeq ($(GCC_GTEQ_460),1)
- CXXFLAGS += -Wredundant-decls
- endif
- endif
-
- ifneq ($(GENPIC),no)
- CXXFLAGS += -fPIC
- endif
-
- ifeq ($(OPTIMIZE),yes)
- CXXFLAGS += -O2 -DNDEBUG
- else
- CXXFLAGS += -g
- endif
-
- #
- # Add RPATH to LDEXEFLAGS if embedded_runpath is set to yes
- #
- ifeq ($(embedded_runpath),yes)
- LOADER_PATH = \$$ORIGIN
- ifneq ($(embedded_runpath_prefix),)
- RPATH_DIR = $(embedded_runpath_prefix)
- endif
-
- ifeq ($(RPATH_DIR),)
- ifdef ice_src_dist
- RPATH_DIR = \$$ORIGIN/$(libdir)
- else
- RPATH_DIR = $(ice_dir)/$(libsubdir)
- endif
- endif
-
- #
- # Clear the rpath dir when doing a system install.
- #
- ifeq ($(prefix), $(usr_dir))
- RPATH_DIR =
- endif
-
- #
- # Clear the rpath dir when building agains system install.
- #
- ifeq ($(ice_dir),$(usr_dir))
- RPATH_DIR =
- endif
-
- #
- # Unless new_dtags is set to yes we use old style dtags, to add a RPATH
- # entry instead of RUNPATH entry, this allow the plug-ins to load without
- # need to set LD_LIBRARY_PATH
- #
- ifeq ($(new_dtags),yes)
- DTAGS = -Wl,--enable-new-dtags
- else
- DTAGS = -Wl,--disable-new-dtags
- endif
-
- ifneq ($(RPATH_DIR),)
- LDEXEFLAGS = $(DTAGS) -Wl,-rpath,$(RPATH_DIR)
- endif
-
- LDTESTEXEFLAGS = $(LDEXEFLAGS)
- ifndef ice_src_dist
- LDTESTEXEFLAGS += -Wl,-rpath,\$$ORIGIN/$(libdir)
- endif
- endif
-
- #
- # C++ run-time libraries, necessary for linking some shared libraries.
- #
- CXXLIBS =
-
- mkshlib = $(CXX) -shared $(LDFLAGS) -o $(1) -Wl,-h,$(2) $(3) $(4)
-
- mklib = ar cr $(1) $(2)
-
- rpathlink = -Wl,-rpath-link,$(1)
-
- LDPLATFORMFLAGS += -rdynamic
-
-endif
-
-ifeq ($(CXX),icpc)
- $(warning ===================================================================)
- $(warning Intel C++ is currently not supported. The Ice team does not)
- $(warning maintain Intel C++ specific portions of the source code or build)
- $(warning system. Contact sales@zeroc.com if you wish to sponsor official)
- $(warning support.)
- $(warning ===================================================================)
- CXXFLAGS = -D_REENTRANT
-
- ifneq ($(GENPIC),no)
- CXXFLAGS += -fPIC
- endif
-
- ifeq ($(OPTIMIZE),yes)
- CXXFLAGS += -O2 -DNDEBUG
- else
- CXXFLAGS += -g
- endif
-
- #
- # C++ run-time libraries, necessary for linking some shared libraries.
- #
- CXXLIBS =
-
- mkshlib = $(CXX) -shared $(LDFLAGS) -o $(1) -Wl,-h,$(2) $(3) $(4) -lpthread
-
- mklib = ar cr $(1) $(2)
-
- rpathlink = -Wl,-rpath-link,$(1)
-
-endif
-
-BASELIBS = -lIceUtil
-ifneq ($(NPTL_LIB),)
- CXXFLAGS += $(NPTL_FLAGS)
- BASELIBS := $(NPTL_LIB) $(BASELIBS)
-endif
-
-ICESSL_LIBS = $(OPENSSL_RPATH_LINK) -lIceSSL
-LIBS = $(BZIP2_RPATH_LINK) -lIce $(BASELIBS)
-
-CRYPT_OS_LIBS = -lcrypt
-ICEUTIL_OS_LIBS = -lrt $(OPENSSL_RPATH_LINK) -lcrypto
-ICE_OS_LIBS = -ldl
-
-PLATFORM_HAS_READLINE = yes
-
-ifeq ($(BUILD_ICE_BT),)
- ifneq ($(findstring Ubuntu,$(shell uname -a)),)
- BUILD_ICE_BT = yes
- endif
-endif
diff --git a/cpp/config/Make.rules.OSF1 b/cpp/config/Make.rules.OSF1
deleted file mode 100644
index 1ae1b10eadc..00000000000
--- a/cpp/config/Make.rules.OSF1
+++ /dev/null
@@ -1,80 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-$(warning ===================================================================)
-$(warning Compaq Tru64 is currently an unsupported platform. The Ice team )
-$(warning does not maintain Tru64 specific portions of the source code or )
-$(warning build system. Contact sales@zeroc.com if you wish to sponsor )
-$(warning official support.)
-$(warning ===================================================================)
-
-#
-# This file is included by Make.rules when uname is OSF1
-#
-
-#
-# Default compiler is Compaq C++
-#
-ifeq ($(CXX),)
- CXX = cxx
-endif
-
-CC = /usr/ucb/cc -D__osf1__
-
-
-ifeq ($(CXX),cxx)
-
- CXXFLAGS = $(CXXARCHFLAGS) -pthread -std gnu -D_REENTRANT -D__USE_STD_IOSTREAM -D__osf1__ -msg_display_tag -msg_disable codeunreachable,codcauunr,labelnotreach
-
- ifeq ($(OPTIMIZE),yes)
- CXXFLAGS = -O2 -DNDEBUG -tune host
- else
- CXXFLAGS = -g
- endif
-
- #
- # C++ run-time libraries, necessary for linking some shared libraries.
- #
- CXXLIBS =
-
- mkshlib = $(CXX) -shared $(LDFLAGS) -o $(1) -soname $(2) $(3) $(4) -lpthread
-
- mklib = ar cr $(1) $(2)
-endif
-
-ifeq ($(CXX),g)
-
- CXXFLAGS = $(CXXARCHFLAGS) -Wall -D_REENTRANT
-
- ifneq ($(GENPIC),no)
- CXXFLAGS = -fPIC
- endif
-
- ifeq ($(OPTIMIZE),yes)
- CXXFLAGS = -O3 -DNDEBUG
- else
- CXXFLAGS = -g
- endif
-
- #
- # C++ run-time libraries, necessary for linking some shared libraries.
- #
- CXXLIBS =
-
- mkshlib = $(CXX) -shared $(LDFLAGS) -o $(1) -Wl,-h,$(2) $(3) $(4) -lpthread
-
- mklib = ar cr $(1) $(2)
-
-endif
-
-BASELIBS = -lIceUtil -lpthread
-LIBS = -lIce $(BASELIBS)
-
-ICEUTIL_OS_LIBS = -lrt -lcrypto
-ICE_OS_LIBS =
diff --git a/cpp/config/Make.rules.SunOS b/cpp/config/Make.rules.SunOS
deleted file mode 100644
index cdd6c57366d..00000000000
--- a/cpp/config/Make.rules.SunOS
+++ /dev/null
@@ -1,115 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-#
-# This file is included by Make.rules when uname is SunOS.
-#
-
-#
-# If CXX is not defined anywhere, the default (from gmake) is g++.
-#
-CXX = CC
-
-# This variable is used to determine the machine type.
-# For SPARC machines: sun4u and sun4v
-# For x86/x64 machines: i86pc
-#
-MACHINE_TYPE := $(shell uname -m)
-
-
-ifeq ($(CXX),CC)
- #
- # Recent version of Sun CC
- #
- ifeq ($(LP64),yes)
- CXXARCHFLAGS += -m64
- else
- CXXARCHFLAGS += -m32
- endif
-
- #
- # wvarhidenmem,wvarhidemem: various name hiding
- # notemsource: Could not find source for <template name>
-
- #
- CXXWARNFLAGS = +w -xwe -errtags -erroff=wvarhidenmem,wvarhidemem,notemsource
- CXXSCOPEFLAGS = -xldscope=hidden
-
- CXXFLAGS = -mt +p $(CXXSCOPEFLAGS) $(CXXWARNFLAGS) $(CXXARCHFLAGS)
-
- ifneq ($(GENPIC),no)
- CXXFLAGS += -xcode=pic32
- endif
-
- ifeq ($(OPTIMIZE),yes)
- CXXFLAGS += -O -DNDEBUG
- else
- CXXFLAGS += -g
- endif
-
- mkshlib = $(CXX) -G $(LDFLAGS) -o $(1) -h $(2) $(3) $(4)
-
- mklib = $(CXX) -xar -o $(1) $(2)
-
- CXXLIBS = -lCrun -lCstd
-
- ifneq ($(embedded_runpath_prefix),)
- LDPLATFORMFLAGS = -norunpath -R $(runpath_libdir) -z text $(PLATFORMLIBDIRS)
- else
- LDPLATFORMFLAGS = -norunpath -z text $(PLATFORMLIBDIRS)
- endif
-
-endif
-
-ifeq ($(CXX),gcc)
- CXX = g++
-endif
-
-ifeq ($(CXX),g++)
-
- CC = gcc
-
- ifeq ($(LP64),yes)
- CXXARCHFLAGS += -m64
- endif
-
- CXXFLAGS = $(CXXARCHFLAGS) -Wall -D_REENTRANT
-
- ifeq ($(STATICLIBS),)
- CXXFLAGS += -fPIC
- endif
-
- ifeq ($(OPTIMIZE),yes)
- CXXFLAGS += -O2 -DNDEBUG
- else
- CXXFLAGS += -g
- endif
-
- mkshlib = $(CXX) -shared $(LDFLAGS) -o $(1) -h $(2) $(3) $(4)
-
- mklib = ar cr $(1) $(2)
-
- ifneq ($(embedded_runpath_prefix),)
- LDPLATFORMFLAGS = -R $(runpath_libdir):/usr/sfw/$(libsubdir) $(PLATFORMLIBDIRS)
- else
- LDPLATFORMFLAGS = -R /usr/sfw/$(libsubdir) $(PLATFORMLIBDIRS)
- endif
-
- ifeq ($(MACHINE_TYPE),i86pc)
- ICONV_LIB = -liconv
- endif
-endif
-
-rpathlink = -L$(1)
-
-BASELIBS = -lIceUtil -lpthread
-LIBS = $(BZIP2_RPATH_LINK) -lIce $(BASELIBS)
-
-ICEUTIL_OS_LIBS = -lpthread -lrt -lcrypto
-ICE_OS_LIBS = -ldl -lsocket
diff --git a/cpp/config/Make.rules.msvc b/cpp/config/Make.rules.msvc
deleted file mode 100644
index 41ee6eee463..00000000000
--- a/cpp/config/Make.rules.msvc
+++ /dev/null
@@ -1,212 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-#
-# This file is included by Make.rules.mak when using a Microsoft C++
-# compiler
-#
-
-CXX = cl.exe
-CC = cl.exe
-LINK = link.exe
-AR = lib.exe
-RC = rc.exe
-
-BASE = /base
-PREOUT = /out:
-PRELIBS =
-PRELIBPATH = /LIBPATH:
-
-!if "$(OPTIMIZE)" != "yes" || "$(RELEASEPDBS)" == "yes"
-GENERATE_PDB = yes
-!endif
-
-CPPFLAGS = $(CPPFLAGS) -nologo -GR -EHsc -WX
-!if "$(MAXWARN)" != "yes"
-# Added for VS2015 RC: -wd4275
-CPPFLAGS = $(CPPFLAGS) -W3 -wd4250 -wd4251 -wd4275
-!else
-CPPFLAGS = $(CPPFLAGS) -W4
-!endif
-ARFLAGS = $(ARFLAGS) -nologo -WX
-
-!if "$(WINRT)" == "yes"
-
-!if "$(PROCESSOR_ARCHITECTURE)" == "AMD64"
-WINDOWS_SDK_DIR = $(PROGRAMFILES) (x86)\Microsoft SDKs
-!else
-WINDOWS_SDK_DIR = $(PROGRAMFILES)\Microsoft SDKs
-!endif
-
-SDK_NAME = Ice
-
-!if "$(CPP_COMPILER)" == "VC110"
-TARGET_PLATFORM = Windows
-TARGET_PLATFORM_VERSION = 8.0
-SDK_PREFIX = 8.0
-MIN_VS_VERSION = 11.0
-!elseif "$(CPP_COMPILER)" == "VC120"
-TARGET_PLATFORM = Windows
-TARGET_PLATFORM_VERSION = 8.1
-SDK_PREFIX = 8.1
-MIN_VS_VERSION = 12.0
-!elseif "$(CPP_COMPILER)" == "VC140"
-TARGET_PLATFORM_VERSION = 10.0.10240.0
-SDK_PREFIX = 10
-TARGET_PLATFORM = UAP
-MIN_VS_VERSION = 14.0
-!else
-!error TARGET_PLATFORM_VERSION: $(TARGET_PLATFORM_VERSION) not supported to build Ice for WinRT
-!endif
-
-CPPFLAGS = $(CPPFLAGS) -DWINAPI_FAMILY=2 -Gm- -Oy- -Gd -ZW -D_UNICODE -DUNICODE
-
-!if "$(TARGET_PLATFORM_VERSION)" == "8.1"
-CPPFLAGS = $(CPPFLAGS) /AI "$(WINDOWS_SDK_DIR)\Windows\v8.1\ExtensionSDKs\Microsoft.VCLibs\12.0\References\CommonConfiguration\neutral"
-!elseif "$(TARGET_PLATFORM_VERSION)" == "10.0.10240.0"
-CPPFLAGS = $(CPPFLAGS) /AI "$(VSINSTALLDIR)\VC\lib\store\references"
-!endif
-
-#
-# We ignore these two warnings
-# 4264 http://msdn.microsoft.com/en-us/library/windows/apps/hh771041(v=vs.110).aspx
-# 4221 is "This object file does not define any previously undefined public symbols",
-#
-ARFLAGS = $(ARFLAGS) /ignore:4264 /ignore:4221
-!else
-#
-# ICE_WIN32_WINNT sets the minimum version of Windows supported by this build
-# 0x600 = Windows Vista / Windows Server 2008
-# 0x601 = Windows 7 / Windows Server 2008 R2
-# 0x602 = Windows 8 / Windows Server 2012
-#
-ICE_WIN32_WINNT = 0x601
-CPPFLAGS = $(CPPFLAGS) -D_CONSOLE -D_WIN32_WINNT=$(ICE_WIN32_WINNT)
-!endif
-
-CPPFLAGS = $(CPPFLAGS) -MP
-
-!if "$(OPTIMIZE)" == "yes"
-
-CPPFLAGS = $(CPPFLAGS) -O2 -DNDEBUG -MD
-CONFIG = Retail
-
-!if "$(RELEASEPDBS)" == "yes"
-CPPFLAGS = $(CPPFLAGS) -Zi -Oy-
-!endif
-
-!else
-
-CPPFLAGS = $(CPPFLAGS) -Zi -Od -D_DEBUG -MDd -RTC1
-CONFIG = Debug
-
-!endif
-
-!if "$(STATICLIBS)" == "yes"
-CPPFLAGS = $(CPPFLAGS) -DICE_STATIC_LIBS
-!endif
-
-LDFLAGS = $(LDFLAGS) /nologo
-
-!if "$(WINRT)" == "yes"
-LDFLAGS = $(LDFLAGS) /NXCOMPAT /MANIFEST:NO /APPCONTAINER /NOLOGO
-!if "$(CPP_COMPILER)" == "VC140"
-
-!elseif "$(CPP_COMPILER)" == "VC120"
-!if "$(ARCH)" == "x86"
-LDFLAGS = $(LDFLAGS) /LIBPATH:"$(VCINSTALLDIR)\lib\store"
-!else
-LDFLAGS = $(LDFLAGS) /LIBPATH:"$(VCINSTALLDIR)\lib\store\$(ARCH)"
-!endif
-!else
-LDFLAGS = $(LDFLAGS) /FIXED:no
-!endif
-!endif
-
-!if "$(OPTIMIZE)" == "yes"
-LDFLAGS = $(LDFLAGS) /OPT:REF
-!endif
-
-!if "$(GENERATE_PDB)" != "yes"
-LDFLAGS = $(LDFLAGS) /pdb:none
-!else
-LDFLAGS = $(LDFLAGS) /debug /incremental:no
-!endif
-
-LD_DLLFLAGS = $(LDFLAGS) /dll
-LD_EXEFLAGS = $(LDFLAGS)
-
-!if "$(WINRT)" != "yes"
-LD_TESTFLAGS = $(LD_EXEFLAGS) $(SETARGV)
-!else
-LD_TESTFLAGS = $(LD_DLLFLAGS)
-!endif
-
-#
-# With MSVC, we link automatically all Ice libraries using pragma comment
-#
-BASELIBS =
-LIBS =
-
-!if "$(WINRT)" == "yes"
-
-SDK_VERSION = $(SHORT_VERSION)
-SDK_MANIFEST = SDKManifest.xml
-
-
-!if "$(ice_src_dist)" != ""
-SDK_BASE_PATH = $(top_srcdir)\SDKs\$(SDK_PREFIX)\$(TARGET_PLATFORM)\v$(TARGET_PLATFORM_VERSION)\ExtensionSDKs\$(SDK_NAME)\$(SDK_VERSION)
-!else
-SDK_BASE_PATH = $(ice_dir)\SDKs\$(SDK_PREFIX)\$(TARGET_PLATFORM)\v$(TARGET_PLATFORM_VERSION)\ExtensionSDKs\$(SDK_NAME)\$(SDK_VERSION)
-!endif
-
-SDK_INCLUDE_PATH = $(SDK_BASE_PATH)\DesignTime\CommonConfiguration\Neutral\include
-SDK_LIBRARY_PATH = $(SDK_BASE_PATH)\DesignTime\$(CONFIG)\$(ARCH)
-SDK_REFERENCES_PATH = $(SDK_BASE_PATH)\References\$(CONFIG)\$(ARCH)
-SDK_REDIST_PATH = $(SDK_BASE_PATH)\Redist\$(CONFIG)\$(ARCH)
-
-$(SDK_BASE_PATH):
- $(MKDIR) $(SDK_BASE_PATH)
-
-$(SDK_LIBRARY_PATH):
- $(MKDIR) $(SDK_LIBRARY_PATH)
-
-$(SDK_REDIST_PATH):
- $(MKDIR) $(SDK_REDIST_PATH)
-
-$(SDK_REFERENCES_PATH):
- $(MKDIR) $(SDK_REFERENCES_PATH)
-
-$(SDK_INCLUDE_PATH):
- $(MKDIR) $(SDK_INCLUDE_PATH)
-
-$(SDK_BASE_PATH)\$(SDK_MANIFEST): $(SDK_BASE_PATH)
- @echo <<$(SDK_MANIFEST)
-<FileList
- Identity = "$(SDK_NAME), Version=$(SDK_VERSION)"
- DisplayName = "Ice"
- ProductFamiliyName = "ZeroC SDKs"
- MinVSVersion = "$(MIN_VS_VERSION)"
- MaxPlatformVersion = "$(TARGET_PLATFORM_VERSION)"
- AppliesTo = "WindowsAppContainer + VisualC"
- SupportedArchitecture = "x86;x64"
- SupportsMultipleVersion = "Error"
- MoreInfo = "https://doc.zeroc.com">
-</FileList>
-<<KEEP
- move $(SDK_MANIFEST) $(SDK_BASE_PATH)
-
-$(ARCH)\$(CONFIG):
- $(MKDIR) $(ARCH)\$(CONFIG)
-
-sdks: $(SDK_LIBRARY_PATH) $(SDK_REDIST_PATH) $(SDK_REFERENCES_PATH) $(SDK_BASE_PATH)\$(SDK_MANIFEST) \
- $(SDK_INCLUDE_PATH) $(ARCH)\$(CONFIG)
-
-
-!endif
diff --git a/cpp/config/Makefile b/cpp/config/Makefile
deleted file mode 100644
index 06b4f619206..00000000000
--- a/cpp/config/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ..
-
-include $(top_srcdir)/config/Make.rules
-
-all::
-
-install::
- $(call installdata,templates.xml,$(DESTDIR)$(install_configdir))
- $(call installdata,upgradeicegrid36.py,$(DESTDIR)$(install_configdir))
- $(call installdata,icegrid-slice.3.5.ice.gz,$(DESTDIR)$(install_configdir))
- $(call installdata,icegrid-slice.3.6.ice.gz,$(DESTDIR)$(install_configdir))
-
diff --git a/cpp/include/Glacier2/.gitignore b/cpp/include/Glacier2/.gitignore
deleted file mode 100644
index 382c7a11d64..00000000000
--- a/cpp/include/Glacier2/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-Metrics.h
-PermissionsVerifierF.h
-PermissionsVerifier.h
-Router.h
-RouterF.h
-Session.h
-SSLInfo.h
diff --git a/cpp/include/Glacier2/Makefile b/cpp/include/Glacier2/Makefile
deleted file mode 100644
index 0ee9717f7f9..00000000000
--- a/cpp/include/Glacier2/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-install::
- @if test ! -d $(DESTDIR)$(install_includedir)/Glacier2 ; \
- then \
- echo "Creating $(DESTDIR)$(install_includedir)/Glacier2..." ; \
- $(call mkdir,$(DESTDIR)$(install_includedir)/Glacier2) ; \
- fi
-
- @for i in *.h ; \
- do \
- echo "Installing $$i" ; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(install_includedir)/Glacier2/$$i ; \
- chmod a+r $(DESTDIR)$(install_includedir)/Glacier2/$$i ; \
- done
diff --git a/cpp/include/Ice/.gitignore b/cpp/include/Ice/.gitignore
deleted file mode 100644
index ac34a90a522..00000000000
--- a/cpp/include/Ice/.gitignore
+++ /dev/null
@@ -1,44 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-BuiltinSequences.h
-Communicator.h
-CommunicatorF.h
-Connection.h
-ConnectionF.h
-Current.h
-Endpoint.h
-EndpointF.h
-EndpointTypes.h
-FacetMap.h
-Identity.h
-ImplicitContext.h
-ImplicitContextF.h
-Instrumentation.h
-InstrumentationF.h
-LocalException.h
-Locator.h
-LocatorF.h
-Logger.h
-LoggerF.h
-Metrics.h
-ObjectAdapter.h
-ObjectAdapterF.h
-ObjectFactory.h
-ObjectFactoryF.h
-Plugin.h
-PluginF.h
-Process.h
-ProcessF.h
-Properties.h
-PropertiesAdmin.h
-PropertiesF.h
-RemoteLogger.h
-Router.h
-RouterF.h
-ServantLocator.h
-ServantLocatorF.h
-SliceChecksumDict.h
-ValueFactoryF.h
-ValueFactory.h
-Version.h
diff --git a/cpp/include/Ice/Makefile b/cpp/include/Ice/Makefile
deleted file mode 100644
index 70ee739a707..00000000000
--- a/cpp/include/Ice/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-install::
- @if test ! -d $(DESTDIR)$(install_includedir)/Ice ; \
- then \
- echo "Creating $(DESTDIR)$(install_includedir)/Ice..." ; \
- $(call mkdir,$(DESTDIR)$(install_includedir)/Ice) ; \
- fi
-
- @for i in *.h ; \
- do \
- echo "Installing $$i" ; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(install_includedir)/Ice/$$i ; \
- chmod a+r $(DESTDIR)$(install_includedir)/Ice/$$i ; \
- done
diff --git a/cpp/include/IceBT/.gitignore b/cpp/include/IceBT/.gitignore
deleted file mode 100644
index cf344c483fc..00000000000
--- a/cpp/include/IceBT/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-EndpointInfo.h
-ConnectionInfo.h
-Types.h
diff --git a/cpp/include/IceBox/.gitignore b/cpp/include/IceBox/.gitignore
deleted file mode 100644
index e55d237a304..00000000000
--- a/cpp/include/IceBox/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-IceBox.h
diff --git a/cpp/include/IceBox/Makefile b/cpp/include/IceBox/Makefile
deleted file mode 100644
index 1397b5475b1..00000000000
--- a/cpp/include/IceBox/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-install::
- @if test ! -d $(DESTDIR)$(install_includedir)/IceBox ; \
- then \
- echo "Creating $(DESTDIR)$(install_includedir)/IceBox..." ; \
- $(call mkdir,$(DESTDIR)$(install_includedir)/IceBox) ; \
- fi
-
- @for i in *.h ; \
- do \
- echo "Installing $$i" ; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(install_includedir)/IceBox/$$i ; \
- chmod a+r $(DESTDIR)$(install_includedir)/IceBox/$$i ; \
- done
diff --git a/cpp/include/IceGrid/.gitignore b/cpp/include/IceGrid/.gitignore
deleted file mode 100644
index 9d13a816fbf..00000000000
--- a/cpp/include/IceGrid/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-Admin.h
-Descriptor.h
-Exception.h
-FileParser.h
-Locator.h
-Observer.h
-PluginFacade.h
-Query.h
-Registry.h
-Session.h
-UserAccountMapper.h
diff --git a/cpp/include/IceGrid/Makefile b/cpp/include/IceGrid/Makefile
deleted file mode 100644
index 4b9446be1de..00000000000
--- a/cpp/include/IceGrid/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-install::
- @if test ! -d $(DESTDIR)$(install_includedir)/IceGrid ; \
- then \
- echo "Creating $(DESTDIR)$(install_includedir)/IceGrid..." ; \
- $(call mkdir,$(DESTDIR)$(install_includedir)/IceGrid) ; \
- fi
-
- @for i in *.h ; \
- do \
- echo "Installing $$i" ; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(install_includedir)/IceGrid/$$i ; \
- chmod a+r $(DESTDIR)$(install_includedir)/IceGrid/$$i ; \
- done
diff --git a/cpp/include/IcePatch2/.gitignore b/cpp/include/IcePatch2/.gitignore
deleted file mode 100644
index 9bb16ec1aaf..00000000000
--- a/cpp/include/IcePatch2/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-FileInfo.h
-FileServer.h
diff --git a/cpp/include/IcePatch2/Makefile b/cpp/include/IcePatch2/Makefile
deleted file mode 100644
index 5d85292b110..00000000000
--- a/cpp/include/IcePatch2/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-install::
- @if test ! -d $(DESTDIR)$(install_includedir)/IcePatch2 ; \
- then \
- echo "Creating $(DESTDIR)$(install_includedir)/IcePatch2..." ; \
- $(call mkdir,$(DESTDIR)$(install_includedir)/IcePatch2) ; \
- fi
-
- @for i in *.h ; \
- do \
- echo "Installing $$i" ; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(install_includedir)/IcePatch2/$$i ; \
- chmod a+r $(DESTDIR)$(install_includedir)/IcePatch2/$$i ; \
- done
diff --git a/cpp/include/IceSSL/.gitignore b/cpp/include/IceSSL/.gitignore
deleted file mode 100644
index 8ff8c54a7de..00000000000
--- a/cpp/include/IceSSL/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-ConnectionInfo.h
-EndpointInfo.h
diff --git a/cpp/include/IceSSL/Makefile b/cpp/include/IceSSL/Makefile
deleted file mode 100644
index 76d74b9dfe0..00000000000
--- a/cpp/include/IceSSL/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-install::
- @if test ! -d $(DESTDIR)$(install_includedir)/IceSSL ; \
- then \
- echo "Creating $(DESTDIR)$(install_includedir)/IceSSL..." ; \
- $(call mkdir,$(DESTDIR)$(install_includedir)/IceSSL) ; \
- fi
-
- @for i in *.h ; \
- do \
- echo "Installing $$i" ; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(install_includedir)/IceSSL/$$i ; \
- chmod a+r $(DESTDIR)$(install_includedir)/IceSSL/$$i ; \
- done
diff --git a/cpp/include/IceStorm/.gitignore b/cpp/include/IceStorm/.gitignore
deleted file mode 100644
index 648cffd9098..00000000000
--- a/cpp/include/IceStorm/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-IceStorm.h
-Metrics.h
diff --git a/cpp/include/IceStorm/Makefile b/cpp/include/IceStorm/Makefile
deleted file mode 100644
index 7bef6104a8d..00000000000
--- a/cpp/include/IceStorm/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-install::
- @if test ! -d $(DESTDIR)$(install_includedir)/IceStorm ; \
- then \
- echo "Creating $(DESTDIR)$(install_includedir)/IceStorm..." ; \
- $(call mkdir,$(DESTDIR)$(install_includedir)/IceStorm) ; \
- fi
-
- @for i in *.h ; \
- do \
- echo "Installing $$i" ; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(install_includedir)/IceStorm/$$i ; \
- chmod a+r $(DESTDIR)$(install_includedir)/IceStorm/$$i ; \
- done
diff --git a/cpp/include/IceUtil/Makefile b/cpp/include/IceUtil/Makefile
deleted file mode 100644
index d20bbd04bd9..00000000000
--- a/cpp/include/IceUtil/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-install::
- @if test ! -d $(DESTDIR)$(install_includedir)/IceUtil ; \
- then \
- echo "Creating $(DESTDIR)$(install_includedir)/IceUtil..." ; \
- $(call mkdir,$(DESTDIR)$(install_includedir)/IceUtil) ; \
- fi
-
- @for i in *.h ; \
- do \
- echo "Installing $$i" ; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(install_includedir)/IceUtil/$$i ; \
- chmod a+r $(DESTDIR)$(install_includedir)/IceUtil/$$i ; \
- done
diff --git a/cpp/include/Makefile b/cpp/include/Makefile
deleted file mode 100644
index ef004332ae2..00000000000
--- a/cpp/include/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = Ice \
- IceSSL \
- IceUtil \
- Slice
-
-ifeq ($(findstring MINGW,$(UNAME)),)
-SUBDIRS := $(SUBDIRS) \
- Glacier2 \
- IceBox \
- IceGrid \
- IcePatch2 \
- IceStorm
-endif
-
-ifeq ($(BUILD_ICE_BT),yes)
-SUBDIRS := $(SUBDIRS) \
- IceBT
-endif
-
-$(EVERYTHING)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
diff --git a/cpp/include/Slice/Makefile b/cpp/include/Slice/Makefile
deleted file mode 100644
index d78e7de5149..00000000000
--- a/cpp/include/Slice/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-install::
- @if test ! -d $(DESTDIR)$(install_includedir)/Slice ; \
- then \
- echo "Creating $(DESTDIR)$(install_includedir)/Slice..." ; \
- $(call mkdir,$(DESTDIR)$(install_includedir)/Slice) ; \
- fi
-
- @for i in *.h ; \
- do \
- echo "Installing $$i" ; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(install_includedir)/Slice/$$i ; \
- chmod a+r $(DESTDIR)$(install_includedir)/Slice/$$i ; \
- done
diff --git a/cpp/src/Glacier2/.gitignore b/cpp/src/Glacier2/.gitignore
deleted file mode 100644
index 093e464bbf3..00000000000
--- a/cpp/src/Glacier2/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
-Instrumentation.cpp
-Instrumentation.h
diff --git a/cpp/src/Glacier2/Makefile b/cpp/src/Glacier2/Makefile
deleted file mode 100644
index 461dda303fa..00000000000
--- a/cpp/src/Glacier2/Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-ROUTER = $(bindir)/glacier2router
-TARGETS = $(ROUTER)
-
-SLICE_OBJS = Instrumentation.o
-
-OBJS = Blobject.o \
- ClientBlobject.o \
- FilterI.o \
- FilterManager.o \
- Glacier2Router.o \
- Instance.o \
- InstrumentationI.o \
- ProxyVerifier.o \
- RequestQueue.o \
- RouterI.o \
- RoutingTable.o \
- ServerBlobject.o \
- SessionRouterI.o \
- $(SLICE_OBJS)
-
-RPATH_DIR = $(LOADER_PATH)/../$(libsubdir)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I.. $(CPPFLAGS)
-SLICE2CPPFLAGS := --include-dir Glacier2 $(SLICE2CPPFLAGS)
-
-$(ROUTER): $(OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(OBJS) -lGlacier2 $(LIBS) -lIceSSL $(OPENSSL_RPATH_LINK)
-
-install:: all
- $(call installprogram,$(ROUTER),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/glacier2router.1,$(DESTDIR)$(install_mandir))
diff --git a/cpp/src/Glacier2/Makefile.mk b/cpp/src/Glacier2/Makefile.mk
new file mode 100644
index 00000000000..5b3ef8f7dee
--- /dev/null
+++ b/cpp/src/Glacier2/Makefile.mk
@@ -0,0 +1,17 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_programs := glacier2router
+$(project)_sliceflags := --include-dir Glacier2
+$(project)_generated_includedir := $(project)/generated/Glacier2
+$(project)_dependencies := Glacier2 IceSSL Ice IceUtil
+
+glacier2router_targetdir := $(bindir)
+
+projects += $(project)
diff --git a/cpp/src/Glacier2CryptPermissionsVerifier/.gitignore b/cpp/src/Glacier2CryptPermissionsVerifier/.gitignore
deleted file mode 100644
index 720f44c7047..00000000000
--- a/cpp/src/Glacier2CryptPermissionsVerifier/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
diff --git a/cpp/src/Glacier2CryptPermissionsVerifier/Makefile b/cpp/src/Glacier2CryptPermissionsVerifier/Makefile
deleted file mode 100644
index ebd42abf31e..00000000000
--- a/cpp/src/Glacier2CryptPermissionsVerifier/Makefile
+++ /dev/null
@@ -1,44 +0,0 @@
-
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,Glacier2CryptPermissionsVerifier,$(VERSION))
-SONAME = $(call mksoname,Glacier2CryptPermissionsVerifier,$(SOVERSION))
-LIBNAME = $(call mklibname,Glacier2CryptPermissionsVerifier)
-
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)$(cpp11libdirsuffix)/$(LIBNAME))
-
-OBJS = CryptPermissionsVerifierI.o
-
-SRCS = $(OBJS:.o=.cpp)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I.. $(CPPFLAGS) -DCRYPT_PERMISSIONS_VERIFIER_API_EXPORTS
-
-LINKWITH := $(BZIP2_RPATH_LINK) -lIce -lIceUtil -lGlacier2 $(CRYPT_OS_LIBS) $(CXXLIBS)
-
-$(libdir)/$(LIBFILENAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)$(cpp11libdirsuffix)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)$(cpp11libdirsuffix)
- rm -f $@
- ln -s $(cpp11sonamedir)$(SONAME) $@
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/cpp/src/Glacier2CryptPermissionsVerifier/Makefile.mk b/cpp/src/Glacier2CryptPermissionsVerifier/Makefile.mk
new file mode 100644
index 00000000000..203c8322826
--- /dev/null
+++ b/cpp/src/Glacier2CryptPermissionsVerifier/Makefile.mk
@@ -0,0 +1,17 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries += Glacier2CryptPermissionsVerifier
+
+Glacier2CryptPermissionsVerifier_targetdir := $(libdir)
+Glacier2CryptPermissionsVerifier_dependencies := Glacier2 Ice IceUtil
+Glacier2CryptPermissionsVerifier_system_libs := $(CRYPT_OS_LIBS)
+Glacier2CryptPermissionsVerifier_cppflags := -DCRYPT_PERMISSIONS_VERIFIER_API_EXPORTS
+
+projects += $(project)
diff --git a/cpp/src/Glacier2Lib/.gitignore b/cpp/src/Glacier2Lib/.gitignore
deleted file mode 100644
index 95b4c5cf67d..00000000000
--- a/cpp/src/Glacier2Lib/.gitignore
+++ /dev/null
@@ -1,19 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
-Metrics.cpp
-PermissionsVerifierF.cpp
-PermissionsVerifier.cpp
-Router.cpp
-RouterF.cpp
-Session.cpp
-SSLInfo.cpp
-Metrics.h
-PermissionsVerifierF.h
-PermissionsVerifier.h
-Router.h
-RouterF.h
-Session.h
-SSLInfo.h
diff --git a/cpp/src/Glacier2Lib/Makefile b/cpp/src/Glacier2Lib/Makefile
deleted file mode 100644
index d9ee3d28461..00000000000
--- a/cpp/src/Glacier2Lib/Makefile
+++ /dev/null
@@ -1,55 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,Glacier2,$(VERSION))
-SONAME = $(call mksoname,Glacier2,$(SOVERSION))
-LIBNAME = $(call mklibname,Glacier2)
-
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)$(cpp11libdirsuffix)/$(LIBNAME))
-
-SLICE_OBJS = Metrics.o \
- PermissionsVerifierF.o \
- PermissionsVerifier.o \
- Router.o \
- RouterF.o \
- Session.o \
- SSLInfo.o
-
-OBJS = Application.o \
- NullPermissionsVerifier.o \
- SessionHelper.o \
- $(SLICE_OBJS)
-
-HDIR = $(headerdir)/Glacier2
-SDIR = $(slicedir)/Glacier2
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I.. $(CPPFLAGS) $(OPENSSL_FLAGS) -DGLACIER2_API_EXPORTS
-SLICE2CPPFLAGS := --ice --include-dir Glacier2 --dll-export GLACIER2_API $(SLICE2CPPFLAGS)
-LINKWITH := $(BZIP2_RPATH_LINK) -lIce -lIceUtil
-
-$(libdir)/$(LIBFILENAME): $(OBJS) $(HDIR)/PermissionsVerifierF.h $(HDIR)/RouterF.h
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)$(cpp11libdirsuffix)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)$(cpp11libdirsuffix)
- rm -f $@
- ln -s $(cpp11sonamedir)$(SONAME) $@
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/cpp/src/Glacier2Lib/Makefile.mk b/cpp/src/Glacier2Lib/Makefile.mk
new file mode 100644
index 00000000000..c765292df9d
--- /dev/null
+++ b/cpp/src/Glacier2Lib/Makefile.mk
@@ -0,0 +1,17 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries := Glacier2
+
+Glacier2_targetdir := $(libdir)
+Glacier2_dependencies := Ice IceUtil
+Glacier2_cppflags := -DGLACIER2_API_EXPORTS
+Glacier2_sliceflags := --include-dir Glacier2 --dll-export GLACIER2_API
+
+projects += $(project) \ No newline at end of file
diff --git a/cpp/src/Ice/.gitignore b/cpp/src/Ice/.gitignore
deleted file mode 100644
index 0254d46a775..00000000000
--- a/cpp/src/Ice/.gitignore
+++ /dev/null
@@ -1,84 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
-BuiltinSequences.cpp
-Communicator.cpp
-CommunicatorF.cpp
-Connection.cpp
-ConnectionF.cpp
-Current.cpp
-Endpoint.cpp
-EndpointF.cpp
-EndpointTypes.cpp
-FacetMap.cpp
-Identity.cpp
-ImplicitContext.cpp
-ImplicitContextF.cpp
-Instrumentation.cpp
-InstrumentationF.cpp
-LocalException.cpp
-Locator.cpp
-LocatorF.cpp
-Logger.cpp
-LoggerF.cpp
-Metrics.cpp
-ObjectAdapter.cpp
-ObjectAdapterF.cpp
-ObjectFactory.cpp
-ObjectFactoryF.cpp
-Plugin.cpp
-PluginF.cpp
-Process.cpp
-ProcessF.cpp
-Properties.cpp
-PropertiesAdmin.cpp
-PropertiesF.cpp
-RemoteLogger.cpp
-Router.cpp
-RouterF.cpp
-ServantLocator.cpp
-ServantLocatorF.cpp
-SliceChecksumDict.cpp
-ValueFactory.cpp
-Version.cpp
-BuiltinSequences.h
-Communicator.h
-CommunicatorF.h
-Connection.h
-ConnectionF.h
-Current.h
-Endpoint.h
-EndpointF.h
-EndpointTypes.h
-FacetMap.h
-Identity.h
-ImplicitContext.h
-ImplicitContextF.h
-Instrumentation.h
-InstrumentationF.h
-LocalException.h
-Locator.h
-LocatorF.h
-Logger.h
-LoggerF.h
-Metrics.h
-ObjectAdapter.h
-ObjectAdapterF.h
-ObjectFactory.h
-ObjectFactoryF.h
-Plugin.h
-PluginF.h
-Process.h
-ProcessF.h
-Properties.h
-PropertiesAdmin.h
-PropertiesF.h
-RemoteLogger.h
-Router.h
-RouterF.h
-ServantLocator.h
-ServantLocatorF.h
-SliceChecksumDict.h
-Version.h
diff --git a/cpp/src/Ice/Makefile b/cpp/src/Ice/Makefile
deleted file mode 100644
index 32a26bcbb2d..00000000000
--- a/cpp/src/Ice/Makefile
+++ /dev/null
@@ -1,197 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,Ice,$(VERSION))
-SONAME = $(call mksoname,Ice,$(SOVERSION))
-LIBNAME = $(call mklibname,Ice)
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)$(cpp11libdirsuffix)/$(LIBNAME))
-
-SLICE_OBJS = BuiltinSequences.o \
- Communicator.o \
- CommunicatorF.o \
- Connection.o \
- ConnectionF.o \
- Current.o \
- Endpoint.o \
- EndpointF.o \
- EndpointTypes.o \
- FacetMap.o \
- Identity.o \
- ImplicitContext.o \
- ImplicitContextF.o \
- Instrumentation.o \
- InstrumentationF.o \
- LocalException.o \
- Locator.o \
- LocatorF.o \
- Logger.o \
- LoggerF.o \
- Metrics.o \
- ObjectAdapter.o \
- ObjectAdapterF.o \
- ObjectFactory.o \
- Plugin.o \
- PluginF.o \
- Process.o \
- ProcessF.o \
- Properties.o \
- PropertiesAdmin.o \
- PropertiesF.o \
- RemoteLogger.o \
- Router.o \
- RouterF.o \
- ServantLocator.o \
- ServantLocatorF.o \
- SliceChecksumDict.o \
- ValueFactory.o \
- Version.o
-
-OBJS = Acceptor.o \
- ACM.o \
- Application.o \
- AsyncResult.o \
- Base64.o \
- BatchRequestQueue.o \
- Buffer.o \
- CollocatedRequestHandler.o \
- CommunicatorI.o \
- ConnectionFactory.o \
- ConnectionI.o \
- ConnectionRequestHandler.o \
- Connector.o \
- ConnectRequestHandler.o \
- DefaultsAndOverrides.o \
- DispatchInterceptor.o \
- DynamicLibrary.o \
- EndpointFactory.o \
- EndpointFactoryManager.o \
- EndpointI.o \
- EventHandler.o \
- Exception.o \
- FactoryTable.o \
- FactoryTableInit.o \
- GCObject.o \
- HttpParser.o \
- ImplicitContextI.o \
- Incoming.o \
- IncomingAsync.o \
- Initialize.o \
- InputStream.o \
- Instance.o \
- InstrumentationI.o \
- IPEndpointI.o \
- LocalObject.o \
- LocatorInfo.o \
- LoggerAdminI.o \
- LoggerI.o \
- LoggerUtil.o \
- MetricsAdminI.o \
- MetricsObserverI.o \
- Network.o \
- NetworkProxy.o \
- Object.o \
- ObjectAdapterFactory.o \
- ObjectAdapterI.o \
- ObserverHelper.o \
- OpaqueEndpointI.o \
- Outgoing.o \
- OutgoingAsync.o \
- OutputStream.o \
- PluginManagerI.o \
- PropertiesAdminI.o \
- PropertiesI.o \
- PropertyNames.o \
- Protocol.o \
- ProtocolInstance.o \
- ProtocolPluginFacade.o \
- Proxy.o \
- ProxyFactory.o \
- Reference.o \
- ReferenceFactory.o \
- RegisterPluginsInit.o \
- RequestHandler.o \
- RequestHandlerFactory.o \
- ResponseHandler.o \
- RetryQueue.o \
- RouterInfo.o \
- Selector.o \
- ServantManager.o \
- SliceChecksums.o \
- SlicedData.o \
- StreamSocket.o \
- TcpAcceptor.o \
- TcpConnector.o \
- TcpEndpointI.o \
- TcpTransceiver.o \
- ThreadPool.o \
- TraceLevels.o \
- TraceUtil.o \
- Transceiver.o \
- UdpConnector.o \
- UdpEndpointI.o \
- UdpTransceiver.o \
- Value.o \
- ValueFactoryManagerI.o \
- WSAcceptor.o \
- WSConnector.o \
- WSEndpoint.o \
- WSTransceiver.o \
- $(SLICE_OBJS)
-
-ifeq ($(findstring MINGW,$(shell uname)),)
-OBJS := $(OBJS) \
- Service.o \
- SysLoggerI.o
-endif
-
-HDIR = $(headerdir)/Ice
-SDIR = $(slicedir)/Ice
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I.. $(CPPFLAGS) -DICE_API_EXPORTS $(BZIP2_FLAGS)
-ifneq ($(COMPSUFFIX),)
-CPPFLAGS := $(CPPFLAGS) -DCOMPSUFFIX=\"$(COMPSUFFIX)\"
-endif
-SLICE2CPPFLAGS := --ice --include-dir Ice --dll-export ICE_API $(SLICE2CPPFLAGS)
-
-LINKWITH := -lIceUtil $(BZIP2_LIBS) $(ICE_OS_LIBS) $(ICONV_LIBS)
-
-ifeq ($(UNAME),MINGW)
-$(OBJS): $(BZIP2_NUPKG)
-endif
-
-ifeq ($(STATICLIBS),yes)
-$(libdir)/$(LIBNAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mklib,$@,$(OBJS))
-else
-$(libdir)/$(LIBFILENAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)$(cpp11libdirsuffix)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)$(cpp11libdirsuffix)
- rm -f $@
- ln -s $(cpp11sonamedir)$(SONAME) $@
-endif
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
-ifeq ($(UNAME),MINGW)
- $(call installlib,$(DESTDIR)$(install_libdir),$(BZIP2_HOME)/build/native/bin/$(PLATFORM),bzip2_mingw.dll,,)
-endif
diff --git a/cpp/src/Ice/Makefile.mk b/cpp/src/Ice/Makefile.mk
new file mode 100644
index 00000000000..cc3dbc55b5e
--- /dev/null
+++ b/cpp/src/Ice/Makefile.mk
@@ -0,0 +1,20 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries = Ice
+
+Ice_targetdir := $(libdir)
+Ice_dependencies := IceUtil
+Ice_cppflags := -DICE_API_EXPORTS
+Ice_sliceflags := --include-dir Ice --dll-export ICE_API
+Ice_libs := bz2
+Ice_system_libs := $(ICE_OS_LIBS)
+Ice_excludes := $(currentdir)/DLLMain.cpp
+
+projects += $(project)
diff --git a/cpp/src/IceBT/.gitignore b/cpp/src/IceBT/.gitignore
deleted file mode 100644
index 72e3ccb71f5..00000000000
--- a/cpp/src/IceBT/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-EndpointInfo.cpp
-ConnectionInfo.cpp
-Types.cpp
diff --git a/cpp/src/IceBT/Makefile b/cpp/src/IceBT/Makefile
deleted file mode 100644
index c57848d0289..00000000000
--- a/cpp/src/IceBT/Makefile
+++ /dev/null
@@ -1,67 +0,0 @@
-
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,IceBT,$(VERSION))
-SONAME = $(call mksoname,IceBT,$(SOVERSION))
-LIBNAME = $(call mklibname,IceBT)
-
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)$(cpp11libdirsuffix)/$(LIBNAME))
-
-SLICE_OBJS = ConnectionInfo.o \
- EndpointInfo.o \
- Types.o
-
-OBJS = AcceptorI.o \
- ConnectorI.o \
- DBus.o \
- EndpointI.o \
- Engine.o \
- Instance.o \
- PluginI.o \
- StreamSocket.o \
- TransceiverI.o \
- Util.o \
- $(SLICE_OBJS)
-
-HDIR = $(headerdir)/IceBT
-SDIR = $(slicedir)/IceBT
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I.. $(CPPFLAGS) -DICE_BT_API_EXPORTS `pkg-config --cflags dbus-1`
-SLICE2CPPFLAGS := --ice --include-dir IceBT --dll-export ICE_BT_API $(SLICE2CPPFLAGS)
-
-LINKWITH := $(BZIP2_RPATH_LINK) -lIce -lIceXML -lIceUtil `pkg-config --libs dbus-1` $(CXXLIBS)
-
-ifeq ($(STATICLIBS),yes)
-$(libdir)/$(LIBNAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mklib,$@,$(OBJS))
-else
-$(libdir)/$(LIBFILENAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)$(cpp11libdirsuffix)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)$(cpp11libdirsuffix)
- rm -f $@
- ln -s $(cpp11sonamedir)$(SONAME) $@
-endif
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/cpp/src/IceBT/Makefile.mk b/cpp/src/IceBT/Makefile.mk
new file mode 100644
index 00000000000..4f48feff509
--- /dev/null
+++ b/cpp/src/IceBT/Makefile.mk
@@ -0,0 +1,22 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+ifneq ($(filter debian ubuntu,$(linux_id)),)
+
+$(project)_libraries := IceBT
+
+IceBT_targetdir := $(libdir)
+IceBT_dependencies := IceXML Ice IceUtil
+IceBT_cppflags := -DICEBT_API_EXPORTS `pkg-config --cflags dbus-1`
+IceBT_system_libs := $(SSL_OS_LIBS) `pkg-config --libs dbus-1`
+IceBT_sliceflags := --include-dir IceBT --dll-export ICESSL_API
+
+projects += $(project)
+
+endif
diff --git a/cpp/src/IceBox/.gitignore b/cpp/src/IceBox/.gitignore
deleted file mode 100644
index c483621af47..00000000000
--- a/cpp/src/IceBox/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
-IceBox.cpp
-IceBox.h
diff --git a/cpp/src/IceBox/Makefile b/cpp/src/IceBox/Makefile
deleted file mode 100644
index acacecfc27a..00000000000
--- a/cpp/src/IceBox/Makefile
+++ /dev/null
@@ -1,74 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,IceBox,$(VERSION))
-SONAME = $(call mksoname,IceBox,$(SOVERSION))
-LIBNAME = $(call mklibname,IceBox)
-
-SERVER = $(bindir)/icebox$(binsuffix)
-ADMIN = $(bindir)/iceboxadmin
-
-LIBTARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)$(cpp11libdirsuffix)/$(LIBNAME))
-TARGETS = $(LIBTARGETS) $(SERVER) $(ADMIN)
-
-SLICE_OBJS = IceBox.o
-
-LIB_OBJS = Exception.o \
- $(SLICE_OBJS)
-
-SOBJS = Service.o \
- ServiceManagerI.o
-
-AOBJS = Admin.o
-
-OBJS = $(LIB_OBJS) \
- $(SOBJS) \
- $(AOBJS)
-
-HDIR = $(headerdir)/IceBox
-SDIR = $(slicedir)/IceBox
-
-RPATH_DIR = $(LOADER_PATH)/../$(libsubdir)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I.. $(CPPFLAGS)
-SLICE2CPPFLAGS := --checksum --ice --dll-export ICE_BOX_API --include-dir IceBox $(SLICE2CPPFLAGS)
-LINKWITH := $(BZIP2_RPATH_LINK) -lIce -lIceUtil
-
-$(libdir)/$(LIBFILENAME): $(LIB_OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(LIB_OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)$(cpp11libdirsuffix)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)$(cpp11libdirsuffix)
- rm -f $@
- ln -s $(cpp11sonamedir)$(SONAME) $@
-
-$(SERVER): $(SOBJS) $(LIBTARGETS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) -lIceBox $(LIBS)
-
-$(ADMIN): $(AOBJS) $(LIBTARGETS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(AOBJS) -lIceBox $(LIBS)
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
- $(call installprogram,$(SERVER),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/icebox.1,$(DESTDIR)$(install_mandir))
- $(call installprogram,$(ADMIN),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/iceboxadmin.1,$(DESTDIR)$(install_mandir))
diff --git a/cpp/src/IceBox/Makefile.mk b/cpp/src/IceBox/Makefile.mk
new file mode 100644
index 00000000000..f1499a055b0
--- /dev/null
+++ b/cpp/src/IceBox/Makefile.mk
@@ -0,0 +1,26 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries := IceBox
+$(project)_programs := icebox iceboxadmin
+$(project)_dependencies := Ice IceUtil
+$(project)_sliceflags := --include-dir IceBox --dll-export ICEBOX_API
+
+IceBox_targetdir := $(libdir)
+IceBox_sources := $(slicedir)/IceBox/IceBox.ice $(currentdir)/Exception.cpp
+
+icebox_targetdir := $(bindir)
+icebox_sources := $(currentdir)/Service.cpp $(currentdir)/ServiceManagerI.cpp
+icebox_dependencies := IceBox
+
+iceboxadmin_targetdir := $(bindir)
+iceboxadmin_sources := $(currentdir)/Admin.cpp
+iceboxadmin_dependencies:= IceBox
+
+projects += $(project)
diff --git a/cpp/src/IceDB/Makefile b/cpp/src/IceDB/Makefile
deleted file mode 100644
index 57331b59756..00000000000
--- a/cpp/src/IceDB/Makefile
+++ /dev/null
@@ -1,44 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,IceDB,$(VERSION))
-SONAME = $(call mksoname,IceDB,$(SOVERSION))
-LIBNAME = $(call mklibname,IceDB)
-
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)$(cpp11libdirsuffix)/$(LIBNAME))
-
-OBJS = IceDB.o
-
-RPATH_DIR = $(LOADER_PATH)/../$(libsubdir)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := $(CPPFLAGS) -DICE_DB_API_EXPORTS -I.. $(LMDB_FLAGS)
-LINKWITH := -lIce -lIceUtil $(LMDB_LIBS)
-
-$(libdir)/$(LIBFILENAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)$(cpp11libdirsuffix)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)$(cpp11libdirsuffix)
- rm -f $@
- ln -s $(cpp11sonamedir)$(SONAME) $@
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
- $(call installprogram,$(ADMIN),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/icestormadmin.1,$(DESTDIR)$(install_mandir))
diff --git a/cpp/test/Slice/utf8BOM/Makefile b/cpp/src/IceDB/Makefile.mk
index 81e40e9a6c8..dc609000c3c 100644
--- a/cpp/test/Slice/utf8BOM/Makefile
+++ b/cpp/src/IceDB/Makefile.mk
@@ -1,21 +1,18 @@
# **********************************************************************
#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
#
# **********************************************************************
-top_srcdir = ../../..
+$(project)_libraries = IceDB
-TARGETS = $(OBJS)
+IceDB_targetdir := $(libdir)
+IceDB_dependencies := Ice IceUtil
+IceDB_libs := lmdb
+IceDB_cppflags := -DICE_DB_API_EXPORTS
-SLICE_OBJS = Test.o
+projects += $(project)
-OBJS = $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-SLICE2CPPFLAGS := -I. $(SLICE2CPPFLAGS)
-CPPFLAGS := -I. $(CPPFLAGS)
diff --git a/cpp/src/IceDiscovery/.gitignore b/cpp/src/IceDiscovery/.gitignore
deleted file mode 100644
index 07790f7db33..00000000000
--- a/cpp/src/IceDiscovery/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
-IceDiscovery.cpp
-IceDiscovery.h
diff --git a/cpp/src/IceDiscovery/Makefile b/cpp/src/IceDiscovery/Makefile
deleted file mode 100644
index b9f4f5dd9e3..00000000000
--- a/cpp/src/IceDiscovery/Makefile
+++ /dev/null
@@ -1,65 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,IceDiscovery,$(VERSION))
-SONAME = $(call mksoname,IceDiscovery,$(SOVERSION))
-LIBNAME = $(call mklibname,IceDiscovery)
-
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)$(cpp11libdirsuffix)/$(LIBNAME))
-
-SLICE_OBJS = IceDiscovery.o
-
-OBJS = LocatorI.o \
- LookupI.o \
- PluginI.o \
- $(SLICE_OBJS)
-
-HDIR = $(headerdir)/IceDiscovery
-SDIR = $(slicedir)/IceDiscovery
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I.. $(CPPFLAGS) -DICE_DISCOVERY_API_EXPORTS
-SLICE2CPPFLAGS := --ice --include-dir IceDiscovery $(SLICE2CPPFLAGS)
-
-LINKWITH := -lIce -lIceUtil $(CXXLIBS)
-
-ifeq ($(STATICLIBS),yes)
-$(libdir)/$(LIBNAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mklib,$@,$(OBJS))
-else
-$(libdir)/$(LIBFILENAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)$(cpp11libdirsuffix)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)$(cpp11libdirsuffix)
- rm -f $@
- ln -s $(cpp11sonamedir)$(SONAME) $@
-endif
-
-../IceDiscovery/IceDiscovery.h IceDiscovery.cpp: \
- $(slicedir)/IceDiscovery/IceDiscovery.ice $(SLICE2CPP) $(SLICEPARSERLIB)
- rm -f IceDiscovery.h IceDiscovery.cpp
- $(SLICE2CPP) $(SLICE2CPPFLAGS) $(slicedir)/IceDiscovery/IceDiscovery.ice
- @touch IceDiscovery.cpp
- @mkdir -p .depend
- @$(SLICE2CPP) $(SLICE2CPPFLAGS) --depend $(slicedir)/IceDiscovery/IceDiscovery.ice > .depend/IceDiscovery.ice.d
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/cpp/src/IceDiscovery/Makefile.mk b/cpp/src/IceDiscovery/Makefile.mk
new file mode 100644
index 00000000000..67ee53b1c8f
--- /dev/null
+++ b/cpp/src/IceDiscovery/Makefile.mk
@@ -0,0 +1,18 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries := IceDiscovery
+
+IceDiscovery_targetdir := $(libdir)
+IceDiscovery_dependencies := Ice IceUtil
+IceDiscovery_sliceflags := --include-dir IceDiscovery
+IceDiscovery_generated_includedir := $(project)/generated/IceDiscovery
+IceDiscovery_cppflags := -DICE_DISCOVERY_API_EXPORTS
+
+projects += $(project)
diff --git a/cpp/src/IceGrid/.gitignore b/cpp/src/IceGrid/.gitignore
deleted file mode 100644
index 0115ebcad98..00000000000
--- a/cpp/src/IceGrid/.gitignore
+++ /dev/null
@@ -1,11 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
-Internal.cpp
-IceLocatorDiscovery.cpp
-DBTypes.cpp
-Internal.h
-DBTypes.h
-DBTypes.cpp
diff --git a/cpp/src/IceGrid/Grammar.cpp b/cpp/src/IceGrid/Grammar.cpp
index d7aa96978c6..a10ceeee3fc 100644
--- a/cpp/src/IceGrid/Grammar.cpp
+++ b/cpp/src/IceGrid/Grammar.cpp
@@ -1,23 +1,24 @@
-
-/* A Bison parser, made by GNU Bison 2.4.1. */
+/* A Bison parser, made by GNU Bison 2.3. */
/* Skeleton implementation for Bison's Yacc-like parsers in C
-
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
+
+ This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
This program 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 General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -28,7 +29,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -46,7 +47,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.4.1"
+#define YYBISON_VERSION "2.3"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -54,21 +55,106 @@
/* Pure parsers. */
#define YYPURE 1
-/* Push parsers. */
-#define YYPUSH 0
-
-/* Pull parsers. */
-#define YYPULL 1
-
/* Using locations. */
#define YYLSP_NEEDED 0
-/* Copy the first part of user declarations. */
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ ICE_GRID_HELP = 258,
+ ICE_GRID_EXIT = 259,
+ ICE_GRID_APPLICATION = 260,
+ ICE_GRID_NODE = 261,
+ ICE_GRID_REGISTRY = 262,
+ ICE_GRID_SERVER = 263,
+ ICE_GRID_ADAPTER = 264,
+ ICE_GRID_PING = 265,
+ ICE_GRID_LOAD = 266,
+ ICE_GRID_SOCKETS = 267,
+ ICE_GRID_ADD = 268,
+ ICE_GRID_REMOVE = 269,
+ ICE_GRID_LIST = 270,
+ ICE_GRID_SHUTDOWN = 271,
+ ICE_GRID_STRING = 272,
+ ICE_GRID_START = 273,
+ ICE_GRID_STOP = 274,
+ ICE_GRID_PATCH = 275,
+ ICE_GRID_SIGNAL = 276,
+ ICE_GRID_STDOUT = 277,
+ ICE_GRID_STDERR = 278,
+ ICE_GRID_DESCRIBE = 279,
+ ICE_GRID_PROPERTIES = 280,
+ ICE_GRID_PROPERTY = 281,
+ ICE_GRID_STATE = 282,
+ ICE_GRID_PID = 283,
+ ICE_GRID_ENDPOINTS = 284,
+ ICE_GRID_ACTIVATION = 285,
+ ICE_GRID_OBJECT = 286,
+ ICE_GRID_FIND = 287,
+ ICE_GRID_SHOW = 288,
+ ICE_GRID_COPYING = 289,
+ ICE_GRID_WARRANTY = 290,
+ ICE_GRID_DIFF = 291,
+ ICE_GRID_UPDATE = 292,
+ ICE_GRID_INSTANTIATE = 293,
+ ICE_GRID_TEMPLATE = 294,
+ ICE_GRID_SERVICE = 295,
+ ICE_GRID_ENABLE = 296,
+ ICE_GRID_DISABLE = 297
+ };
+#endif
+/* Tokens. */
+#define ICE_GRID_HELP 258
+#define ICE_GRID_EXIT 259
+#define ICE_GRID_APPLICATION 260
+#define ICE_GRID_NODE 261
+#define ICE_GRID_REGISTRY 262
+#define ICE_GRID_SERVER 263
+#define ICE_GRID_ADAPTER 264
+#define ICE_GRID_PING 265
+#define ICE_GRID_LOAD 266
+#define ICE_GRID_SOCKETS 267
+#define ICE_GRID_ADD 268
+#define ICE_GRID_REMOVE 269
+#define ICE_GRID_LIST 270
+#define ICE_GRID_SHUTDOWN 271
+#define ICE_GRID_STRING 272
+#define ICE_GRID_START 273
+#define ICE_GRID_STOP 274
+#define ICE_GRID_PATCH 275
+#define ICE_GRID_SIGNAL 276
+#define ICE_GRID_STDOUT 277
+#define ICE_GRID_STDERR 278
+#define ICE_GRID_DESCRIBE 279
+#define ICE_GRID_PROPERTIES 280
+#define ICE_GRID_PROPERTY 281
+#define ICE_GRID_STATE 282
+#define ICE_GRID_PID 283
+#define ICE_GRID_ENDPOINTS 284
+#define ICE_GRID_ACTIVATION 285
+#define ICE_GRID_OBJECT 286
+#define ICE_GRID_FIND 287
+#define ICE_GRID_SHOW 288
+#define ICE_GRID_COPYING 289
+#define ICE_GRID_WARRANTY 290
+#define ICE_GRID_DIFF 291
+#define ICE_GRID_UPDATE 292
+#define ICE_GRID_INSTANTIATE 293
+#define ICE_GRID_TEMPLATE 294
+#define ICE_GRID_SERVICE 295
+#define ICE_GRID_ENABLE 296
+#define ICE_GRID_DISABLE 297
-/* Line 189 of yacc.c */
-#line 1 "Grammar.y"
+
+
+
+/* Copy the first part of user declarations. */
+#line 1 "src/IceGrid/Grammar.y"
// **********************************************************************
@@ -110,9 +196,6 @@ yyerror(const char* s)
-/* Line 189 of yacc.c */
-#line 115 "Grammar.tab.c"
-
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 1
@@ -131,71 +214,20 @@ yyerror(const char* s)
# define YYTOKEN_TABLE 0
#endif
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- ICE_GRID_HELP = 258,
- ICE_GRID_EXIT = 259,
- ICE_GRID_APPLICATION = 260,
- ICE_GRID_NODE = 261,
- ICE_GRID_REGISTRY = 262,
- ICE_GRID_SERVER = 263,
- ICE_GRID_ADAPTER = 264,
- ICE_GRID_PING = 265,
- ICE_GRID_LOAD = 266,
- ICE_GRID_SOCKETS = 267,
- ICE_GRID_ADD = 268,
- ICE_GRID_REMOVE = 269,
- ICE_GRID_LIST = 270,
- ICE_GRID_SHUTDOWN = 271,
- ICE_GRID_STRING = 272,
- ICE_GRID_START = 273,
- ICE_GRID_STOP = 274,
- ICE_GRID_PATCH = 275,
- ICE_GRID_SIGNAL = 276,
- ICE_GRID_STDOUT = 277,
- ICE_GRID_STDERR = 278,
- ICE_GRID_DESCRIBE = 279,
- ICE_GRID_PROPERTIES = 280,
- ICE_GRID_PROPERTY = 281,
- ICE_GRID_STATE = 282,
- ICE_GRID_PID = 283,
- ICE_GRID_ENDPOINTS = 284,
- ICE_GRID_ACTIVATION = 285,
- ICE_GRID_OBJECT = 286,
- ICE_GRID_FIND = 287,
- ICE_GRID_SHOW = 288,
- ICE_GRID_COPYING = 289,
- ICE_GRID_WARRANTY = 290,
- ICE_GRID_DIFF = 291,
- ICE_GRID_UPDATE = 292,
- ICE_GRID_INSTANTIATE = 293,
- ICE_GRID_TEMPLATE = 294,
- ICE_GRID_SERVICE = 295,
- ICE_GRID_ENABLE = 296,
- ICE_GRID_DISABLE = 297
- };
-#endif
-
-
-
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef int YYSTYPE;
-# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
#endif
+
/* Copy the second part of user declarations. */
-/* Line 264 of yacc.c */
-#line 199 "Grammar.tab.c"
+/* Line 216 of yacc.c. */
+#line 231 "src/IceGrid/Grammar.cpp"
#ifdef short
# undef short
@@ -245,7 +277,7 @@ typedef short int yytype_int16;
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
#ifndef YY_
-# if YYENABLE_NLS
+# if defined YYENABLE_NLS && YYENABLE_NLS
# if ENABLE_NLS
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
# define YY_(msgid) dgettext ("bison-runtime", msgid)
@@ -270,14 +302,14 @@ typedef short int yytype_int16;
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int yyi)
+YYID (int i)
#else
static int
-YYID (yyi)
- int yyi;
+YYID (i)
+ int i;
#endif
{
- return yyi;
+ return i;
}
#endif
@@ -358,9 +390,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss_alloc;
- YYSTYPE yyvs_alloc;
-};
+ yytype_int16 yyss;
+ YYSTYPE yyvs;
+ };
/* The size of the maximum gap between one aligned stack and the next. */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
@@ -394,12 +426,12 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
+# define YYSTACK_RELOCATE(Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
- Stack = &yyptr->Stack_alloc; \
+ YYCOPY (&yyptr->Stack, Stack, yysize); \
+ Stack = &yyptr->Stack; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
@@ -1421,7 +1453,7 @@ while (YYID (0))
we won't break user code: when these are the locations we know. */
#ifndef YY_LOCATION_PRINT
-# if YYLTYPE_IS_TRIVIAL
+# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
# define YY_LOCATION_PRINT(File, Loc) \
fprintf (File, "%d.%d-%d.%d", \
(Loc).first_line, (Loc).first_column, \
@@ -1532,20 +1564,17 @@ yy_symbol_print (yyoutput, yytype, yyvaluep)
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
+yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
#else
static void
-yy_stack_print (yybottom, yytop)
- yytype_int16 *yybottom;
- yytype_int16 *yytop;
+yy_stack_print (bottom, top)
+ yytype_int16 *bottom;
+ yytype_int16 *top;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; yybottom <= yytop; yybottom++)
- {
- int yybot = *yybottom;
- YYFPRINTF (stderr, " %d", yybot);
- }
+ for (; bottom <= top; ++bottom)
+ YYFPRINTF (stderr, " %d", *bottom);
YYFPRINTF (stderr, "\n");
}
@@ -1579,11 +1608,11 @@ yy_reduce_print (yyvsp, yyrule)
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- YYFPRINTF (stderr, " $%d = ", yyi + 1);
+ fprintf (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
);
- YYFPRINTF (stderr, "\n");
+ fprintf (stderr, "\n");
}
}
@@ -1863,8 +1892,10 @@ yydestruct (yymsg, yytype, yyvaluep)
break;
}
}
+
/* Prevent warnings from -Wmissing-prototypes. */
+
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
@@ -1883,9 +1914,10 @@ int yyparse ();
-/*-------------------------.
-| yyparse or yypush_parse. |
-`-------------------------*/
+
+/*----------.
+| yyparse. |
+`----------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -1909,46 +1941,22 @@ yyparse ()
#endif
#endif
{
-/* The lookahead symbol. */
+ /* The look-ahead symbol. */
int yychar;
-/* The semantic value of the lookahead symbol. */
+/* The semantic value of the look-ahead symbol. */
YYSTYPE yylval;
- /* Number of syntax errors so far. */
- int yynerrs;
-
- int yystate;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
-
- /* The stacks and their tools:
- `yyss': related to states.
- `yyvs': related to semantic values.
-
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
-
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss;
- yytype_int16 *yyssp;
-
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs;
- YYSTYPE *yyvsp;
-
- YYSIZE_T yystacksize;
+/* Number of syntax errors so far. */
+int yynerrs;
+ int yystate;
int yyn;
int yyresult;
- /* Lookahead token as an internal (translated) token number. */
- int yytoken;
- /* The variables used to return semantic value and location from the
- action routines. */
- YYSTYPE yyval;
-
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+ /* Look-ahead token as an internal (translated) token number. */
+ int yytoken = 0;
#if YYERROR_VERBOSE
/* Buffer for error messages, and its allocated size. */
char yymsgbuf[128];
@@ -1956,28 +1964,51 @@ YYSTYPE yylval;
YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
#endif
+ /* Three stacks and their tools:
+ `yyss': related to states,
+ `yyvs': related to semantic values,
+ `yyls': related to locations.
+
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss = yyssa;
+ yytype_int16 *yyssp;
+
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs = yyvsa;
+ YYSTYPE *yyvsp;
+
+
+
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
+ YYSIZE_T yystacksize = YYINITDEPTH;
+
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
+
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
- yytoken = 0;
- yyss = yyssa;
- yyvs = yyvsa;
- yystacksize = YYINITDEPTH;
-
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
+
yyssp = yyss;
yyvsp = yyvs;
@@ -2007,6 +2038,7 @@ YYSTYPE yylval;
YYSTYPE *yyvs1 = yyvs;
yytype_int16 *yyss1 = yyss;
+
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
@@ -2014,6 +2046,7 @@ YYSTYPE yylval;
yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
+
&yystacksize);
yyss = yyss1;
@@ -2036,8 +2069,9 @@ YYSTYPE yylval;
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss_alloc, yyss);
- YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+ YYSTACK_RELOCATE (yyss);
+ YYSTACK_RELOCATE (yyvs);
+
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -2048,6 +2082,7 @@ YYSTYPE yylval;
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
+
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
@@ -2057,9 +2092,6 @@ YYSTYPE yylval;
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
- if (yystate == YYFINAL)
- YYACCEPT;
-
goto yybackup;
/*-----------.
@@ -2068,16 +2100,16 @@ YYSTYPE yylval;
yybackup:
/* Do appropriate processing given the current state. Read a
- lookahead token if we need one and don't already have one. */
+ look-ahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to lookahead token. */
+ /* First try to decide what to do without reference to look-ahead token. */
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
goto yydefault;
- /* Not known => get a lookahead token if don't already have one. */
+ /* Not known => get a look-ahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
@@ -2109,16 +2141,20 @@ yybackup:
goto yyreduce;
}
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the lookahead token. */
+ /* Shift the look-ahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token. */
- yychar = YYEMPTY;
+ /* Discard the shifted token unless it is eof. */
+ if (yychar != YYEOF)
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
@@ -2158,1049 +2194,815 @@ yyreduce:
switch (yyn)
{
case 2:
-
-/* Line 1455 of yacc.c */
-#line 96 "Grammar.y"
+#line 96 "src/IceGrid/Grammar.y"
{
;}
break;
case 3:
-
-/* Line 1455 of yacc.c */
-#line 99 "Grammar.y"
+#line 99 "src/IceGrid/Grammar.y"
{
;}
break;
case 4:
-
-/* Line 1455 of yacc.c */
-#line 107 "Grammar.y"
+#line 107 "src/IceGrid/Grammar.y"
{
;}
break;
case 5:
-
-/* Line 1455 of yacc.c */
-#line 110 "Grammar.y"
+#line 110 "src/IceGrid/Grammar.y"
{
;}
break;
case 6:
-
-/* Line 1455 of yacc.c */
-#line 116 "Grammar.y"
+#line 116 "src/IceGrid/Grammar.y"
{
parser->checkInterrupted();
;}
break;
case 7:
-
-/* Line 1455 of yacc.c */
-#line 125 "Grammar.y"
+#line 125 "src/IceGrid/Grammar.y"
{
parser->usage();
;}
break;
case 8:
-
-/* Line 1455 of yacc.c */
-#line 129 "Grammar.y"
+#line 129 "src/IceGrid/Grammar.y"
{
return 0;
;}
break;
case 9:
-
-/* Line 1455 of yacc.c */
-#line 133 "Grammar.y"
+#line 133 "src/IceGrid/Grammar.y"
{
parser->addApplication((yyvsp[(3) - (4)]));
;}
break;
case 10:
-
-/* Line 1455 of yacc.c */
-#line 137 "Grammar.y"
+#line 137 "src/IceGrid/Grammar.y"
{
parser->usage("application", "add");
;}
break;
case 11:
-
-/* Line 1455 of yacc.c */
-#line 141 "Grammar.y"
+#line 141 "src/IceGrid/Grammar.y"
{
parser->removeApplication((yyvsp[(3) - (4)]));
;}
break;
case 12:
-
-/* Line 1455 of yacc.c */
-#line 145 "Grammar.y"
+#line 145 "src/IceGrid/Grammar.y"
{
parser->usage("application", "remove");
;}
break;
case 13:
-
-/* Line 1455 of yacc.c */
-#line 149 "Grammar.y"
+#line 149 "src/IceGrid/Grammar.y"
{
parser->diffApplication((yyvsp[(3) - (4)]));
;}
break;
case 14:
-
-/* Line 1455 of yacc.c */
-#line 153 "Grammar.y"
+#line 153 "src/IceGrid/Grammar.y"
{
parser->usage("application", "diff");
;}
break;
case 15:
-
-/* Line 1455 of yacc.c */
-#line 157 "Grammar.y"
+#line 157 "src/IceGrid/Grammar.y"
{
parser->updateApplication((yyvsp[(3) - (4)]));
;}
break;
case 16:
-
-/* Line 1455 of yacc.c */
-#line 161 "Grammar.y"
+#line 161 "src/IceGrid/Grammar.y"
{
parser->usage("application", "update");
;}
break;
case 17:
-
-/* Line 1455 of yacc.c */
-#line 165 "Grammar.y"
+#line 165 "src/IceGrid/Grammar.y"
{
parser->describeApplication((yyvsp[(3) - (4)]));
;}
break;
case 18:
-
-/* Line 1455 of yacc.c */
-#line 169 "Grammar.y"
+#line 169 "src/IceGrid/Grammar.y"
{
parser->usage("application", "describe");
;}
break;
case 19:
-
-/* Line 1455 of yacc.c */
-#line 173 "Grammar.y"
+#line 173 "src/IceGrid/Grammar.y"
{
parser->patchApplication((yyvsp[(3) - (4)]));
;}
break;
case 20:
-
-/* Line 1455 of yacc.c */
-#line 177 "Grammar.y"
+#line 177 "src/IceGrid/Grammar.y"
{
parser->usage("application", "patch");
;}
break;
case 21:
-
-/* Line 1455 of yacc.c */
-#line 181 "Grammar.y"
+#line 181 "src/IceGrid/Grammar.y"
{
parser->listAllApplications((yyvsp[(3) - (4)]));
;}
break;
case 22:
-
-/* Line 1455 of yacc.c */
-#line 185 "Grammar.y"
+#line 185 "src/IceGrid/Grammar.y"
{
parser->usage("application", "list");
;}
break;
case 23:
-
-/* Line 1455 of yacc.c */
-#line 189 "Grammar.y"
+#line 189 "src/IceGrid/Grammar.y"
{
parser->describeServerTemplate((yyvsp[(4) - (5)]));
;}
break;
case 24:
-
-/* Line 1455 of yacc.c */
-#line 193 "Grammar.y"
+#line 193 "src/IceGrid/Grammar.y"
{
parser->usage("server template", "describe");
;}
break;
case 25:
-
-/* Line 1455 of yacc.c */
-#line 197 "Grammar.y"
+#line 197 "src/IceGrid/Grammar.y"
{
parser->instantiateServerTemplate((yyvsp[(4) - (5)]));
;}
break;
case 26:
-
-/* Line 1455 of yacc.c */
-#line 201 "Grammar.y"
+#line 201 "src/IceGrid/Grammar.y"
{
parser->usage("server template", "instantiate");
;}
break;
case 27:
-
-/* Line 1455 of yacc.c */
-#line 205 "Grammar.y"
+#line 205 "src/IceGrid/Grammar.y"
{
parser->usage("server template");
;}
break;
case 28:
-
-/* Line 1455 of yacc.c */
-#line 209 "Grammar.y"
+#line 209 "src/IceGrid/Grammar.y"
{
parser->describeServiceTemplate((yyvsp[(4) - (5)]));
;}
break;
case 29:
-
-/* Line 1455 of yacc.c */
-#line 213 "Grammar.y"
+#line 213 "src/IceGrid/Grammar.y"
{
parser->usage("service template", "describe");
;}
break;
case 30:
-
-/* Line 1455 of yacc.c */
-#line 217 "Grammar.y"
+#line 217 "src/IceGrid/Grammar.y"
{
parser->usage("service template");
;}
break;
case 31:
-
-/* Line 1455 of yacc.c */
-#line 221 "Grammar.y"
+#line 221 "src/IceGrid/Grammar.y"
{
parser->describeNode((yyvsp[(3) - (4)]));
;}
break;
case 32:
-
-/* Line 1455 of yacc.c */
-#line 225 "Grammar.y"
+#line 225 "src/IceGrid/Grammar.y"
{
parser->usage("node", "describe");
;}
break;
case 33:
-
-/* Line 1455 of yacc.c */
-#line 229 "Grammar.y"
+#line 229 "src/IceGrid/Grammar.y"
{
parser->pingNode((yyvsp[(3) - (4)]));
;}
break;
case 34:
-
-/* Line 1455 of yacc.c */
-#line 233 "Grammar.y"
+#line 233 "src/IceGrid/Grammar.y"
{
parser->usage("node", "ping");
;}
break;
case 35:
-
-/* Line 1455 of yacc.c */
-#line 237 "Grammar.y"
+#line 237 "src/IceGrid/Grammar.y"
{
parser->printLoadNode((yyvsp[(3) - (4)]));
;}
break;
case 36:
-
-/* Line 1455 of yacc.c */
-#line 241 "Grammar.y"
+#line 241 "src/IceGrid/Grammar.y"
{
parser->usage("node", "load");
;}
break;
case 37:
-
-/* Line 1455 of yacc.c */
-#line 245 "Grammar.y"
+#line 245 "src/IceGrid/Grammar.y"
{
parser->printNodeProcessorSockets((yyvsp[(3) - (4)]));
;}
break;
case 38:
-
-/* Line 1455 of yacc.c */
-#line 249 "Grammar.y"
+#line 249 "src/IceGrid/Grammar.y"
{
parser->usage("node", "sockets");
;}
break;
case 39:
-
-/* Line 1455 of yacc.c */
-#line 253 "Grammar.y"
+#line 253 "src/IceGrid/Grammar.y"
{
parser->shutdownNode((yyvsp[(3) - (4)]));
;}
break;
case 40:
-
-/* Line 1455 of yacc.c */
-#line 257 "Grammar.y"
+#line 257 "src/IceGrid/Grammar.y"
{
parser->usage("node", "shutdown");
;}
break;
case 41:
-
-/* Line 1455 of yacc.c */
-#line 261 "Grammar.y"
+#line 261 "src/IceGrid/Grammar.y"
{
parser->listAllNodes((yyvsp[(3) - (4)]));
;}
break;
case 42:
-
-/* Line 1455 of yacc.c */
-#line 265 "Grammar.y"
+#line 265 "src/IceGrid/Grammar.y"
{
parser->usage("node", "list");
;}
break;
case 43:
-
-/* Line 1455 of yacc.c */
-#line 269 "Grammar.y"
+#line 269 "src/IceGrid/Grammar.y"
{
parser->show("node", (yyvsp[(3) - (4)]));
;}
break;
case 44:
-
-/* Line 1455 of yacc.c */
-#line 273 "Grammar.y"
+#line 273 "src/IceGrid/Grammar.y"
{
parser->usage("node", "show");
;}
break;
case 45:
-
-/* Line 1455 of yacc.c */
-#line 277 "Grammar.y"
+#line 277 "src/IceGrid/Grammar.y"
{
parser->describeRegistry((yyvsp[(3) - (4)]));
;}
break;
case 46:
-
-/* Line 1455 of yacc.c */
-#line 281 "Grammar.y"
+#line 281 "src/IceGrid/Grammar.y"
{
parser->usage("registry", "describe");
;}
break;
case 47:
-
-/* Line 1455 of yacc.c */
-#line 285 "Grammar.y"
+#line 285 "src/IceGrid/Grammar.y"
{
parser->pingRegistry((yyvsp[(3) - (4)]));
;}
break;
case 48:
-
-/* Line 1455 of yacc.c */
-#line 289 "Grammar.y"
+#line 289 "src/IceGrid/Grammar.y"
{
parser->usage("registry", "ping");
;}
break;
case 49:
-
-/* Line 1455 of yacc.c */
-#line 293 "Grammar.y"
+#line 293 "src/IceGrid/Grammar.y"
{
parser->shutdownRegistry((yyvsp[(3) - (4)]));
;}
break;
case 50:
-
-/* Line 1455 of yacc.c */
-#line 297 "Grammar.y"
+#line 297 "src/IceGrid/Grammar.y"
{
parser->usage("registry", "shutdown");
;}
break;
case 51:
-
-/* Line 1455 of yacc.c */
-#line 301 "Grammar.y"
+#line 301 "src/IceGrid/Grammar.y"
{
parser->listAllRegistries((yyvsp[(3) - (4)]));
;}
break;
case 52:
-
-/* Line 1455 of yacc.c */
-#line 305 "Grammar.y"
+#line 305 "src/IceGrid/Grammar.y"
{
parser->usage("registry", "list");
;}
break;
case 53:
-
-/* Line 1455 of yacc.c */
-#line 309 "Grammar.y"
+#line 309 "src/IceGrid/Grammar.y"
{
parser->show("registry", (yyvsp[(3) - (4)]));
;}
break;
case 54:
-
-/* Line 1455 of yacc.c */
-#line 313 "Grammar.y"
+#line 313 "src/IceGrid/Grammar.y"
{
parser->usage("registry", "show");
;}
break;
case 55:
-
-/* Line 1455 of yacc.c */
-#line 317 "Grammar.y"
+#line 317 "src/IceGrid/Grammar.y"
{
parser->removeServer((yyvsp[(3) - (4)]));
;}
break;
case 56:
-
-/* Line 1455 of yacc.c */
-#line 321 "Grammar.y"
+#line 321 "src/IceGrid/Grammar.y"
{
parser->usage("server", "remove");
;}
break;
case 57:
-
-/* Line 1455 of yacc.c */
-#line 325 "Grammar.y"
+#line 325 "src/IceGrid/Grammar.y"
{
parser->describeServer((yyvsp[(3) - (4)]));
;}
break;
case 58:
-
-/* Line 1455 of yacc.c */
-#line 329 "Grammar.y"
+#line 329 "src/IceGrid/Grammar.y"
{
parser->usage("server", "describe");
;}
break;
case 59:
-
-/* Line 1455 of yacc.c */
-#line 333 "Grammar.y"
+#line 333 "src/IceGrid/Grammar.y"
{
parser->startServer((yyvsp[(3) - (4)]));
;}
break;
case 60:
-
-/* Line 1455 of yacc.c */
-#line 337 "Grammar.y"
+#line 337 "src/IceGrid/Grammar.y"
{
parser->usage("server", "start");
;}
break;
case 61:
-
-/* Line 1455 of yacc.c */
-#line 341 "Grammar.y"
+#line 341 "src/IceGrid/Grammar.y"
{
parser->stopServer((yyvsp[(3) - (4)]));
;}
break;
case 62:
-
-/* Line 1455 of yacc.c */
-#line 345 "Grammar.y"
+#line 345 "src/IceGrid/Grammar.y"
{
parser->usage("server", "stop");
;}
break;
case 63:
-
-/* Line 1455 of yacc.c */
-#line 349 "Grammar.y"
+#line 349 "src/IceGrid/Grammar.y"
{
parser->patchServer((yyvsp[(3) - (4)]));
;}
break;
case 64:
-
-/* Line 1455 of yacc.c */
-#line 353 "Grammar.y"
+#line 353 "src/IceGrid/Grammar.y"
{
parser->usage("server", "patch");
;}
break;
case 65:
-
-/* Line 1455 of yacc.c */
-#line 357 "Grammar.y"
+#line 357 "src/IceGrid/Grammar.y"
{
parser->signalServer((yyvsp[(3) - (4)]));
;}
break;
case 66:
-
-/* Line 1455 of yacc.c */
-#line 361 "Grammar.y"
+#line 361 "src/IceGrid/Grammar.y"
{
parser->usage("server", "signal");
;}
break;
case 67:
-
-/* Line 1455 of yacc.c */
-#line 365 "Grammar.y"
+#line 365 "src/IceGrid/Grammar.y"
{
parser->writeMessage((yyvsp[(3) - (4)]), 1);
;}
break;
case 68:
-
-/* Line 1455 of yacc.c */
-#line 369 "Grammar.y"
+#line 369 "src/IceGrid/Grammar.y"
{
parser->usage("server", "stdout");
;}
break;
case 69:
-
-/* Line 1455 of yacc.c */
-#line 373 "Grammar.y"
+#line 373 "src/IceGrid/Grammar.y"
{
parser->writeMessage((yyvsp[(3) - (4)]), 2);
;}
break;
case 70:
-
-/* Line 1455 of yacc.c */
-#line 377 "Grammar.y"
+#line 377 "src/IceGrid/Grammar.y"
{
parser->usage("server", "stderr");
;}
break;
case 71:
-
-/* Line 1455 of yacc.c */
-#line 381 "Grammar.y"
+#line 381 "src/IceGrid/Grammar.y"
{
parser->stateServer((yyvsp[(3) - (4)]));
;}
break;
case 72:
-
-/* Line 1455 of yacc.c */
-#line 385 "Grammar.y"
+#line 385 "src/IceGrid/Grammar.y"
{
parser->usage("server", "start");
;}
break;
case 73:
-
-/* Line 1455 of yacc.c */
-#line 389 "Grammar.y"
+#line 389 "src/IceGrid/Grammar.y"
{
parser->pidServer((yyvsp[(3) - (4)]));
;}
break;
case 74:
-
-/* Line 1455 of yacc.c */
-#line 393 "Grammar.y"
+#line 393 "src/IceGrid/Grammar.y"
{
parser->usage("server", "pid");
;}
break;
case 75:
-
-/* Line 1455 of yacc.c */
-#line 397 "Grammar.y"
+#line 397 "src/IceGrid/Grammar.y"
{
parser->propertiesServer((yyvsp[(3) - (4)]), false);
;}
break;
case 76:
-
-/* Line 1455 of yacc.c */
-#line 401 "Grammar.y"
+#line 401 "src/IceGrid/Grammar.y"
{
parser->usage("server", "properties");
;}
break;
case 77:
-
-/* Line 1455 of yacc.c */
-#line 405 "Grammar.y"
+#line 405 "src/IceGrid/Grammar.y"
{
parser->propertiesServer((yyvsp[(3) - (4)]), true);
;}
break;
case 78:
-
-/* Line 1455 of yacc.c */
-#line 409 "Grammar.y"
+#line 409 "src/IceGrid/Grammar.y"
{
parser->usage("server", "property");
;}
break;
case 79:
-
-/* Line 1455 of yacc.c */
-#line 413 "Grammar.y"
+#line 413 "src/IceGrid/Grammar.y"
{
parser->enableServer((yyvsp[(3) - (4)]), true);
;}
break;
case 80:
-
-/* Line 1455 of yacc.c */
-#line 417 "Grammar.y"
+#line 417 "src/IceGrid/Grammar.y"
{
parser->usage("server", "enable");
;}
break;
case 81:
-
-/* Line 1455 of yacc.c */
-#line 421 "Grammar.y"
+#line 421 "src/IceGrid/Grammar.y"
{
parser->enableServer((yyvsp[(3) - (4)]), false);
;}
break;
case 82:
-
-/* Line 1455 of yacc.c */
-#line 425 "Grammar.y"
+#line 425 "src/IceGrid/Grammar.y"
{
parser->usage("server", "disable");
;}
break;
case 83:
-
-/* Line 1455 of yacc.c */
-#line 429 "Grammar.y"
+#line 429 "src/IceGrid/Grammar.y"
{
parser->listAllServers((yyvsp[(3) - (4)]));
;}
break;
case 84:
-
-/* Line 1455 of yacc.c */
-#line 433 "Grammar.y"
+#line 433 "src/IceGrid/Grammar.y"
{
parser->usage("server", "list");
;}
break;
case 85:
-
-/* Line 1455 of yacc.c */
-#line 437 "Grammar.y"
+#line 437 "src/IceGrid/Grammar.y"
{
parser->show("server", (yyvsp[(3) - (4)]));
;}
break;
case 86:
-
-/* Line 1455 of yacc.c */
-#line 441 "Grammar.y"
+#line 441 "src/IceGrid/Grammar.y"
{
parser->usage("server", "show");
;}
break;
case 87:
-
-/* Line 1455 of yacc.c */
-#line 445 "Grammar.y"
+#line 445 "src/IceGrid/Grammar.y"
{
parser->startService((yyvsp[(3) - (4)]));
;}
break;
case 88:
-
-/* Line 1455 of yacc.c */
-#line 449 "Grammar.y"
+#line 449 "src/IceGrid/Grammar.y"
{
parser->usage("service", "start");
;}
break;
case 89:
-
-/* Line 1455 of yacc.c */
-#line 453 "Grammar.y"
+#line 453 "src/IceGrid/Grammar.y"
{
parser->stopService((yyvsp[(3) - (4)]));
;}
break;
case 90:
-
-/* Line 1455 of yacc.c */
-#line 457 "Grammar.y"
+#line 457 "src/IceGrid/Grammar.y"
{
parser->usage("service", "stop");
;}
break;
case 91:
-
-/* Line 1455 of yacc.c */
-#line 461 "Grammar.y"
+#line 461 "src/IceGrid/Grammar.y"
{
parser->describeService((yyvsp[(3) - (4)]));
;}
break;
case 92:
-
-/* Line 1455 of yacc.c */
-#line 465 "Grammar.y"
+#line 465 "src/IceGrid/Grammar.y"
{
parser->usage("service", "describe");
;}
break;
case 93:
-
-/* Line 1455 of yacc.c */
-#line 469 "Grammar.y"
+#line 469 "src/IceGrid/Grammar.y"
{
parser->propertiesService((yyvsp[(3) - (4)]), false);
;}
break;
case 94:
-
-/* Line 1455 of yacc.c */
-#line 473 "Grammar.y"
+#line 473 "src/IceGrid/Grammar.y"
{
parser->usage("service", "properties");
;}
break;
case 95:
-
-/* Line 1455 of yacc.c */
-#line 477 "Grammar.y"
+#line 477 "src/IceGrid/Grammar.y"
{
parser->propertiesService((yyvsp[(3) - (4)]), true);
;}
break;
case 96:
-
-/* Line 1455 of yacc.c */
-#line 481 "Grammar.y"
+#line 481 "src/IceGrid/Grammar.y"
{
parser->usage("service", "property");
;}
break;
case 97:
-
-/* Line 1455 of yacc.c */
-#line 485 "Grammar.y"
+#line 485 "src/IceGrid/Grammar.y"
{
parser->listServices((yyvsp[(3) - (4)]));
;}
break;
case 98:
-
-/* Line 1455 of yacc.c */
-#line 489 "Grammar.y"
+#line 489 "src/IceGrid/Grammar.y"
{
parser->usage("service", "list");
;}
break;
case 99:
-
-/* Line 1455 of yacc.c */
-#line 493 "Grammar.y"
+#line 493 "src/IceGrid/Grammar.y"
{
parser->endpointsAdapter((yyvsp[(3) - (4)]));
;}
break;
case 100:
-
-/* Line 1455 of yacc.c */
-#line 497 "Grammar.y"
+#line 497 "src/IceGrid/Grammar.y"
{
parser->usage("adapter", "endpoints");
;}
break;
case 101:
-
-/* Line 1455 of yacc.c */
-#line 501 "Grammar.y"
+#line 501 "src/IceGrid/Grammar.y"
{
parser->removeAdapter((yyvsp[(3) - (4)]));
;}
break;
case 102:
-
-/* Line 1455 of yacc.c */
-#line 505 "Grammar.y"
+#line 505 "src/IceGrid/Grammar.y"
{
parser->usage("adapter", "remove");
;}
break;
case 103:
-
-/* Line 1455 of yacc.c */
-#line 509 "Grammar.y"
+#line 509 "src/IceGrid/Grammar.y"
{
parser->listAllAdapters((yyvsp[(3) - (4)]));
;}
break;
case 104:
-
-/* Line 1455 of yacc.c */
-#line 513 "Grammar.y"
+#line 513 "src/IceGrid/Grammar.y"
{
parser->usage("adapter", "list");
;}
break;
case 105:
-
-/* Line 1455 of yacc.c */
-#line 517 "Grammar.y"
+#line 517 "src/IceGrid/Grammar.y"
{
parser->addObject((yyvsp[(3) - (4)]));
;}
break;
case 106:
-
-/* Line 1455 of yacc.c */
-#line 521 "Grammar.y"
+#line 521 "src/IceGrid/Grammar.y"
{
parser->usage("object", "add");
;}
break;
case 107:
-
-/* Line 1455 of yacc.c */
-#line 525 "Grammar.y"
+#line 525 "src/IceGrid/Grammar.y"
{
parser->removeObject((yyvsp[(3) - (4)]));
;}
break;
case 108:
-
-/* Line 1455 of yacc.c */
-#line 529 "Grammar.y"
+#line 529 "src/IceGrid/Grammar.y"
{
parser->usage("object", "remove");
;}
break;
case 109:
-
-/* Line 1455 of yacc.c */
-#line 533 "Grammar.y"
+#line 533 "src/IceGrid/Grammar.y"
{
parser->findObject((yyvsp[(3) - (4)]));
;}
break;
case 110:
-
-/* Line 1455 of yacc.c */
-#line 537 "Grammar.y"
+#line 537 "src/IceGrid/Grammar.y"
{
parser->usage("object", "find");
;}
break;
case 111:
-
-/* Line 1455 of yacc.c */
-#line 541 "Grammar.y"
+#line 541 "src/IceGrid/Grammar.y"
{
parser->listObject((yyvsp[(3) - (4)]));
;}
break;
case 112:
-
-/* Line 1455 of yacc.c */
-#line 545 "Grammar.y"
+#line 545 "src/IceGrid/Grammar.y"
{
parser->usage("object", "list");
;}
break;
case 113:
-
-/* Line 1455 of yacc.c */
-#line 549 "Grammar.y"
+#line 549 "src/IceGrid/Grammar.y"
{
parser->describeObject((yyvsp[(3) - (4)]));
;}
break;
case 114:
-
-/* Line 1455 of yacc.c */
-#line 553 "Grammar.y"
+#line 553 "src/IceGrid/Grammar.y"
{
parser->usage("object", "describe");
;}
break;
case 115:
-
-/* Line 1455 of yacc.c */
-#line 557 "Grammar.y"
+#line 557 "src/IceGrid/Grammar.y"
{
parser->showCopying();
;}
break;
case 116:
-
-/* Line 1455 of yacc.c */
-#line 561 "Grammar.y"
+#line 561 "src/IceGrid/Grammar.y"
{
parser->showWarranty();
;}
break;
case 117:
-
-/* Line 1455 of yacc.c */
-#line 565 "Grammar.y"
+#line 565 "src/IceGrid/Grammar.y"
{
parser->usage((yyvsp[(2) - (3)]).front());
;}
break;
case 118:
-
-/* Line 1455 of yacc.c */
-#line 569 "Grammar.y"
+#line 569 "src/IceGrid/Grammar.y"
{
if(((yyvsp[(2) - (4)]).front() == "server" || (yyvsp[(2) - (4)]).front() == "service") && (yyvsp[(3) - (4)]).front() == "template")
{
@@ -3214,18 +3016,14 @@ yyreduce:
break;
case 119:
-
-/* Line 1455 of yacc.c */
-#line 580 "Grammar.y"
+#line 580 "src/IceGrid/Grammar.y"
{
parser->usage((yyvsp[(2) - (5)]).front(), (yyvsp[(3) - (5)]).front());
;}
break;
case 120:
-
-/* Line 1455 of yacc.c */
-#line 584 "Grammar.y"
+#line 584 "src/IceGrid/Grammar.y"
{
if(((yyvsp[(2) - (5)]).front() == "server" || (yyvsp[(2) - (5)]).front() == "service") && (yyvsp[(3) - (5)]).front() == "template")
{
@@ -3239,9 +3037,7 @@ yyreduce:
break;
case 121:
-
-/* Line 1455 of yacc.c */
-#line 595 "Grammar.y"
+#line 595 "src/IceGrid/Grammar.y"
{
if(((yyvsp[(2) - (6)]).front() == "server" || (yyvsp[(2) - (6)]).front() == "service") && (yyvsp[(3) - (6)]).front() == "template")
{
@@ -3255,36 +3051,28 @@ yyreduce:
break;
case 122:
-
-/* Line 1455 of yacc.c */
-#line 606 "Grammar.y"
+#line 606 "src/IceGrid/Grammar.y"
{
parser->usage((yyvsp[(2) - (4)]).front());
;}
break;
case 123:
-
-/* Line 1455 of yacc.c */
-#line 610 "Grammar.y"
+#line 610 "src/IceGrid/Grammar.y"
{
parser->usage();
;}
break;
case 124:
-
-/* Line 1455 of yacc.c */
-#line 614 "Grammar.y"
+#line 614 "src/IceGrid/Grammar.y"
{
parser->usage((yyvsp[(1) - (3)]).front());
;}
break;
case 125:
-
-/* Line 1455 of yacc.c */
-#line 618 "Grammar.y"
+#line 618 "src/IceGrid/Grammar.y"
{
(yyvsp[(1) - (4)]).push_back((yyvsp[(2) - (4)]).front());
parser->invalidCommand((yyvsp[(1) - (4)]));
@@ -3293,9 +3081,7 @@ yyreduce:
break;
case 126:
-
-/* Line 1455 of yacc.c */
-#line 624 "Grammar.y"
+#line 624 "src/IceGrid/Grammar.y"
{
parser->invalidCommand((yyvsp[(1) - (3)]));
yyerrok;
@@ -3303,9 +3089,7 @@ yyreduce:
break;
case 127:
-
-/* Line 1455 of yacc.c */
-#line 629 "Grammar.y"
+#line 629 "src/IceGrid/Grammar.y"
{
parser->invalidCommand((yyvsp[(1) - (3)]));
yyerrok;
@@ -3313,26 +3097,20 @@ yyreduce:
break;
case 128:
-
-/* Line 1455 of yacc.c */
-#line 634 "Grammar.y"
+#line 634 "src/IceGrid/Grammar.y"
{
yyerrok;
;}
break;
case 129:
-
-/* Line 1455 of yacc.c */
-#line 638 "Grammar.y"
+#line 638 "src/IceGrid/Grammar.y"
{
;}
break;
case 130:
-
-/* Line 1455 of yacc.c */
-#line 647 "Grammar.y"
+#line 647 "src/IceGrid/Grammar.y"
{
(yyval) = (yyvsp[(2) - (2)]);
(yyval).push_front((yyvsp[(1) - (2)]).front());
@@ -3340,9 +3118,7 @@ yyreduce:
break;
case 131:
-
-/* Line 1455 of yacc.c */
-#line 652 "Grammar.y"
+#line 652 "src/IceGrid/Grammar.y"
{
(yyval) = (yyvsp[(2) - (2)]);
(yyval).push_front((yyvsp[(1) - (2)]).front());
@@ -3350,9 +3126,7 @@ yyreduce:
break;
case 132:
-
-/* Line 1455 of yacc.c */
-#line 657 "Grammar.y"
+#line 657 "src/IceGrid/Grammar.y"
{
(yyval) = (yyvsp[(2) - (3)]);
(yyval).push_front("help");
@@ -3361,9 +3135,7 @@ yyreduce:
break;
case 133:
-
-/* Line 1455 of yacc.c */
-#line 663 "Grammar.y"
+#line 663 "src/IceGrid/Grammar.y"
{
(yyval) = (yyvsp[(2) - (3)]);
(yyval).push_front("help");
@@ -3372,322 +3144,243 @@ yyreduce:
break;
case 134:
-
-/* Line 1455 of yacc.c */
-#line 669 "Grammar.y"
+#line 669 "src/IceGrid/Grammar.y"
{
(yyval) = YYSTYPE();
;}
break;
case 135:
-
-/* Line 1455 of yacc.c */
-#line 678 "Grammar.y"
+#line 678 "src/IceGrid/Grammar.y"
{
;}
break;
case 136:
-
-/* Line 1455 of yacc.c */
-#line 681 "Grammar.y"
+#line 681 "src/IceGrid/Grammar.y"
{
;}
break;
case 137:
-
-/* Line 1455 of yacc.c */
-#line 684 "Grammar.y"
+#line 684 "src/IceGrid/Grammar.y"
{
;}
break;
case 138:
-
-/* Line 1455 of yacc.c */
-#line 687 "Grammar.y"
+#line 687 "src/IceGrid/Grammar.y"
{
;}
break;
case 139:
-
-/* Line 1455 of yacc.c */
-#line 690 "Grammar.y"
+#line 690 "src/IceGrid/Grammar.y"
{
;}
break;
case 140:
-
-/* Line 1455 of yacc.c */
-#line 693 "Grammar.y"
+#line 693 "src/IceGrid/Grammar.y"
{
;}
break;
case 141:
-
-/* Line 1455 of yacc.c */
-#line 696 "Grammar.y"
+#line 696 "src/IceGrid/Grammar.y"
{
;}
break;
case 142:
-
-/* Line 1455 of yacc.c */
-#line 699 "Grammar.y"
+#line 699 "src/IceGrid/Grammar.y"
{
;}
break;
case 143:
-
-/* Line 1455 of yacc.c */
-#line 702 "Grammar.y"
+#line 702 "src/IceGrid/Grammar.y"
{
;}
break;
case 144:
-
-/* Line 1455 of yacc.c */
-#line 705 "Grammar.y"
+#line 705 "src/IceGrid/Grammar.y"
{
;}
break;
case 145:
-
-/* Line 1455 of yacc.c */
-#line 708 "Grammar.y"
+#line 708 "src/IceGrid/Grammar.y"
{
;}
break;
case 146:
-
-/* Line 1455 of yacc.c */
-#line 711 "Grammar.y"
+#line 711 "src/IceGrid/Grammar.y"
{
;}
break;
case 147:
-
-/* Line 1455 of yacc.c */
-#line 714 "Grammar.y"
+#line 714 "src/IceGrid/Grammar.y"
{
;}
break;
case 148:
-
-/* Line 1455 of yacc.c */
-#line 717 "Grammar.y"
+#line 717 "src/IceGrid/Grammar.y"
{
;}
break;
case 149:
-
-/* Line 1455 of yacc.c */
-#line 720 "Grammar.y"
+#line 720 "src/IceGrid/Grammar.y"
{
;}
break;
case 150:
-
-/* Line 1455 of yacc.c */
-#line 723 "Grammar.y"
+#line 723 "src/IceGrid/Grammar.y"
{
;}
break;
case 151:
-
-/* Line 1455 of yacc.c */
-#line 726 "Grammar.y"
+#line 726 "src/IceGrid/Grammar.y"
{
;}
break;
case 152:
-
-/* Line 1455 of yacc.c */
-#line 729 "Grammar.y"
+#line 729 "src/IceGrid/Grammar.y"
{
;}
break;
case 153:
-
-/* Line 1455 of yacc.c */
-#line 732 "Grammar.y"
+#line 732 "src/IceGrid/Grammar.y"
{
;}
break;
case 154:
-
-/* Line 1455 of yacc.c */
-#line 735 "Grammar.y"
+#line 735 "src/IceGrid/Grammar.y"
{
;}
break;
case 155:
-
-/* Line 1455 of yacc.c */
-#line 738 "Grammar.y"
+#line 738 "src/IceGrid/Grammar.y"
{
;}
break;
case 156:
-
-/* Line 1455 of yacc.c */
-#line 741 "Grammar.y"
+#line 741 "src/IceGrid/Grammar.y"
{
;}
break;
case 157:
-
-/* Line 1455 of yacc.c */
-#line 744 "Grammar.y"
+#line 744 "src/IceGrid/Grammar.y"
{
;}
break;
case 158:
-
-/* Line 1455 of yacc.c */
-#line 747 "Grammar.y"
+#line 747 "src/IceGrid/Grammar.y"
{
;}
break;
case 159:
-
-/* Line 1455 of yacc.c */
-#line 750 "Grammar.y"
+#line 750 "src/IceGrid/Grammar.y"
{
;}
break;
case 160:
-
-/* Line 1455 of yacc.c */
-#line 753 "Grammar.y"
+#line 753 "src/IceGrid/Grammar.y"
{
;}
break;
case 161:
-
-/* Line 1455 of yacc.c */
-#line 756 "Grammar.y"
+#line 756 "src/IceGrid/Grammar.y"
{
;}
break;
case 162:
-
-/* Line 1455 of yacc.c */
-#line 759 "Grammar.y"
+#line 759 "src/IceGrid/Grammar.y"
{
;}
break;
case 163:
-
-/* Line 1455 of yacc.c */
-#line 762 "Grammar.y"
+#line 762 "src/IceGrid/Grammar.y"
{
;}
break;
case 164:
-
-/* Line 1455 of yacc.c */
-#line 765 "Grammar.y"
+#line 765 "src/IceGrid/Grammar.y"
{
;}
break;
case 165:
-
-/* Line 1455 of yacc.c */
-#line 768 "Grammar.y"
+#line 768 "src/IceGrid/Grammar.y"
{
;}
break;
case 166:
-
-/* Line 1455 of yacc.c */
-#line 771 "Grammar.y"
+#line 771 "src/IceGrid/Grammar.y"
{
;}
break;
case 167:
-
-/* Line 1455 of yacc.c */
-#line 774 "Grammar.y"
+#line 774 "src/IceGrid/Grammar.y"
{
;}
break;
case 168:
-
-/* Line 1455 of yacc.c */
-#line 777 "Grammar.y"
+#line 777 "src/IceGrid/Grammar.y"
{
;}
break;
case 169:
-
-/* Line 1455 of yacc.c */
-#line 780 "Grammar.y"
+#line 780 "src/IceGrid/Grammar.y"
{
;}
break;
case 170:
-
-/* Line 1455 of yacc.c */
-#line 783 "Grammar.y"
+#line 783 "src/IceGrid/Grammar.y"
{
;}
break;
case 171:
-
-/* Line 1455 of yacc.c */
-#line 786 "Grammar.y"
+#line 786 "src/IceGrid/Grammar.y"
{
;}
break;
case 172:
-
-/* Line 1455 of yacc.c */
-#line 789 "Grammar.y"
+#line 789 "src/IceGrid/Grammar.y"
{
;}
break;
-
-/* Line 1455 of yacc.c */
-#line 3691 "Grammar.tab.c"
+/* Line 1267 of yacc.c. */
+#line 3384 "src/IceGrid/Grammar.cpp"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3698,6 +3391,7 @@ yyreduce:
*++yyvsp = yyval;
+
/* Now `shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -3762,7 +3456,7 @@ yyerrlab:
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse lookahead token after an
+ /* If just tried and failed to reuse look-ahead token after an
error, discard it. */
if (yychar <= YYEOF)
@@ -3779,7 +3473,7 @@ yyerrlab:
}
}
- /* Else will try to reuse lookahead token after shifting the error
+ /* Else will try to reuse look-ahead token after shifting the error
token. */
goto yyerrlab1;
@@ -3836,6 +3530,9 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
*++yyvsp = yylval;
@@ -3860,7 +3557,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-#if !defined(yyoverflow) || YYERROR_VERBOSE
+#ifndef yyoverflow
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
@@ -3871,7 +3568,7 @@ yyexhaustedlab:
#endif
yyreturn:
- if (yychar != YYEMPTY)
+ if (yychar != YYEOF && yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval);
/* Do not reclaim the symbols of the rule which action triggered
diff --git a/cpp/src/IceGrid/Grammar.h b/cpp/src/IceGrid/Grammar.h
index e39828c6ae7..8739da3d8b5 100644
--- a/cpp/src/IceGrid/Grammar.h
+++ b/cpp/src/IceGrid/Grammar.h
@@ -1,23 +1,24 @@
-
-/* A Bison parser, made by GNU Bison 2.4.1. */
+/* A Bison parser, made by GNU Bison 2.3. */
/* Skeleton interface for Bison's Yacc-like parsers in C
-
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
+
+ This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
This program 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 General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -28,11 +29,10 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
-
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -81,16 +81,57 @@
ICE_GRID_DISABLE = 297
};
#endif
+/* Tokens. */
+#define ICE_GRID_HELP 258
+#define ICE_GRID_EXIT 259
+#define ICE_GRID_APPLICATION 260
+#define ICE_GRID_NODE 261
+#define ICE_GRID_REGISTRY 262
+#define ICE_GRID_SERVER 263
+#define ICE_GRID_ADAPTER 264
+#define ICE_GRID_PING 265
+#define ICE_GRID_LOAD 266
+#define ICE_GRID_SOCKETS 267
+#define ICE_GRID_ADD 268
+#define ICE_GRID_REMOVE 269
+#define ICE_GRID_LIST 270
+#define ICE_GRID_SHUTDOWN 271
+#define ICE_GRID_STRING 272
+#define ICE_GRID_START 273
+#define ICE_GRID_STOP 274
+#define ICE_GRID_PATCH 275
+#define ICE_GRID_SIGNAL 276
+#define ICE_GRID_STDOUT 277
+#define ICE_GRID_STDERR 278
+#define ICE_GRID_DESCRIBE 279
+#define ICE_GRID_PROPERTIES 280
+#define ICE_GRID_PROPERTY 281
+#define ICE_GRID_STATE 282
+#define ICE_GRID_PID 283
+#define ICE_GRID_ENDPOINTS 284
+#define ICE_GRID_ACTIVATION 285
+#define ICE_GRID_OBJECT 286
+#define ICE_GRID_FIND 287
+#define ICE_GRID_SHOW 288
+#define ICE_GRID_COPYING 289
+#define ICE_GRID_WARRANTY 290
+#define ICE_GRID_DIFF 291
+#define ICE_GRID_UPDATE 292
+#define ICE_GRID_INSTANTIATE 293
+#define ICE_GRID_TEMPLATE 294
+#define ICE_GRID_SERVICE 295
+#define ICE_GRID_ENABLE 296
+#define ICE_GRID_DISABLE 297
+
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef int YYSTYPE;
-# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
#endif
-
diff --git a/cpp/src/IceGrid/Makefile b/cpp/src/IceGrid/Makefile
deleted file mode 100644
index 11284fcd8fe..00000000000
--- a/cpp/src/IceGrid/Makefile
+++ /dev/null
@@ -1,149 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-ADMIN = $(bindir)/icegridadmin
-DB = $(bindir)/icegriddb
-NODE_SERVER = $(bindir)/icegridnode
-REGISTRY_SERVER = $(bindir)/icegridregistry
-
-TARGETS = $(NODE_SERVER) $(REGISTRY_SERVER) $(ADMIN) $(DB)
-
-CSLICE_OBJS = Internal.o \
- IceLocatorDiscovery.o
-
-ADMIN_OBJS = Client.o \
- DescriptorBuilder.o \
- DescriptorHelper.o \
- DescriptorParser.o \
- FileParserI.o \
- Grammar.o \
- Parser.o \
- Scanner.o \
- Util.o \
- $(CSLICE_OBJS)
-
-COMMON_OBJS = AdminRouter.o \
- DescriptorBuilder.o \
- DescriptorParser.o \
- FileCache.o \
- PlatformInfo.o \
- SessionManager.o \
- TraceLevels.o \
- $(CSLICE_OBJS)
-
-NODE_OBJS = Activator.o \
- NodeAdminRouter.o \
- NodeI.o \
- NodeSessionManager.o \
- ServerAdapterI.o \
- ServerI.o
-
-REGISTRY_OBJS = AdminCallbackRouter.o \
- AdapterCache.o \
- AdminI.o \
- AdminSessionI.o \
- Allocatable.o \
- AllocatableObjectCache.o \
- Database.o \
- DescriptorHelper.o \
- FileUserAccountMapperI.o \
- InternalRegistryI.o \
- LocatorI.o \
- LocatorRegistryI.o \
- NodeCache.o \
- NodeSessionI.o \
- ObjectCache.o \
- PluginFacadeI.o \
- QueryI.o \
- ReapThread.o \
- RegistryAdminRouter.o \
- RegistryI.o \
- ReplicaCache.o \
- ReplicaSessionI.o \
- ReplicaSessionManager.o \
- ServerCache.o \
- SessionI.o \
- SessionServantManager.o \
- Topics.o \
- Util.o \
- WellKnownObjectsManager.o
-
-NODE_SVR_OBJS = $(COMMON_OBJS) \
- $(NODE_OBJS) \
- $(REGISTRY_OBJS) \
- IceGridNode.o
-
-REGISTRY_SVR_OBJS = \
- $(COMMON_OBJS) \
- $(REGISTRY_OBJS) \
- IceGridRegistry.o
-
-DSLICE_OBJS = DBTypes.o
-
-DB_OBJS = IceGridDB.o \
- $(DSLICE_OBJS)
-
-OBJS = $(ADMIN_OBJS) \
- $(COMMON_OBJS) \
- $(NODE_OBJS) \
- $(NODE_SVR_OBJS) \
- $(REGISTRY_SVR_OBJS) \
- $(DB_OBJS)
-
-SLICE_OBJS = $(CSLICE_OBJS) \
- $(DSLICE_OBJS)
-
-SDIR = $(slicedir)/IceGrid
-
-RPATH_DIR = $(LOADER_PATH)/../$(libsubdir)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := $(CPPFLAGS) -I.. $(READLINE_FLAGS) $(LMDB_FLAGS)
-ICECPPFLAGS := $(ICECPPFLAGS) -I..
-SLICE2CPPFLAGS := --checksum --ice --include-dir IceGrid $(SLICE2CPPFLAGS)
-SLICE2FREEZECMD := $(SLICE2FREEZE) --ice --include-dir IceGrid $(ICECPPFLAGS)
-
-$(ADMIN): $(ADMIN_OBJS) $(LIBTARGETS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(ADMIN_OBJS) -lGlacier2 $(EXPAT_RPATH_LINK) -lIceXML -lIceGrid -lIcePatch2 -lIceBox \
- $(LIBS) $(READLINE_LIBS) $(OPENSSL_RPATH_LINK)
-
-$(DB): $(DB_OBJS) $(LIBTARGETS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(DB_OBJS) -lIceGrid -lGlacier2 -lIcePatch2 $(LMDB_RPATH_LINK) -lIceDB $(LIBS)
-
-$(REGISTRY_SERVER): $(REGISTRY_SVR_OBJS) $(LIBTARGETS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(REGISTRY_SVR_OBJS) -lIceGrid -lIceStorm -lIceStormService -lGlacier2 -lIcePatch2 \
- $(LMDB_RPATH_LINK) -lIceDB -lIceBox $(EXPAT_RPATH_LINK) -lIceXML -lIceSSL $(OPENSSL_RPATH_LINK) $(LIBS)
-
-$(NODE_SERVER): $(NODE_SVR_OBJS) $(LIBTARGETS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(NODE_SVR_OBJS) -lIceGrid -lIceStorm -lIceStormService -lIceBox -lGlacier2 \
- $(LMDB_RPATH_LINK) -lIceDB -lIcePatch2 $(EXPAT_RPATH_LINK) -lIceXML -lIceSSL $(OPENSSL_RPATH_LINK) $(LIBS)
-
-../IceLocatorDiscovery/%.h %.cpp: $(slicedir)/IceLocatorDiscovery/%.ice $(SLICE2CPP) $(SLICEPARSERLIB)
- rm -f $(*F).h $(*F).cpp
- $(SLICE2CPP) $(SLICE2CPPFLAGS) $(slicedir)/IceLocatorDiscovery/$(*F).ice
- @touch $(*F).cpp
- @mkdir -p .depend
- @$(SLICE2CPP) $(SLICE2CPPFLAGS) --depend $(slicedir)/IceLocatorDiscovery/$(*F).ice > .depend/$(*F).ice.d
-
-install:: all
- $(call installprogram,$(ADMIN),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/icegridadmin.1,$(DESTDIR)$(install_mandir))
- $(call installprogram,$(DB),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/icegriddb.1,$(DESTDIR)$(install_mandir))
- $(call installprogram,$(NODE_SERVER),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/icegridnode.1,$(DESTDIR)$(install_mandir))
- $(call installprogram,$(REGISTRY_SERVER),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/icegridregistry.1,$(DESTDIR)$(install_mandir))
diff --git a/cpp/src/IceGrid/Makefile.mk b/cpp/src/IceGrid/Makefile.mk
new file mode 100644
index 00000000000..4d196a69ac8
--- /dev/null
+++ b/cpp/src/IceGrid/Makefile.mk
@@ -0,0 +1,86 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+local_node_srcs = Activator.cpp \
+ NodeAdminRouter.cpp \
+ NodeI.cpp \
+ NodeSessionManager.cpp \
+ ServerAdapterI.cpp \
+ ServerI.cpp
+
+local_registry_srcs = Internal.ice \
+ AdminRouter.cpp \
+ DescriptorBuilder.cpp \
+ DescriptorParser.cpp \
+ FileCache.cpp \
+ PlatformInfo.cpp \
+ SessionManager.cpp \
+ TraceLevels.cpp \
+ IceLocatorDiscovery.cpp \
+ AdminCallbackRouter.cpp \
+ AdapterCache.cpp \
+ AdminI.cpp \
+ AdminSessionI.cpp \
+ Allocatable.cpp \
+ AllocatableObjectCache.cpp \
+ Database.cpp \
+ DescriptorHelper.cpp \
+ FileUserAccountMapperI.cpp \
+ InternalRegistryI.cpp \
+ LocatorI.cpp \
+ LocatorRegistryI.cpp \
+ NodeCache.cpp \
+ NodeSessionI.cpp \
+ ObjectCache.cpp \
+ PluginFacadeI.cpp \
+ QueryI.cpp \
+ ReapThread.cpp \
+ RegistryAdminRouter.cpp \
+ RegistryI.cpp \
+ ReplicaCache.cpp \
+ ReplicaSessionI.cpp \
+ ReplicaSessionManager.cpp \
+ ServerCache.cpp \
+ SessionI.cpp \
+ SessionServantManager.cpp \
+ Topics.cpp \
+ Util.cpp \
+ WellKnownObjectsManager.cpp
+
+local_admin_srcs = Internal.ice \
+ Client.cpp \
+ DescriptorBuilder.cpp \
+ DescriptorHelper.cpp \
+ DescriptorParser.cpp \
+ FileParserI.cpp \
+ Grammar.cpp \
+ Parser.cpp \
+ Scanner.cpp \
+ Util.cpp
+
+$(project)_programs = icegridnode icegridregistry icegridadmin icegriddb
+$(project)_sliceflags := -Isrc --include-dir IceGrid
+$(project)_generated_includedir := $(project)/generated/IceGrid
+$(project)_dependencies := IceGrid Glacier2 Ice IceUtil
+$(project)_targetdir := $(bindir)
+
+icegridnode_sources := $(addprefix $(currentdir)/,$(local_node_srcs) $(local_registry_srcs) IceGridNode.cpp)
+icegridnode_dependencies := IceBox IceStormService IceStorm IceXML IceSSL IcePatch2 IceDB
+
+icegridregistry_sources := $(addprefix $(currentdir)/,$(local_registry_srcs) IceGridRegistry.cpp)
+icegridregistry_dependencies := IceBox IceStormService IceStorm IceXML IceSSL IcePatch2 IceDB $(local_dependencies)
+
+icegridadmin_dependencies := IcePatch2 IceBox IceXML
+icegridadmin_sources := $(slicedir)/IceLocatorDiscovery/IceLocatorDiscovery.ice \
+ $(addprefix $(currentdir)/,$(local_admin_srcs))
+
+icegriddb_dependencies := IcePatch2 IceDB
+icegriddb_sources := $(addprefix $(currentdir)/,IceGridDB.cpp DBTypes.ice)
+
+projects += $(project)
diff --git a/cpp/src/IceGridLib/.gitignore b/cpp/src/IceGridLib/.gitignore
deleted file mode 100644
index 9d7a58ce79a..00000000000
--- a/cpp/src/IceGridLib/.gitignore
+++ /dev/null
@@ -1,27 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
-Admin.cpp
-Descriptor.cpp
-Exception.cpp
-FileParser.cpp
-Locator.cpp
-Observer.cpp
-PluginFacade.cpp
-Query.cpp
-Registry.cpp
-Session.cpp
-UserAccountMapper.cpp
-Admin.h
-Descriptor.h
-Exception.h
-FileParser.h
-Locator.h
-Observer.h
-PluginFacade.h
-Query.h
-Registry.h
-Session.h
-UserAccountMapper.h
diff --git a/cpp/src/IceGridLib/Makefile b/cpp/src/IceGridLib/Makefile
deleted file mode 100644
index 1b0e78354f9..00000000000
--- a/cpp/src/IceGridLib/Makefile
+++ /dev/null
@@ -1,64 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,IceGrid,$(VERSION))
-SONAME = $(call mksoname,IceGrid,$(SOVERSION))
-LIBNAME = $(call mklibname,IceGrid)
-
-LIBTARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)$(cpp11libdirsuffix)/$(LIBNAME))
-TARGETS = $(LIBTARGETS) $(NODE_SERVER) $(REGISTRY_SERVER) $(ADMIN)
-
-SLICE_OBJS = Admin.o \
- Descriptor.o \
- Exception.o \
- FileParser.o \
- PluginFacade.o \
- Registry.o \
- Session.o \
- UserAccountMapper.o
-
-OBJS = PluginFacadeI.o \
- $(SLICE_OBJS)
-
-
-HDIR = $(headerdir)/IceGrid
-SDIR = $(slicedir)/IceGrid
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := $(CPPFLAGS) -I.. $(OPENSSL_FLAGS) $(READLINE_FLAGS)
-ICECPPFLAGS := $(ICECPPFLAGS) -I..
-SLICE2CPPFLAGS := --checksum --ice --include-dir IceGrid --dll-export ICE_GRID_API $(SLICE2CPPFLAGS)
-LINKWITH := -lGlacier2 $(BZIP2_RPATH_LINK) -lIce -lIceUtil
-
-ifeq ($(STATICLIBS),yes)
-$(libdir)/$(LIBNAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mklib,$@,$(OBJS))
-else
-$(libdir)/$(LIBFILENAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)$(cpp11libdirsuffix)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)$(cpp11libdirsuffix)
- rm -f $@
- ln -s $(cpp11sonamedir)$(SONAME) $@
-endif
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/php/config/Make.rules.Linux b/cpp/src/IceGridLib/Makefile.mk
index 61440938545..26f2111a5fb 100644
--- a/php/config/Make.rules.Linux
+++ b/cpp/src/IceGridLib/Makefile.mk
@@ -1,16 +1,16 @@
# **********************************************************************
#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
#
# **********************************************************************
-#
-# This file is included by Make.rules when uname is Linux.
-#
+$(project)_libraries := IceGrid
-include $(top_srcdir)/../cpp/config/Make.rules.$(UNAME)
+IceGrid_targetdir := $(libdir)
+IceGrid_dependencies := Glacier2 Ice IceUtil
+IceGrid_sliceflags := --include-dir IceGrid --dll-export ICE_GRID_API
-mkshlib = $(CXX) -shared $(LDFLAGS) $(LDEXEFLAGS) -o $(1) -Wl,-h,$(2) $(3) $(4) -lpthread \ No newline at end of file
+projects += $(project)
diff --git a/cpp/src/IceLocatorDiscovery/.gitignore b/cpp/src/IceLocatorDiscovery/.gitignore
deleted file mode 100644
index 45e29d8dd2d..00000000000
--- a/cpp/src/IceLocatorDiscovery/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
-IceLocatorDiscovery.cpp
-IceLocatorDiscovery.h
diff --git a/cpp/src/IceLocatorDiscovery/Makefile b/cpp/src/IceLocatorDiscovery/Makefile
deleted file mode 100644
index 86c96002ceb..00000000000
--- a/cpp/src/IceLocatorDiscovery/Makefile
+++ /dev/null
@@ -1,59 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,IceLocatorDiscovery,$(VERSION))
-SONAME = $(call mksoname,IceLocatorDiscovery,$(SOVERSION))
-LIBNAME = $(call mklibname,IceLocatorDiscovery)
-
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)$(cpp11libdirsuffix)/$(LIBNAME))
-
-SLICE_OBJS = IceLocatorDiscovery.o
-
-OBJS = PluginI.o \
- $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I.. $(CPPFLAGS) -DICE_LOCATOR_DISCOVERY_API_EXPORTS
-SLICE2CPPFLAGS := --ice --include-dir IceLocatorDiscovery $(SLICE2CPPFLAGS)
-
-LINKWITH := -lIce -lIceUtil $(CXXLIBS)
-
-ifeq ($(STATICLIBS),yes)
-$(libdir)/$(LIBNAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mklib,$@,$(OBJS))
-else
-$(libdir)/$(LIBFILENAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)$(cpp11libdirsuffix)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)$(cpp11libdirsuffix)
- rm -f $@
- ln -s $(cpp11sonamedir)$(SONAME) $@
-endif
-
-../IceLocatorDiscovery/%.h %.cpp: $(slicedir)/IceLocatorDiscovery/%.ice $(SLICE2CPP) $(SLICEPARSERLIB)
- rm -f $(*F).h $(*F).cpp
- $(SLICE2CPP) $(SLICE2CPPFLAGS) $(slicedir)/IceLocatorDiscovery/$(*F).ice
- @touch $(*F).cpp
- @mkdir -p .depend
- @$(SLICE2CPP) $(SLICE2CPPFLAGS) --depend $(slicedir)/IceLocatorDiscovery/$(*F).ice > .depend/$(*F).ice.d
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/cpp/src/IceLocatorDiscovery/Makefile.mk b/cpp/src/IceLocatorDiscovery/Makefile.mk
new file mode 100644
index 00000000000..5acb7ad9706
--- /dev/null
+++ b/cpp/src/IceLocatorDiscovery/Makefile.mk
@@ -0,0 +1,18 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries := IceLocatorDiscovery
+
+IceLocatorDiscovery_targetdir := $(libdir)
+IceLocatorDiscovery_dependencies := Ice IceUtil
+IceLocatorDiscovery_sliceflags := --include-dir IceLocatorDiscovery
+IceLocatorDiscovery_generated_includedir := $(project)/generated/IceLocatorDiscovery
+IceLocatorDiscovery_cppflags := -DICE_LOCATOR_DISCOVERY_API_EXPORTS
+
+projects += $(project)
diff --git a/cpp/src/IcePatch2/.gitignore b/cpp/src/IcePatch2/.gitignore
deleted file mode 100644
index 720f44c7047..00000000000
--- a/cpp/src/IcePatch2/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
diff --git a/cpp/src/IcePatch2/Makefile b/cpp/src/IcePatch2/Makefile
deleted file mode 100644
index bdceb01ea7a..00000000000
--- a/cpp/src/IcePatch2/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-SERVER = $(bindir)/icepatch2server
-CLIENT = $(bindir)/icepatch2client
-CALC = $(bindir)/icepatch2calc
-
-TARGETS = $(SERVER) $(CLIENT) $(CALC)
-
-SOBJS = FileServerI.o \
- Server.o
-
-COBJS = Client.o
-
-CALCOBJS = Calc.o
-
-OBJS = $(SOBJS) \
- $(COBJS) \
- $(CALCOBJS)
-
-RPATH_DIR = $(LOADER_PATH)/../$(libsubdir)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. $(CPPFLAGS) $(BZIP2_FLAGS)
-
-$(SERVER): $(SOBJS) $(LIBTARGETS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(OPENSSL_RPATH_LINK) -lIcePatch2 $(LIBS)
-
-$(CLIENT): $(COBJS) $(LIBTARGETS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(OPENSSL_RPATH_LINK) -lIcePatch2 $(LIBS)
-
-$(CALC): $(CALCOBJS) $(LIBTARGETS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(CALCOBJS) $(OPENSSL_RPATH_LINK) -lIcePatch2 $(LIBS)
-
-install:: all
- $(call installprogram,$(SERVER),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/icepatch2server.1,$(DESTDIR)$(install_mandir))
- $(call installprogram,$(CLIENT),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/icepatch2client.1,$(DESTDIR)$(install_mandir))
- $(call installprogram,$(CALC),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/icepatch2calc.1,$(DESTDIR)$(install_mandir))
diff --git a/cpp/src/IcePatch2/Makefile.mk b/cpp/src/IcePatch2/Makefile.mk
new file mode 100644
index 00000000000..eb1cc23045b
--- /dev/null
+++ b/cpp/src/IcePatch2/Makefile.mk
@@ -0,0 +1,18 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_programs := icepatch2server icepatch2client icepatch2calc
+$(project)_dependencies := IcePatch2 Ice IceUtil
+$(project)_targetdir := $(bindir)
+
+icepatch2server_sources := $(addprefix $(currentdir)/,FileServerI.cpp Server.cpp)
+icepatch2client_sources := $(addprefix $(currentdir)/,Client.cpp)
+icepatch2calc_sources := $(addprefix $(currentdir)/,Calc.cpp)
+
+projects += $(project)
diff --git a/cpp/src/IcePatch2Lib/.gitignore b/cpp/src/IcePatch2Lib/.gitignore
deleted file mode 100644
index a6ba57e6121..00000000000
--- a/cpp/src/IcePatch2Lib/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
-FileInfo.cpp
-FileServer.cpp
-FileInfo.h
-FileServer.h
diff --git a/cpp/src/IcePatch2Lib/Makefile b/cpp/src/IcePatch2Lib/Makefile
deleted file mode 100644
index e8b6d4e5565..00000000000
--- a/cpp/src/IcePatch2Lib/Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,IcePatch2,$(VERSION))
-SONAME = $(call mksoname,IcePatch2,$(SOVERSION))
-LIBNAME = $(call mklibname,IcePatch2)
-
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)$(cpp11libdirsuffix)/$(LIBNAME))
-
-SLICE_OBJS = FileInfo.o \
- FileServer.o
-
-OBJS = ClientUtil.o \
- Util.o \
- $(SLICE_OBJS)
-
-HDIR = $(headerdir)/IcePatch2
-SDIR = $(slicedir)/IcePatch2
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. $(CPPFLAGS) $(BZIP2_FLAGS) -Wno-deprecated-declarations
-SLICE2CPPFLAGS := --ice --include-dir IcePatch2 --dll-export ICE_PATCH2_API $(SLICE2CPPFLAGS)
-LINKWITH := $(BZIP2_RPATH_LINK) -lIce -lIceUtil $(BZIP2_LIBS)
-
-$(libdir)/$(LIBFILENAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)$(cpp11libdirsuffix)/$(LIBNAME): $(libdir)/$(SONAME)
- rm -f $@
- ln -s $(cpp11sonamedir)$(SONAME) $@
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/cpp/src/IcePatch2Lib/Makefile.mk b/cpp/src/IcePatch2Lib/Makefile.mk
new file mode 100644
index 00000000000..e63a56ab3c8
--- /dev/null
+++ b/cpp/src/IcePatch2Lib/Makefile.mk
@@ -0,0 +1,18 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries := IcePatch2
+
+IcePatch2_targetdir := $(libdir)
+IcePatch2_dependencies := Ice IceUtil
+IcePatch2_libs := bz2
+IcePatch2_sliceflags := --include-dir IcePatch2 --dll-export ICE_PATCH2_API
+IcePatch2_cppflags := -Wno-deprecated-declarations
+
+projects += $(project)
diff --git a/cpp/src/IceSSL/.gitignore b/cpp/src/IceSSL/.gitignore
deleted file mode 100644
index 981999c07ba..00000000000
--- a/cpp/src/IceSSL/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
-ConnectionInfo.cpp
-EndpointInfo.cpp
-ConnectionInfo.h
-EndpointInfo.h
diff --git a/cpp/src/IceSSL/Makefile b/cpp/src/IceSSL/Makefile
deleted file mode 100644
index 5e551f3e363..00000000000
--- a/cpp/src/IceSSL/Makefile
+++ /dev/null
@@ -1,82 +0,0 @@
-
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,IceSSL,$(VERSION))
-SONAME = $(call mksoname,IceSSL,$(SOVERSION))
-LIBNAME = $(call mklibname,IceSSL)
-
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)$(cpp11libdirsuffix)/$(LIBNAME))
-
-SLICE_OBJS = ConnectionInfo.o \
- EndpointInfo.o
-
-OBJS = AcceptorI.o \
- Certificate.o \
- ConnectorI.o \
- EndpointI.o \
- Instance.o \
- PluginI.o \
- RFC2253.o \
- SSLEngine.o \
- TrustManager.o \
- Util.o \
- $(SLICE_OBJS)
-
-ifneq ($(findstring MINGW,$(shell uname)),)
-OBJS := $(OBJS) \
- SChannelEngine.o \
- SChannelTransceiverI.o
-else
-ifeq ($(shell uname),Darwin)
-OBJS := $(OBJS) \
- SecureTransportEngine.o \
- SecureTransportTransceiverI.o
-else
-OBJS := $(OBJS) \
- OpenSSLEngine.o \
- OpenSSLTransceiverI.o
-endif
-endif
-
-HDIR = $(headerdir)/IceSSL
-SDIR = $(slicedir)/IceSSL
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I.. $(CPPFLAGS) -DICE_SSL_API_EXPORTS $(OPENSSL_FLAGS)
-SLICE2CPPFLAGS := --ice --include-dir IceSSL --dll-export ICE_SSL_API $(SLICE2CPPFLAGS)
-
-LINKWITH := $(BZIP2_RPATH_LINK) -lIce -lIceUtil $(SSL_OS_LIBS) $(CXXLIBS)
-
-ifeq ($(STATICLIBS),yes)
-$(libdir)/$(LIBNAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mklib,$@,$(OBJS))
-else
-$(libdir)/$(LIBFILENAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)$(cpp11libdirsuffix)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)$(cpp11libdirsuffix)
- rm -f $@
- ln -s $(cpp11sonamedir)$(SONAME) $@
-endif
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/cpp/src/IceSSL/Makefile.mk b/cpp/src/IceSSL/Makefile.mk
new file mode 100644
index 00000000000..1b5771877ac
--- /dev/null
+++ b/cpp/src/IceSSL/Makefile.mk
@@ -0,0 +1,18 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries := IceSSL
+
+IceSSL_targetdir := $(libdir)
+IceSSL_dependencies := Ice IceUtil
+IceSSL_cppflags := -DICESSL_API_EXPORTS
+IceSSL_system_libs := $(SSL_OS_LIBS)
+IceSSL_sliceflags := --include-dir IceSSL --dll-export ICESSL_API
+
+projects += $(project)
diff --git a/cpp/src/IceStorm/.gitignore b/cpp/src/IceStorm/.gitignore
deleted file mode 100644
index 9acac8d9ebe..00000000000
--- a/cpp/src/IceStorm/.gitignore
+++ /dev/null
@@ -1,24 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
-Election.cpp
-IceStormInternal.cpp
-Instrumentation.cpp
-LinkRecord.cpp
-LLURecord.cpp
-SubscriberRecord.cpp
-LinkRecord.cpp
-Instrumentation.h
-Election.h
-IceStormInternal.h
-Instrumentation.h
-LinkRecord.h
-LLURecord.h
-SubscriberRecord.h
-LinkRecord.h
-LinkRecord.h
-LinkRecord.cpp
-DBTypes.h
-DBTypes.cpp
diff --git a/cpp/src/IceStorm/Makefile b/cpp/src/IceStorm/Makefile
deleted file mode 100644
index b2a554c1fc2..00000000000
--- a/cpp/src/IceStorm/Makefile
+++ /dev/null
@@ -1,102 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,IceStormService,$(VERSION))
-SONAME = $(call mksoname,IceStormService,$(SOVERSION))
-LIBNAME = $(call mklibname,IceStormService)
-
-ADMIN = $(bindir)/icestormadmin
-DB = $(bindir)/icestormdb
-LIBTARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)$(cpp11libdirsuffix)/$(LIBNAME))
-TARGETS = $(LIBTARGETS) $(ADMIN) $(DB)
-
-LSLICE_OBJS = Election.o \
- IceStormInternal.o \
- Instrumentation.o \
- LinkRecord.o \
- LLURecord.o \
- SubscriberRecord.o
-
-LIB_OBJS = Instance.o \
- InstrumentationI.o \
- NodeI.o \
- Observers.o \
- Service.o \
- Subscriber.o \
- TopicI.o \
- TopicManagerI.o \
- TraceLevels.o \
- TransientTopicI.o \
- TransientTopicManagerI.o \
- Util.o \
- $(SLICE_OBJS)
-
-AOBJS = Admin.o \
- Grammar.o \
- Parser.o \
- Scanner.o \
- $(SLICE_OBJS)
-
-DBSLICE_OBJS = DBTypes.o
-
-DBOBJS = IceStormDB.o \
- $(DBSLICE_OBJS)
-
-SLICE_OBJS = $(LSLICE_OBJS) \
- $(DBSLICE_OBJS)
-
-OBJS = $(LIB_OBJS) \
- $(AOBJS) \
- $(DBOBJS)
-
-RPATH_DIR = $(LOADER_PATH)/../$(libsubdir)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := $(CPPFLAGS) -I.. $(READLINE_FLAGS) $(LMDB_FLAGS)
-ICECPPFLAGS := $(ICECPPFLAGS) -I..
-SLICE2CPPFLAGS := --ice --include-dir IceStorm $(SLICE2CPPFLAGS)
-LINKWITH := $(BZIP2_RPATH_LINK) -lIceStorm -lIceGrid -lGlacier2 -lIceBox -lIce -lIceUtil $(LMDB_RPATH_LINK) -lIceDB
-
-$(libdir)/$(LIBFILENAME): $(LIB_OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(LIB_OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)$(cpp11libdirsuffix)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)$(cpp11libdirsuffix)
- rm -f $@
- ln -s $(cpp11sonamedir)$(SONAME) $@
-
-$(ADMIN): $(AOBJS) $(LIBTARGETS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(AOBJS) -lIceStorm $(READLINE_LIBS) $(LIBS)
-
-$(DB): $(DBOBJS) $(LIBTARGETS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(DBOBJS) -lIceStorm $(LMDB_RPATH_LINK) -lIceDB -lIcePatch2 $(LIBS)
-
-# Needed for make -jn to work.
-../IceStorm/Grammar.y: Grammar.h
-
-clean::
- -rm -f LinkRecord.h LinkRecord.cpp
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
- $(call installprogram,$(ADMIN),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/icestormadmin.1,$(DESTDIR)$(install_mandir))
- $(call installprogram,$(DB),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/icestormdb.1,$(DESTDIR)$(install_mandir))
diff --git a/cpp/src/IceStorm/Makefile.mk b/cpp/src/IceStorm/Makefile.mk
new file mode 100644
index 00000000000..0b1d90505e5
--- /dev/null
+++ b/cpp/src/IceStorm/Makefile.mk
@@ -0,0 +1,52 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries := IceStormService
+$(project)_programs := icestormadmin icestormdb
+$(project)_sliceflags := -Isrc --include-dir IceStorm
+$(project)_generated_includedir := $(project)/generated/IceStorm
+$(project)_dependencies := IceStorm Ice IceUtil
+
+IceStormService_targetdir := $(libdir)
+IceStormService_dependencies := IceGrid Glacier2 IceBox IceDB
+IceStormService_sources := $(addprefix $(currentdir)/,Instance.cpp \
+ InstrumentationI.cpp \
+ NodeI.cpp \
+ Observers.cpp \
+ Service.cpp \
+ Subscriber.cpp \
+ TopicI.cpp \
+ TopicManagerI.cpp \
+ TraceLevels.cpp \
+ TransientTopicI.cpp \
+ TransientTopicManagerI.cpp \
+ Util.cpp \
+ Election.ice \
+ IceStormInternal.ice \
+ Instrumentation.ice \
+ LinkRecord.ice \
+ LLURecord.ice \
+ SubscriberRecord.ice \
+ DBTypes.ice)
+
+icestormadmin_targetdir := $(bindir)
+icestormadmin_sources := $(addprefix $(currentdir)/,Admin.cpp \
+ Grammar.y \
+ Parser.cpp \
+ Scanner.l \
+ LLURecord.ice \
+ SubscriberRecord.ice \
+ Election.ice \
+ IceStormInternal.ice)
+
+icestormdb_targetdir := $(bindir)
+icestormdb_dependencies := IcePatch2 IceDB
+icestormdb_sources := $(addprefix $(currentdir)/,IceStormDB.cpp DBTypes.ice)
+
+projects += $(project)
diff --git a/cpp/src/IceStormLib/.gitignore b/cpp/src/IceStormLib/.gitignore
deleted file mode 100644
index 798077a2149..00000000000
--- a/cpp/src/IceStormLib/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
-IceStorm.cpp
-Metrics.cpp
-IceStorm.h
-Metrics.h
diff --git a/cpp/src/IceStormLib/Makefile b/cpp/src/IceStormLib/Makefile
deleted file mode 100644
index 32e63d9e28f..00000000000
--- a/cpp/src/IceStormLib/Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,IceStorm,$(VERSION))
-SONAME = $(call mksoname,IceStorm,$(SOVERSION))
-LIBNAME = $(call mklibname,IceStorm)
-
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)$(cpp11libdirsuffix)/$(LIBNAME))
-
-SLICE_OBJS = IceStorm.o \
- Metrics.o
-
-OBJS = $(SLICE_OBJS)
-
-HDIR = $(headerdir)/IceStorm
-SDIR = $(slicedir)/IceStorm
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := $(CPPFLAGS) -I..
-ICECPPFLAGS := $(ICECPPFLAGS) -I..
-SLICE2CPPFLAGS := --ice --include-dir IceStorm --checksum --dll-export ICE_STORM_LIB_API $(SLICE2CPPFLAGS)
-LINKWITH := $(BZIP2_RPATH_LINK) -lIce -lIceUtil
-
-$(libdir)/$(LIBFILENAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)$(cpp11libdirsuffix)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)$(cpp11libdirsuffix)
- rm -f $@
- ln -s $(cpp11sonamedir)$(SONAME) $@
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/cpp/src/IceStormLib/Makefile.mk b/cpp/src/IceStormLib/Makefile.mk
new file mode 100644
index 00000000000..0a04d593b0f
--- /dev/null
+++ b/cpp/src/IceStormLib/Makefile.mk
@@ -0,0 +1,16 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries := IceStorm
+
+IceStorm_targetdir := $(libdir)
+IceStorm_dependencies := Ice IceUtil
+IceStorm_sliceflags := --include-dir IceStorm --dll-export ICE_STORM_LIB_API
+
+projects += $(project)
diff --git a/cpp/src/IceUtil/.gitignore b/cpp/src/IceUtil/.gitignore
deleted file mode 100644
index 720f44c7047..00000000000
--- a/cpp/src/IceUtil/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
diff --git a/cpp/src/IceUtil/Makefile b/cpp/src/IceUtil/Makefile
deleted file mode 100644
index 934522baa08..00000000000
--- a/cpp/src/IceUtil/Makefile
+++ /dev/null
@@ -1,68 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,IceUtil,$(VERSION))
-SONAME = $(call mksoname,IceUtil,$(SOVERSION))
-LIBNAME = $(call mklibname,IceUtil)
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)$(cpp11libdirsuffix)/$(LIBNAME))
-
-OBJS = ArgVector.o \
- Cond.o \
- ConvertUTF.o \
- CountDownLatch.o \
- CtrlCHandler.o \
- Exception.o \
- FileUtil.o \
- InputUtil.o \
- MutexProtocol.o \
- Options.o \
- OutputUtil.o \
- Random.o \
- RecMutex.o \
- SHA1.o \
- Shared.o \
- StringConverter.o \
- StringUtil.o \
- Thread.o \
- ThreadException.o \
- Time.o \
- Timer.o \
- Unicode.o \
- UUID.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := $(CPPFLAGS) $(ICEUTIL_FLAGS) -DICE_UTIL_API_EXPORTS -I..
-LINKWITH := $(ICEUTIL_OS_LIBS)
-
-ifeq ($(STATICLIBS),yes)
-$(libdir)/$(LIBNAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mklib,$@,$(OBJS))
-else
-$(libdir)/$(LIBFILENAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)$(cpp11libdirsuffix)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)$(cpp11libdirsuffix)
- rm -f $@
- ln -s $(cpp11sonamedir)$(SONAME) $@
-endif
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/cpp/src/IceUtil/Makefile.mk b/cpp/src/IceUtil/Makefile.mk
new file mode 100644
index 00000000000..530681d3f22
--- /dev/null
+++ b/cpp/src/IceUtil/Makefile.mk
@@ -0,0 +1,23 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries = IceUtil
+
+IceUtil_targetdir := $(libdir)
+IceUtil_cppflags := -DICE_UTIL_API_EXPORTS
+IceUtil_system_libs := $(ICEUTIL_OS_LIBS)
+
+# Always enable the static configuration for the IceUtil library
+IceUtil_always_enable_configs := static
+
+ifeq ($(DEFAULT_MUTEX_PROTOCOL), PrioInherit)
+ IceUtil_cppflags += -DICE_PRIO_INHERIT
+endif
+
+projects += $(project)
diff --git a/cpp/src/IceXML/.gitignore b/cpp/src/IceXML/.gitignore
deleted file mode 100644
index 720f44c7047..00000000000
--- a/cpp/src/IceXML/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
diff --git a/cpp/src/IceXML/Makefile b/cpp/src/IceXML/Makefile
deleted file mode 100644
index 6378e47c360..00000000000
--- a/cpp/src/IceXML/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,IceXML,$(VERSION))
-SONAME = $(call mksoname,IceXML,$(SOVERSION))
-LIBNAME = $(call mklibname,IceXML)
-
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)$(cpp11libdirsuffix)/$(LIBNAME))
-
-OBJS = Parser.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I.. $(CPPFLAGS) -DICE_XML_API_EXPORTS $(EXPAT_FLAGS)
-
-LINKWITH := -lIceUtil $(EXPAT_LIBS)
-
-$(libdir)/$(LIBFILENAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)$(cpp11libdirsuffix)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)$(cpp11libdirsuffix)
- rm -f $@
- ln -s $(cpp11sonamedir)$(SONAME) $@
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/cpp/src/IceXML/Makefile.mk b/cpp/src/IceXML/Makefile.mk
new file mode 100644
index 00000000000..00ecc121121
--- /dev/null
+++ b/cpp/src/IceXML/Makefile.mk
@@ -0,0 +1,17 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries := IceXML
+
+IceXML_targetdir := $(libdir)
+IceXML_dependencies := IceUtil
+IceXML_cppflags := -DICE_XML_API_EXPORTS
+IceXML_libs := expat
+
+projects += $(project)
diff --git a/cpp/include/IceXML/Parser.h b/cpp/src/IceXML/Parser.h
index dd391156cf4..dd391156cf4 100644
--- a/cpp/include/IceXML/Parser.h
+++ b/cpp/src/IceXML/Parser.h
diff --git a/cpp/src/Makefile b/cpp/src/Makefile
deleted file mode 100644
index c0bfd0cfdb1..00000000000
--- a/cpp/src/Makefile
+++ /dev/null
@@ -1,122 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ..
-
-include $(top_srcdir)/config/Make.rules
-
-ifeq ($(CPP11_MAPPING),yes)
- SUBDIRS = IceUtil \
- Slice \
- slice2cpp \
- Ice \
- IceSSL \
- IceDiscovery \
- Glacier2Lib \
- IceStormLib \
- IceGridLib \
- IceBox \
- IceLocatorDiscovery
-
-ifeq ($(BUILD_ICE_BT),yes)
- SUBDIRS := $(SUBDIRS) IceXML IceBT
-endif
-
-else
-
-ifneq ($(findstring MINGW,$(UNAME)),)
- SUBDIRS = IceUtil \
- Slice \
- slice2cpp \
- Ice \
- IceSSL \
- IceDiscovery \
- IceLocatorDiscovery
-else
- SUBDIRS = IceUtil \
- Slice \
- slice2cpp \
- slice2cs \
- slice2java \
- slice2php \
- slice2html \
- slice2js
-
-ifeq ($(UNAME),Darwin)
- SUBDIRS := $(SUBDIRS) slice2objc
-endif
-
- SUBDIRS := $(SUBDIRS) \
- Ice \
- IceXML \
- IceSSL \
- IceDiscovery \
- IceLocatorDiscovery \
- IceBox \
- Glacier2Lib \
- Glacier2CryptPermissionsVerifier \
- Glacier2 \
- IcePatch2Lib \
- IcePatch2 \
- IceStormLib \
- IceGridLib \
- IceDB \
- IceStorm \
- IceGrid
-
-ifeq ($(BUILD_ICE_BT),yes)
- SUBDIRS := $(SUBDIRS) IceBT
-endif
-
-endif
-endif
-
-.PHONY: $(EVERYTHING) $(SUBDIRS)
-
-#
-# Dependencies for 'all' target when using -jx
-#
-
-Slice: IceUtil
-
-slice2cpp slice2cs slice2java slice2js slice2php slice2html slice2objc: Slice
-
-Ice: slice2cpp
-
-IceXML IceSSL IceBox Glacier2Lib IcePatch2Lib IceStormLib IceGridLib IceBT: Ice
-
-IceBT: IceXML
-
-Glacier2 IceGridLib Glacier2CryptPermissionsVerifier: Glacier2Lib
-
-IcePatch2: IcePatch2Lib
-
-IceStorm: IceBox IceStormLib IceGridLib Glacier2Lib IceDB
-
-IceGrid: IceGridLib IceStorm IcePatch2Lib IceDB IceSSL IceBox IceXML
-
-IceDiscovery IceLocatorDiscovery: Ice
-
-IceDB: Ice
-
-all:: $(SUBDIRS)
-
-$(SUBDIRS):
- @echo "making all in $@"
- @$(MAKE) all --directory=$@
-
-$(EVERYTHING_EXCEPT_ALL)::
- @for subdir in $(SUBDIRS); \
- do \
- if test -d $$subdir ; \
- then \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- fi; \
- done
diff --git a/cpp/src/Slice/.gitignore b/cpp/src/Slice/.gitignore
deleted file mode 100644
index 720f44c7047..00000000000
--- a/cpp/src/Slice/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
diff --git a/cpp/src/Slice/Makefile b/cpp/src/Slice/Makefile
deleted file mode 100644
index 0d8441a08e3..00000000000
--- a/cpp/src/Slice/Makefile
+++ /dev/null
@@ -1,67 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,Slice,$(VERSION))
-SONAME = $(call mksoname,Slice,$(SOVERSION))
-LIBNAME = $(call mklibname,Slice)
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)$(cpp11libdirsuffix)/$(LIBNAME))
-
-OBJS = Checksum.o \
- CPlusPlusUtil.o \
- CsUtil.o \
- DotNetNames.o \
- FileTracker.o \
- JavaUtil.o \
- MD5.o \
- MD5I.o \
- ObjCUtil.o \
- Parser.o \
- PHPUtil.o \
- Preprocessor.o \
- PythonUtil.o \
- Python.o \
- RubyUtil.o \
- Ruby.o \
- Scanner.o \
- Util.o \
- ../Slice/Grammar.o
-
-include $(top_srcdir)/config/Make.rules
-
-
-CPPFLAGS := -I.. $(CPPFLAGS) -DSLICE_API_EXPORTS
-BISONFLAGS := --name-prefix "slice_" $(BISONFLAGS)
-
-LINKWITH := $(BASELIBS) $(MCPP_LIBS)
-ifeq ($(STATICLIBS),yes)
-$(libdir)/$(LIBNAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mklib,$@,$(OBJS))
-else
-$(libdir)/$(LIBFILENAME): $(OBJS) $(MCPP_NUPKG)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)$(cpp11libdirsuffix)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)$(cpp11libdirsuffix)
- rm -f $@
- ln -s $(cpp11sonamedir)$(SONAME) $@
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
-endif
-
diff --git a/cpp/src/Slice/Makefile.mk b/cpp/src/Slice/Makefile.mk
new file mode 100644
index 00000000000..4fb2b306662
--- /dev/null
+++ b/cpp/src/Slice/Makefile.mk
@@ -0,0 +1,20 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries := Slice
+
+Slice_targetdir := $(libdir)
+Slice_dependencies := IceUtil
+Slice_cppflags := -DSLICE_API_EXPORTS
+Slice_libs := mcpp
+
+# Always enable the static configuration for the Slice library
+Slice_always_enable_configs := static
+
+projects += $(project)
diff --git a/cpp/src/slice2confluence/.gitignore b/cpp/src/slice2confluence/.gitignore
deleted file mode 100644
index 3a412ca89c7..00000000000
--- a/cpp/src/slice2confluence/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
diff --git a/cpp/src/slice2confluence/ConfluenceOutput.cpp b/cpp/src/slice2confluence/ConfluenceOutput.cpp
index 32786fed6fe..a1176f7cc37 100644
--- a/cpp/src/slice2confluence/ConfluenceOutput.cpp
+++ b/cpp/src/slice2confluence/ConfluenceOutput.cpp
@@ -51,7 +51,7 @@ Confluence::ConfluenceOutput::ConfluenceOutput(const char* s) :
}
void
-Confluence::ConfluenceOutput::print(const char* s)
+Confluence::ConfluenceOutput::print(const string& s)
{
if(_se)
{
@@ -62,7 +62,7 @@ Confluence::ConfluenceOutput::print(const char* s)
if(_escape)
{
string escaped = escape(s);
- OutputBase::print(escaped.c_str());
+ OutputBase::print(escaped);
}
else
{
diff --git a/cpp/src/slice2confluence/ConfluenceOutput.h b/cpp/src/slice2confluence/ConfluenceOutput.h
index 90d02809368..a97577c39c5 100644
--- a/cpp/src/slice2confluence/ConfluenceOutput.h
+++ b/cpp/src/slice2confluence/ConfluenceOutput.h
@@ -15,59 +15,59 @@ namespace Confluence
class ConfluenceOutput : public IceUtilInternal::OutputBase
{
public:
-
+
ConfluenceOutput();
ConfluenceOutput(std::ostream&);
ConfluenceOutput(const char*);
-
+
virtual ~ConfluenceOutput(){};
-
- virtual void print(const char*); // Print a string.
-
+
+ virtual void print(const std::string&); // Print a string.
+
virtual void newline(); // Print newline.
-
+
void startElement(const std::string&); // Start an element.
void endElement(); // End an element.
void attr(const std::string&, const std::string&); // Add an attribute to an element.
-
+
std::string convertCommentHTML(std::string comment);
std::string escapeComment(std::string comment);
-
+
std::string getAnchorMarkup(const std::string&, const std::string& = "");
std::string getLinkMarkup(const std::string&, const std::string& = "", const std::string& = "", const std::string& = "");
std::string getImageMarkup(const std::string&, const std::string& = "");
std::string getNavMarkup(const std::string&, const std::string&);
-
+
void startEscapes();
void endEscapes();
-
+
std::string currentElement() const;
-
+
/**
* Wrap sections in these markers to prevent them from being confluence-escaped.
* The regular confluence-escaping process will remove these markers.
*/
const static std::string TEMP_ESCAPER_START; // wrap sections
const static std::string TEMP_ESCAPER_END; // wrap sections
-
+
/**
* Gets the start and end positions of all TEMP_ESCAPED sections of the given string.
*/
std::list<std::pair<unsigned int,unsigned int> > getMarkerLimits(const std::string&);
-
+
std::string removeMarkers(std::string);
-
+
private:
-
+
std::string escape(const ::std::string&) const;
-
+
std::stack<std::string> _elementStack;
-
+
bool _se;
bool _text;
-
+
bool _escape;
-
+
std::string _listMarkers;
std::string _commentListMarkers;
};
@@ -114,13 +114,13 @@ operator<<(ConfluenceOutput& o, const EndElement&)
class StartElement
{
public:
-
+
StartElement(const std::string&);
-
+
const std::string& getName() const;
-
+
private:
-
+
const std::string _name;
};
@@ -137,14 +137,14 @@ operator<<(ConfluenceOutput& o, const StartElement& e)
class Attribute
{
public:
-
+
Attribute(const ::std::string&, const ::std::string&);
-
+
const ::std::string& getName() const;
const ::std::string& getValue() const;
-
+
private:
-
+
const ::std::string _name;
const ::std::string _value;
};
diff --git a/cpp/src/slice2confluence/Main.cpp b/cpp/src/slice2confluence/Main.cpp
index 2d7b4d9219d..b812be5cd7a 100644
--- a/cpp/src/slice2confluence/Main.cpp
+++ b/cpp/src/slice2confluence/Main.cpp
@@ -24,7 +24,7 @@ using namespace IceUtil;
namespace
{
-IceUtil::Mutex* mutex = 0;
+IceUtil::Mutex* globalMutex = 0;
bool interrupted = false;
class Init
@@ -33,13 +33,13 @@ public:
Init()
{
- mutex = new IceUtil::Mutex;
+ globalMutex = new IceUtil::Mutex;
}
~Init()
{
- delete mutex;
- mutex = 0;
+ delete globalMutex;
+ globalMutex = 0;
}
};
@@ -72,7 +72,7 @@ splitCommas(string& str)
void
interruptedCallback(int signal)
{
- IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
+ IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(globalMutex);
interrupted = true;
}
@@ -310,7 +310,7 @@ compile(int argc, char* argv[])
}
{
- IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
+ IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(globalMutex);
if(interrupted)
{
@@ -352,7 +352,7 @@ compile(int argc, char* argv[])
p->destroy();
{
- IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(mutex);
+ IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(globalMutex);
if(interrupted)
{
diff --git a/cpp/src/slice2confluence/Makefile b/cpp/src/slice2confluence/Makefile
deleted file mode 100644
index 2bef9175f5d..00000000000
--- a/cpp/src/slice2confluence/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-NAME = $(bindir)/slice2confluence
-
-TARGETS = $(NAME)
-
-OBJS = ConfluenceOutput.o \
- Gen.o \
- Main.o
-
-RPATH_DIR = $(LOADER_PATH)/../$(libsubdir)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. $(CPPFLAGS)
-
-$(NAME): $(OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(OBJS) $(SLICE_LIBS) $(MCPP_RPATH_LINK)
-
-install:: all
- $(call installprogram,$(NAME),$(DESTDIR)$(install_bindir))
diff --git a/cpp/src/slice2cpp/.gitignore b/cpp/src/slice2cpp/.gitignore
deleted file mode 100644
index 720f44c7047..00000000000
--- a/cpp/src/slice2cpp/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
diff --git a/cpp/src/slice2cpp/Makefile b/cpp/src/slice2cpp/Makefile
deleted file mode 100644
index 3af754207f8..00000000000
--- a/cpp/src/slice2cpp/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-NAME = $(bindir)/slice2cpp$(EXE_EXT)
-
-TARGETS = $(NAME)
-
-OBJS = Gen.o \
- Main.o
-
-RPATH_DIR = $(LOADER_PATH)/../$(libsubdir)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. $(CPPFLAGS)
-
-$(NAME): $(OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(OBJS) $(SLICE_LIBS) $(MCPP_RPATH_LINK)
-
-install:: all
- $(call installprogram,$(NAME),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/slice2cpp.1,$(DESTDIR)$(install_mandir))
diff --git a/cpp/src/slice2cs/.gitignore b/cpp/src/slice2cs/.gitignore
deleted file mode 100644
index 720f44c7047..00000000000
--- a/cpp/src/slice2cs/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
diff --git a/cpp/src/slice2cs/Makefile b/cpp/src/slice2cs/Makefile
deleted file mode 100644
index e46c1005dd6..00000000000
--- a/cpp/src/slice2cs/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-NAME = $(bindir)/slice2cs
-
-TARGETS = $(NAME)
-
-OBJS = Gen.o \
- Main.o
-
-RPATH_DIR = $(LOADER_PATH)/../$(libsubdir)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. $(CPPFLAGS)
-
-$(NAME): $(OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(OBJS) $(SLICE_LIBS) $(MCPP_RPATH_LINK)
-
-install:: all
- $(call installprogram,$(NAME),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/slice2cs.1,$(DESTDIR)$(install_mandir))
diff --git a/cpp/src/slice2html/.gitignore b/cpp/src/slice2html/.gitignore
deleted file mode 100644
index 720f44c7047..00000000000
--- a/cpp/src/slice2html/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
diff --git a/cpp/src/slice2html/Makefile b/cpp/src/slice2html/Makefile
deleted file mode 100644
index 8b8b40307a5..00000000000
--- a/cpp/src/slice2html/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-NAME = $(bindir)/slice2html
-
-TARGETS = $(NAME)
-
-OBJS = Gen.o \
- Main.o
-
-RPATH_DIR = $(LOADER_PATH)/../$(libsubdir)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. $(CPPFLAGS)
-
-$(NAME): $(OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(OBJS) $(SLICE_LIBS) $(MCPP_RPATH_LINK)
-
-install:: all
- $(call installprogram,$(NAME),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/slice2html.1,$(DESTDIR)$(install_mandir))
diff --git a/cpp/src/slice2java/.gitignore b/cpp/src/slice2java/.gitignore
deleted file mode 100644
index 720f44c7047..00000000000
--- a/cpp/src/slice2java/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
diff --git a/cpp/src/slice2java/Makefile b/cpp/src/slice2java/Makefile
deleted file mode 100644
index e2a882bfb6f..00000000000
--- a/cpp/src/slice2java/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-NAME = $(bindir)/slice2java
-
-TARGETS = $(NAME)
-
-OBJS = Gen.o \
- Main.o
-
-RPATH_DIR = $(LOADER_PATH)/../$(libsubdir)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. $(CPPFLAGS)
-
-$(NAME): $(OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(OBJS) $(SLICE_LIBS) $(MCPP_RPATH_LINK)
-
-install:: all
- $(call installprogram,$(NAME),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/slice2java.1,$(DESTDIR)$(install_mandir))
diff --git a/cpp/src/slice2js/.gitignore b/cpp/src/slice2js/.gitignore
deleted file mode 100644
index 720f44c7047..00000000000
--- a/cpp/src/slice2js/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
diff --git a/cpp/src/slice2js/Makefile b/cpp/src/slice2js/Makefile
deleted file mode 100644
index 0aaf14a7a0d..00000000000
--- a/cpp/src/slice2js/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-NAME = $(bindir)/slice2js
-
-TARGETS = $(NAME)
-
-OBJS = Gen.o \
- JsUtil.o \
- Main.o
-
-RPATH_DIR = $(LOADER_PATH)/../$(libsubdir)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. $(CPPFLAGS)
-
-$(NAME): $(OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(OBJS) $(SLICE_LIBS) $(MCPP_RPATH_LINK)
-
-install:: all
- $(call installprogram,$(NAME),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/slice2js.1,$(DESTDIR)$(install_mandir))
diff --git a/cpp/src/slice2objc/.gitignore b/cpp/src/slice2objc/.gitignore
deleted file mode 100644
index 3a412ca89c7..00000000000
--- a/cpp/src/slice2objc/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
diff --git a/cpp/src/slice2objc/Makefile b/cpp/src/slice2objc/Makefile
deleted file mode 100644
index 6abe0150f36..00000000000
--- a/cpp/src/slice2objc/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-NAME = $(bindir)/slice2objc$(EXE_EXT)
-
-TARGETS = $(NAME)
-
-OBJS = Gen.o \
- Main.o
-
-RPATH_DIR = $(LOADER_PATH)/../$(libsubdir)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. $(CPPFLAGS)
-
-$(NAME): $(OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(OBJS) $(SLICE_LIBS) $(MCPP_RPATH_LINK)
-
-install:: all
- $(call installprogram,$(NAME),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/slice2objc.1,$(DESTDIR)$(install_mandir))
diff --git a/cpp/src/slice2php/.gitignore b/cpp/src/slice2php/.gitignore
deleted file mode 100644
index 720f44c7047..00000000000
--- a/cpp/src/slice2php/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-.depend
diff --git a/cpp/src/slice2php/Makefile b/cpp/src/slice2php/Makefile
deleted file mode 100644
index 62f82531201..00000000000
--- a/cpp/src/slice2php/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-NAME = $(bindir)/slice2php
-
-TARGETS = $(NAME)
-
-OBJS = Main.o
-
-RPATH_DIR = $(LOADER_PATH)/../$(libsubdir)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. $(CPPFLAGS)
-
-$(NAME): $(OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(OBJS) $(SLICE_LIBS) $(MCPP_RPATH_LINK)
-
-install:: all
- $(call installprogram,$(NAME),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/slice2php.1,$(DESTDIR)$(install_mandir))
diff --git a/cpp/src/slice2py/.gitignore b/cpp/src/slice2py/.gitignore
deleted file mode 100644
index 3a412ca89c7..00000000000
--- a/cpp/src/slice2py/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
diff --git a/cpp/src/slice2py/Makefile b/cpp/src/slice2py/Makefile
deleted file mode 100644
index 17c038be6f1..00000000000
--- a/cpp/src/slice2py/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-NAME = $(bindir)/slice2py
-
-TARGETS = $(NAME)
-
-OBJS = Main.o
-
-RPATH_DIR = $(LOADER_PATH)/../$(libsubdir)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. $(CPPFLAGS)
-
-$(NAME): $(OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(OBJS) $(SLICE_LIBS) $(MCPP_RPATH_LINK)
-
-install:: all
- $(call installprogram,$(NAME),$(DESTDIR)$(install_bindir))
- $(call installdata,$(top_srcdir)/../man/man1/slice2py.1,$(DESTDIR)$(install_mandir))
diff --git a/cpp/test/Common/.gitignore b/cpp/test/Common/.gitignore
deleted file mode 100644
index 3ff6195f620..00000000000
--- a/cpp/test/Common/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-Controller.cpp
-Controller.h
diff --git a/cpp/test/Common/Makefile b/cpp/test/Common/Makefile
deleted file mode 100644
index 362a7dd0bff..00000000000
--- a/cpp/test/Common/Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-testincdir = ../include
-
-LIBFILENAME = $(call mklibfilename,TestCommon,$(VERSION))
-SONAME = $(call mksoname,TestCommon,$(SOVERSION))
-LIBNAME = $(call mklibname,TestCommon)
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)$(cpp11libdirsuffix)/$(LIBNAME))
-
-SLICE_OBJS = Controller.o
-
-OBJS = TestCommon.o \
- $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I$(testincdir) $(CPPFLAGS) -DTEST_API_EXPORTS
-SLICE2CPPFLAGS := --dll-export TEST_API $(SLICE2CPPFLAGS)
-
-ifeq ($(STATICLIBS),yes)
-$(libdir)/$(LIBNAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mklib,$@,$(OBJS))
-else
-$(libdir)/$(LIBFILENAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LIBS))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)$(cpp11libdirsuffix)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)$(cpp11libdirsuffix)
- rm -f $@
- ln -s $(cpp11sonamedir)$(SONAME) $@
-endif
diff --git a/cpp/test/Common/Makefile.mk b/cpp/test/Common/Makefile.mk
new file mode 100644
index 00000000000..7e470870aa1
--- /dev/null
+++ b/cpp/test/Common/Makefile.mk
@@ -0,0 +1,18 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries = TestCommon
+$(project)_noinstall := 1
+
+TestCommon_targetdir := lib
+TestCommon_dependencies := Ice IceUtil
+TestCommon_sliceflags := --dll-export TEST_API
+TestCommon_cppflags := -I$(includedir) -I$(project) -Itest/include -DTEST_API_EXPORTS
+
+projects += $(project)
diff --git a/cpp/test/Glacier2/Makefile b/cpp/test/Glacier2/Makefile
deleted file mode 100644
index d7f5bf64db7..00000000000
--- a/cpp/test/Glacier2/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = router \
- attack \
- override \
- staticFiltering \
- dynamicFiltering \
- sessionControl \
- sessionHelper \
- ssl
-
-.PHONY: $(EVERYTHING) $(SUBDIRS)
-
-all:: $(SUBDIRS)
-
-$(SUBDIRS):
- @echo "making all in $@"
- @$(MAKE) all --directory=$@
-
-
-$(EVERYTHING_EXCEPT_ALL)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
diff --git a/cpp/test/Glacier2/attack/.gitignore b/cpp/test/Glacier2/attack/.gitignore
deleted file mode 100644
index a0c8f4f0ab1..00000000000
--- a/cpp/test/Glacier2/attack/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Backend.cpp
-Backend.h
diff --git a/cpp/test/Glacier2/attack/Makefile b/cpp/test/Glacier2/attack/Makefile
deleted file mode 100644
index 442a3a4e99c..00000000000
--- a/cpp/test/Glacier2/attack/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Backend.o
-
-COBJS = $(SLICE_OBJS) \
- BackendI.o \
- Client.o
-
-SOBJS = $(SLICE_OBJS) \
- BackendI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) -lGlacier2 $(LIBS)
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
diff --git a/cpp/test/Glacier2/attack/Makefile.mk b/cpp/test/Glacier2/attack/Makefile.mk
new file mode 100644
index 00000000000..01308c58317
--- /dev/null
+++ b/cpp/test/Glacier2/attack/Makefile.mk
@@ -0,0 +1,15 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = Client.cpp BackendI.cpp Backend.ice
+$(test)_client_dependencies = Glacier2
+
+$(test)_server_sources = Server.cpp BackendI.cpp Backend.ice
+
+tests += $(test)
diff --git a/cpp/test/Glacier2/dynamicFiltering/.gitignore b/cpp/test/Glacier2/dynamicFiltering/.gitignore
deleted file mode 100644
index 3a3aae35bd8..00000000000
--- a/cpp/test/Glacier2/dynamicFiltering/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Glacier2/dynamicFiltering/Makefile b/cpp/test/Glacier2/dynamicFiltering/Makefile
deleted file mode 100644
index 2c47cc040bf..00000000000
--- a/cpp/test/Glacier2/dynamicFiltering/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o
-
-SOBJS = $(SLICE_OBJS) \
- Server.o \
- SessionI.o \
- BackendI.o \
- TestControllerI.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) -lGlacier2 $(LIBS)
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) -lGlacier2 $(LIBS)
diff --git a/objective-c/include/Makefile b/cpp/test/Glacier2/dynamicFiltering/Makefile.mk
index d27d720964c..5545484237e 100644
--- a/objective-c/include/Makefile
+++ b/cpp/test/Glacier2/dynamicFiltering/Makefile.mk
@@ -1,21 +1,16 @@
# **********************************************************************
#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
#
# **********************************************************************
-top_srcdir = ..
+$(test)_dependencies = Glacier2 Ice IceUtil TestCommon
-include $(top_srcdir)/config/Make.rules
+$(test)_client_sources = Client.cpp Test.ice
-SUBDIRS = objc
+$(test)_server_sources = Server.cpp TestControllerI.cpp BackendI.cpp SessionI.cpp Test.ice
-$(EVERYTHING)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
+tests += $(test)
diff --git a/cpp/test/Glacier2/override/.gitignore b/cpp/test/Glacier2/override/.gitignore
deleted file mode 100644
index 64d5c068c33..00000000000
--- a/cpp/test/Glacier2/override/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-.depend
-Callback.cpp
-Callback.h
diff --git a/cpp/test/Glacier2/override/Makefile b/cpp/test/Glacier2/override/Makefile
deleted file mode 100644
index b026ce533e7..00000000000
--- a/cpp/test/Glacier2/override/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Callback.o
-
-COBJS = $(SLICE_OBJS) \
- CallbackI.o \
- Client.o
-
-SOBJS = $(SLICE_OBJS) \
- CallbackI.o \
- Server.o
-
-SRCS = $(OBJS:.o=.cpp) \
- $(COBJS:.o=.cpp) \
- $(SOBJS:.o=.cpp)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) -lGlacier2 $(LIBS)
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
diff --git a/cpp/test/Glacier2/override/Makefile.mk b/cpp/test/Glacier2/override/Makefile.mk
new file mode 100644
index 00000000000..ecafb149f1d
--- /dev/null
+++ b/cpp/test/Glacier2/override/Makefile.mk
@@ -0,0 +1,15 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = Client.cpp CallbackI.cpp Callback.ice
+$(test)_client_dependencies = Glacier2
+
+$(test)_server_sources = Server.cpp CallbackI.cpp Callback.ice
+
+tests += $(test)
diff --git a/cpp/test/Glacier2/router/.gitignore b/cpp/test/Glacier2/router/.gitignore
deleted file mode 100644
index 8671f03d5a1..00000000000
--- a/cpp/test/Glacier2/router/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Callback.cpp
-Callback.h
diff --git a/cpp/test/Glacier2/router/Makefile b/cpp/test/Glacier2/router/Makefile
deleted file mode 100644
index 7b1981e66d3..00000000000
--- a/cpp/test/Glacier2/router/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Callback.o
-
-COBJS = $(SLICE_OBJS) \
- CallbackI.o \
- Client.o
-
-SOBJS = $(SLICE_OBJS) \
- CallbackI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) -lGlacier2 $(LIBS)
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
diff --git a/cpp/test/Glacier2/router/Makefile.mk b/cpp/test/Glacier2/router/Makefile.mk
new file mode 100644
index 00000000000..ecafb149f1d
--- /dev/null
+++ b/cpp/test/Glacier2/router/Makefile.mk
@@ -0,0 +1,15 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = Client.cpp CallbackI.cpp Callback.ice
+$(test)_client_dependencies = Glacier2
+
+$(test)_server_sources = Server.cpp CallbackI.cpp Callback.ice
+
+tests += $(test)
diff --git a/cpp/test/Glacier2/sessionControl/.gitignore b/cpp/test/Glacier2/sessionControl/.gitignore
deleted file mode 100644
index 88130e8077a..00000000000
--- a/cpp/test/Glacier2/sessionControl/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Session.cpp
-Session.h
diff --git a/cpp/test/Glacier2/sessionControl/Makefile b/cpp/test/Glacier2/sessionControl/Makefile
deleted file mode 100644
index 8e0a52910ea..00000000000
--- a/cpp/test/Glacier2/sessionControl/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Session.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o
-
-SOBJS = $(SLICE_OBJS) \
- Server.o \
- SessionI.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) -lGlacier2 $(LIBS)
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) -lGlacier2 $(LIBS)
diff --git a/cpp/test/Glacier2/sessionControl/Makefile.mk b/cpp/test/Glacier2/sessionControl/Makefile.mk
new file mode 100644
index 00000000000..39e93bceac6
--- /dev/null
+++ b/cpp/test/Glacier2/sessionControl/Makefile.mk
@@ -0,0 +1,16 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_dependencies = Glacier2 Ice IceUtil TestCommon
+
+$(test)_client_sources = Client.cpp Session.ice
+
+$(test)_server_sources = Server.cpp SessionI.cpp Session.ice
+
+tests += $(test)
diff --git a/cpp/test/Glacier2/sessionHelper/.gitignore b/cpp/test/Glacier2/sessionHelper/.gitignore
deleted file mode 100644
index 8671f03d5a1..00000000000
--- a/cpp/test/Glacier2/sessionHelper/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Callback.cpp
-Callback.h
diff --git a/cpp/test/Glacier2/sessionHelper/Makefile b/cpp/test/Glacier2/sessionHelper/Makefile
deleted file mode 100644
index 711c25eaa60..00000000000
--- a/cpp/test/Glacier2/sessionHelper/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Callback.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o
-
-SOBJS = $(SLICE_OBJS) \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) -lGlacier2 $(LIBS)
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
diff --git a/cpp/test/Glacier2/sessionHelper/Makefile.mk b/cpp/test/Glacier2/sessionHelper/Makefile.mk
new file mode 100644
index 00000000000..ba1f9f16732
--- /dev/null
+++ b/cpp/test/Glacier2/sessionHelper/Makefile.mk
@@ -0,0 +1,15 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = Client.cpp Callback.ice
+$(test)_client_dependencies = Glacier2
+
+$(test)_server_sources = Server.cpp Callback.ice
+
+tests += $(test)
diff --git a/cpp/test/Glacier2/ssl/.gitignore b/cpp/test/Glacier2/ssl/.gitignore
deleted file mode 100644
index bc1dd55fba1..00000000000
--- a/cpp/test/Glacier2/ssl/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
diff --git a/cpp/test/Glacier2/ssl/Makefile b/cpp/test/Glacier2/ssl/Makefile
deleted file mode 100644
index f09c5d0e11b..00000000000
--- a/cpp/test/Glacier2/ssl/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-COBJS = Client.o
-
-SOBJS = Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) -lGlacier2 $(LIBS)
-
-$(SERVER): $(OBJS) $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) -lGlacier2 $(ICESSL_LIBS) $(LIBS)
diff --git a/cpp/test/Glacier2/ssl/Makefile.mk b/cpp/test/Glacier2/ssl/Makefile.mk
new file mode 100644
index 00000000000..2fbb2c4fa7a
--- /dev/null
+++ b/cpp/test/Glacier2/ssl/Makefile.mk
@@ -0,0 +1,13 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_dependencies = Glacier2
+$(test)_server_dependencies = Glacier2 IceSSL
+
+tests += $(test)
diff --git a/cpp/test/Glacier2/staticFiltering/.gitignore b/cpp/test/Glacier2/staticFiltering/.gitignore
deleted file mode 100644
index 6257255fb0a..00000000000
--- a/cpp/test/Glacier2/staticFiltering/.gitignore
+++ /dev/null
@@ -1,12 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Backend.cpp
-Backend.h
-attack.cfg
-router.cfg
-server.cfg
diff --git a/cpp/test/Glacier2/staticFiltering/Makefile b/cpp/test/Glacier2/staticFiltering/Makefile
deleted file mode 100644
index 7463f56a978..00000000000
--- a/cpp/test/Glacier2/staticFiltering/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Backend.o
-
-COBJS = $(SLICE_OBJS) \
- BackendI.o \
- Client.o
-
-SOBJS = $(SLICE_OBJS) \
- BackendI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) -lGlacier2 $(LIBS)
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
-
-clean::
- -rm -f attack.cfg router.cfg server.cfg
diff --git a/cpp/test/Glacier2/staticFiltering/Makefile.mk b/cpp/test/Glacier2/staticFiltering/Makefile.mk
new file mode 100644
index 00000000000..01308c58317
--- /dev/null
+++ b/cpp/test/Glacier2/staticFiltering/Makefile.mk
@@ -0,0 +1,15 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = Client.cpp BackendI.cpp Backend.ice
+$(test)_client_dependencies = Glacier2
+
+$(test)_server_sources = Server.cpp BackendI.cpp Backend.ice
+
+tests += $(test)
diff --git a/cpp/test/Ice/Makefile b/cpp/test/Ice/Makefile
deleted file mode 100644
index f0e469f2c08..00000000000
--- a/cpp/test/Ice/Makefile
+++ /dev/null
@@ -1,78 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = proxy \
- operations \
- exceptions \
- ami \
- info \
- inheritance \
- facets \
- objects \
- faultTolerance \
- location \
- adapterDeactivation \
- slicing \
- hash \
- checksum \
- dispatcher \
- hold \
- binding \
- retry \
- timeout \
- acm \
- servantLocator \
- interceptor \
- stringConverter \
- background \
- udp \
- defaultServant \
- defaultValue \
- threadPoolPriority \
- invoke \
- properties \
- plugin \
- admin \
- metrics \
- enums \
- logger \
- networkProxy \
- impl \
- stream
-
-ifneq ($(CPP11_MAPPING),yes)
-SUBDIRS := $(SUBDIRS) \
- optional \
- gc \
- custom \
- echo
-endif
-
-ifeq ($(findstring MINGW,$(UNAME)),)
-SUBDIRS := $(SUBDIRS) services
-endif
-
-.PHONY: $(EVERYTHING) $(SUBDIRS)
-
-all:: $(SUBDIRS)
-
-$(SUBDIRS):
- @echo "making all in $@"
- @$(MAKE) all --directory=$@
-
-$(EVERYTHING_EXCEPT_ALL)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
diff --git a/cpp/test/Ice/acm/.gitignore b/cpp/test/Ice/acm/.gitignore
deleted file mode 100644
index 3a3aae35bd8..00000000000
--- a/cpp/test/Ice/acm/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/acm/Makefile b/cpp/test/Ice/acm/Makefile
deleted file mode 100644
index 03f6da96337..00000000000
--- a/cpp/test/Ice/acm/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o
-
-COBJS = Test.o \
- Client.o \
- AllTests.o
-
-SOBJS = Test.o \
- TestI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/adapterDeactivation/.gitignore b/cpp/test/Ice/adapterDeactivation/.gitignore
deleted file mode 100644
index 21c2eee2b29..00000000000
--- a/cpp/test/Ice/adapterDeactivation/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-collocated
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/adapterDeactivation/Makefile b/cpp/test/Ice/adapterDeactivation/Makefile
deleted file mode 100644
index 945162ab957..00000000000
--- a/cpp/test/Ice/adapterDeactivation/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-COLLOCATED = $(call mktestname,collocated)
-
-TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
-
-SLICE_OBJS = Test.o \
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- ServantLocatorI.o \
- Server.o
-
-COLOBJS = $(SLICE_OBJS) \
- TestI.o \
- ServantLocatorI.o \
- Collocated.o \
- AllTests.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(COLOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
-
-$(COLLOCATED): $(COLOBJS)
- rm -f $@
- $(call mktest,$@,$(COLOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/adapterDeactivation/Makefile.mk b/cpp/test/Ice/adapterDeactivation/Makefile.mk
new file mode 100644
index 00000000000..2f49768a5cf
--- /dev/null
+++ b/cpp/test/Ice/adapterDeactivation/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_server_sources = Server.cpp TestI.cpp Test.ice ServantLocatorI.cpp
+
+tests += $(test)
diff --git a/cpp/test/Ice/admin/.gitignore b/cpp/test/Ice/admin/.gitignore
deleted file mode 100644
index 3a3aae35bd8..00000000000
--- a/cpp/test/Ice/admin/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/admin/Makefile b/cpp/test/Ice/admin/Makefile
deleted file mode 100644
index a0b17c9379a..00000000000
--- a/cpp/test/Ice/admin/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o \
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/ami/.gitignore b/cpp/test/Ice/ami/.gitignore
deleted file mode 100644
index 21c2eee2b29..00000000000
--- a/cpp/test/Ice/ami/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-collocated
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/ami/Makefile b/cpp/test/Ice/ami/Makefile
deleted file mode 100644
index 3971a251843..00000000000
--- a/cpp/test/Ice/ami/Makefile
+++ /dev/null
@@ -1,52 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-COLLOCATED = $(call mktestname,collocated)
-
-TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
-
-SLICE_OBJS = Test.o \
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-COLOBJS = $(SLICE_OBJS) \
- TestI.o \
- Collocated.o \
- AllTests.o \
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(COLOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
-
-$(COLLOCATED): $(COLOBJS)
- rm -f $@
- $(call mktest,$@,$(COLOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/background/.gitignore b/cpp/test/Ice/background/.gitignore
deleted file mode 100644
index 2c327f510eb..00000000000
--- a/cpp/test/Ice/background/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-libTestTransport.*
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/background/Makefile b/cpp/test/Ice/background/Makefile
deleted file mode 100644
index 37ccb68fdc5..00000000000
--- a/cpp/test/Ice/background/Makefile
+++ /dev/null
@@ -1,68 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-
-TSPFILENAME = $(call mklibfilename,TestTransport,$(VERSION))
-TSPSONAME = $(call mksoname,TestTransport,$(SOVERSION))
-TSPLIBNAME = $(call mklibname,TestTransport)
-
-TARGETS = $(CLIENT) $(SERVER) $(call mklibtargets,$(TSPFILENAME),$(TSPSONAME),$(TSPLIBNAME))
-
-SLICE_OBJS = Test.o
-
-COBJS = Configuration.o \
- Test.o \
- Client.o \
- AllTests.o
-
-SOBJS = Configuration.o \
- Test.o \
- TestI.o \
- Server.o
-
-TRANSPORT_OBJS = Test.o \
- Configuration.o \
- Connector.o \
- Acceptor.o \
- EndpointI.o \
- Transceiver.o \
- EndpointFactory.o \
- PluginI.o
-
-OBJS = $(TRANSPORT_OBJS) \
- $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include -I../../../src $(CPPFLAGS) $(NO_DEPRECATED_FLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
-
-$(TSPFILENAME): $(TRANSPORT_OBJS)
- rm -f $@
- $(call mkshlib,$@,$(TSPSONAME),$(TRANSPORT_OBJS),$(TEST_LIBS))
-
-$(TSPSONAME): $(TSPFILENAME)
- rm -f $@
- ln -s $(TSPFILENAME) $@
-
-$(TSPLIBNAME): $(TSPSONAME)
- rm -f $@
- ln -s $(TSPSONAME) $@
diff --git a/cpp/test/Ice/background/Makefile.mk b/cpp/test/Ice/background/Makefile.mk
new file mode 100644
index 00000000000..d202a9ce917
--- /dev/null
+++ b/cpp/test/Ice/background/Makefile.mk
@@ -0,0 +1,25 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_libraries := $(test)_TestTransport
+$(test)_cppflags := -I$(srcdir)
+
+$(test)_client_sources = $(test-client-sources) Configuration.cpp
+$(test)_server_sources = $(test-server-sources) Configuration.cpp
+
+$(test)_TestTransport_sources = Test.ice \
+ Configuration.cpp \
+ Connector.cpp \
+ Acceptor.cpp \
+ EndpointI.cpp \
+ Transceiver.cpp \
+ EndpointFactory.cpp \
+ PluginI.cpp
+
+tests += $(test)
diff --git a/cpp/test/Ice/binding/.gitignore b/cpp/test/Ice/binding/.gitignore
deleted file mode 100644
index 3a3aae35bd8..00000000000
--- a/cpp/test/Ice/binding/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/binding/Makefile b/cpp/test/Ice/binding/Makefile
deleted file mode 100644
index a0b17c9379a..00000000000
--- a/cpp/test/Ice/binding/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o \
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/checksum/.gitignore b/cpp/test/Ice/checksum/.gitignore
deleted file mode 100644
index 4e9331c8cda..00000000000
--- a/cpp/test/Ice/checksum/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-ClientTypes.cpp
-ClientTypes.h
-server
-ServerTypes.cpp
-ServerTypes.h
-Test.cpp
-Types.cpp
-Test.h
-Types.h
diff --git a/cpp/test/Ice/checksum/Makefile b/cpp/test/Ice/checksum/Makefile
deleted file mode 100644
index f62a2c56b09..00000000000
--- a/cpp/test/Ice/checksum/Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-
-TARGETS = $(CLIENT) $(SERVER)
-
-
-SLICE_OBJS = Test.o ServerTypes.o ClientTypes.o
-
-COBJS = Test.o \
- ClientTypes.o \
- Client.o \
- AllTests.o
-
-SOBJS = Test.o \
- ServerTypes.o \
- Server.o \
- TestI.o
-
-OBJS = $(COBJS) $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-
-SLICE2CPPFLAGS := --checksum $(SLICE2CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/checksum/Makefile.mk b/cpp/test/Ice/checksum/Makefile.mk
new file mode 100644
index 00000000000..9a4ed6eb94e
--- /dev/null
+++ b/cpp/test/Ice/checksum/Makefile.mk
@@ -0,0 +1,14 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_sliceflags = --checksum
+$(test)_client_sources = $(test-client-sources) ClientTypes.ice
+$(test)_server_sources = $(test-server-sources) ServerTypes.ice
+
+tests += $(test)
diff --git a/cpp/test/Ice/custom/.gitignore b/cpp/test/Ice/custom/.gitignore
deleted file mode 100644
index 554110014d7..00000000000
--- a/cpp/test/Ice/custom/.gitignore
+++ /dev/null
@@ -1,17 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-serveramd
-collocated
-.depend
-Test.cpp
-TestAMD.cpp
-Wstring.cpp
-WstringAMD.cpp
-Test.h
-TestAMD.h
-Wstring.h
-WstringAMD.h
diff --git a/cpp/test/Ice/custom/Makefile b/cpp/test/Ice/custom/Makefile
deleted file mode 100644
index 0732fda1b3e..00000000000
--- a/cpp/test/Ice/custom/Makefile
+++ /dev/null
@@ -1,96 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-SERVERAMD = $(call mktestname,serveramd)
-COLLOCATED = $(call mktestname,collocated)
-
-TARGETS = $(CLIENT) $(SERVER) $(SERVERAMD) $(COLLOCATED)
-
-SLICE_OBJS = Test.o \
- TestAMD.o \
- Wstring.o \
- WstringAMD.o
-
-COBJS = Test.o \
- Wstring.o \
- Client.o \
- AllTests.o \
- MyByteSeq.o \
- StringConverterI.o
-
-SOBJS = Test.o \
- Wstring.o \
- TestI.o \
- WstringI.o \
- Server.o \
- MyByteSeq.o \
- StringConverterI.o
-
-SAMDOBJS = TestAMD.o \
- TestAMDI.o \
- WstringAMD.o \
- WstringAMDI.o \
- ServerAMD.o \
- MyByteSeq.o \
- StringConverterI.o
-
-COLOBJS = Test.o \
- Wstring.o \
- TestI.o \
- WstringI.o \
- Collocated.o \
- AllTests.o \
- MyByteSeq.o \
- StringConverterI.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(SAMDOBJS) \
- $(COLOBJS)
-
-GENPIC = no
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS) -DSTRING_VIEW_IGNORE_STRING_CONVERTER
-
-
-#
-# Disables optimization when building with Solaris CC:
-# AllTests.cpp takes a very very long time to compile with -O
-#
-ifeq ($(UNAME),SunOS)
-ifeq ($(CXX),CC)
-ifeq ($(OPTIMIZE),yes)
-
-AllTests.o: AllTests.cpp
- $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -xO0 $<
-endif
-endif
-endif
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
-
-$(SERVERAMD): $(SAMDOBJS)
- rm -f $@
- $(call mktest,$@,$(SAMDOBJS),$(TEST_LIBS))
-
-$(COLLOCATED): $(COLOBJS)
- rm -f $@
- $(call mktest,$@,$(COLOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/custom/Makefile.mk b/cpp/test/Ice/custom/Makefile.mk
new file mode 100644
index 00000000000..3a40e81bdfc
--- /dev/null
+++ b/cpp/test/Ice/custom/Makefile.mk
@@ -0,0 +1,35 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_cppflags = -DSTRING_VIEW_IGNORE_STRING_CONVERTER
+
+$(test)_client_sources = Client.cpp \
+ AllTests.cpp \
+ Test.ice \
+ Wstring.ice \
+ MyByteSeq.cpp \
+ StringConverterI.cpp
+
+$(test)_server_sources = Server.cpp \
+ TestI.cpp \
+ WstringI.cpp \
+ Test.ice \
+ Wstring.ice \
+ MyByteSeq.cpp \
+ StringConverterI.cpp
+
+$(test)_serveramd_sources = ServerAMD.cpp \
+ TestAMDI.cpp \
+ WstringAMDI.cpp \
+ TestAMD.ice \
+ WstringAMD.ice \
+ MyByteSeq.cpp \
+ StringConverterI.cpp
+
+tests += $(test)
diff --git a/cpp/test/Ice/defaultServant/.gitignore b/cpp/test/Ice/defaultServant/.gitignore
deleted file mode 100644
index dcdf5eb23c7..00000000000
--- a/cpp/test/Ice/defaultServant/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/defaultServant/Makefile b/cpp/test/Ice/defaultServant/Makefile
deleted file mode 100644
index dce22591624..00000000000
--- a/cpp/test/Ice/defaultServant/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- TestI.o \
- Client.o \
- AllTests.o
-
-OBJS = $(COBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(LIBS))
diff --git a/cpp/test/Ice/defaultServant/Makefile.mk b/cpp/test/Ice/defaultServant/Makefile.mk
new file mode 100644
index 00000000000..57aad5bd691
--- /dev/null
+++ b/cpp/test/Ice/defaultServant/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = Client.cpp AllTests.cpp Test.ice TestI.cpp
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/Ice/defaultValue/.gitignore b/cpp/test/Ice/defaultValue/.gitignore
deleted file mode 100644
index dcdf5eb23c7..00000000000
--- a/cpp/test/Ice/defaultValue/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/defaultValue/Makefile b/cpp/test/Ice/defaultValue/Makefile
deleted file mode 100644
index f39e0d6f806..00000000000
--- a/cpp/test/Ice/defaultValue/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-OBJS = $(COBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(LIBS))
diff --git a/cpp/test/Ice/dispatcher/.gitignore b/cpp/test/Ice/dispatcher/.gitignore
deleted file mode 100644
index 21c2eee2b29..00000000000
--- a/cpp/test/Ice/dispatcher/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-collocated
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/dispatcher/Makefile b/cpp/test/Ice/dispatcher/Makefile
deleted file mode 100644
index bf914706aa2..00000000000
--- a/cpp/test/Ice/dispatcher/Makefile
+++ /dev/null
@@ -1,55 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-COLLOCATED = $(call mktestname,collocated)
-
-TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Dispatcher.o \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- Dispatcher.o \
- TestI.o \
- Server.o
-
-COLOBJS = $(SLICE_OBJS) \
- Dispatcher.o \
- TestI.o \
- Collocated.o \
- AllTests.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(COLOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
-
-$(COLLOCATED): $(COLOBJS)
- rm -f $@
- $(call mktest,$@,$(COLOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/dispatcher/Makefile.mk b/cpp/test/Ice/dispatcher/Makefile.mk
new file mode 100644
index 00000000000..4949323e198
--- /dev/null
+++ b/cpp/test/Ice/dispatcher/Makefile.mk
@@ -0,0 +1,13 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = $(test-client-sources) Dispatcher.cpp
+$(test)_server_sources = $(test-server-sources) Dispatcher.cpp
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/Ice/echo/.gitignore b/cpp/test/Ice/echo/.gitignore
deleted file mode 100644
index 571c54bbb1f..00000000000
--- a/cpp/test/Ice/echo/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-server
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/echo/Makefile b/cpp/test/Ice/echo/Makefile
deleted file mode 100644
index 55016f7004d..00000000000
--- a/cpp/test/Ice/echo/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-SERVER = $(call mktestname,server)
-
-TARGETS = $(SERVER)
-
-SLICE_OBJS = Test.o
-
-OBJS = $(SLICE_OBJS) \
- BlobjectI.o \
- Server.o
-
-SRCS = $(SOBJS:.o=.cpp)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-
-$(SERVER): $(OBJS)
- rm -f $@
- $(call mktest,$@,$(OBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/echo/Makefile.mk b/cpp/test/Ice/echo/Makefile.mk
new file mode 100644
index 00000000000..0ec7edf5455
--- /dev/null
+++ b/cpp/test/Ice/echo/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_server_sources = Test.ice BlobjectI.cpp Server.cpp
+
+tests += $(test)
diff --git a/cpp/test/Ice/enums/.gitignore b/cpp/test/Ice/enums/.gitignore
deleted file mode 100644
index 3a3aae35bd8..00000000000
--- a/cpp/test/Ice/enums/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/enums/Makefile b/cpp/test/Ice/enums/Makefile
deleted file mode 100644
index ab6c5939e07..00000000000
--- a/cpp/test/Ice/enums/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o \
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-SLICE2CPPFLAGS := $(SLICE2CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/exceptions/.gitignore b/cpp/test/Ice/exceptions/.gitignore
deleted file mode 100644
index 725fdbfe47e..00000000000
--- a/cpp/test/Ice/exceptions/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-serveramd
-collocated
-.depend
-Test.cpp
-TestAMD.cpp
-Test.h
-TestAMD.h
diff --git a/cpp/test/Ice/exceptions/Makefile b/cpp/test/Ice/exceptions/Makefile
deleted file mode 100644
index 5ed083b73a4..00000000000
--- a/cpp/test/Ice/exceptions/Makefile
+++ /dev/null
@@ -1,68 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-SERVERAMD = $(call mktestname,serveramd)
-COLLOCATED = $(call mktestname,collocated)
-
-TARGETS = $(CLIENT) $(SERVER) $(SERVERAMD) $(COLLOCATED)
-
-SLICE_OBJS = Test.o TestAMD.o
-
-COMMON_OBJS = ExceptionsI.o
-
-COBJS = $(COMMON_OBJS) \
- Test.o \
- Client.o \
- AllTests.o
-
-SOBJS = $(COMMON_OBJS) \
- Test.o \
- TestI.o \
- Server.o
-
-SAMDOBJS = $(COMMON_OBJS) \
- TestAMD.o \
- TestAMDI.o \
- ServerAMD.o
-
-COLOBJS = $(COMMON_OBJS) \
- Test.o \
- TestI.o \
- Collocated.o \
- AllTests.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(SAMDOBJS) \
- $(COLOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
-
-$(SERVERAMD): $(SAMDOBJS)
- rm -f $@
- $(call mktest,$@,$(SAMDOBJS),$(TEST_LIBS))
-
-$(COLLOCATED): $(COLOBJS)
- rm -f $@
- $(call mktest,$@,$(COLOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/exceptions/Makefile.mk b/cpp/test/Ice/exceptions/Makefile.mk
new file mode 100644
index 00000000000..d63a17b5e4a
--- /dev/null
+++ b/cpp/test/Ice/exceptions/Makefile.mk
@@ -0,0 +1,14 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = $(test-client-sources) ExceptionsI.cpp
+$(test)_server_sources = $(test-server-sources) ExceptionsI.cpp
+$(test)_serveramd_sources = $(test-serveramd-sources) ExceptionsI.cpp
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/Ice/facets/.gitignore b/cpp/test/Ice/facets/.gitignore
deleted file mode 100644
index 21c2eee2b29..00000000000
--- a/cpp/test/Ice/facets/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-collocated
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/facets/Makefile b/cpp/test/Ice/facets/Makefile
deleted file mode 100644
index f8944cda802..00000000000
--- a/cpp/test/Ice/facets/Makefile
+++ /dev/null
@@ -1,52 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-COLLOCATED = $(call mktestname,collocated)
-
-TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
-
-SLICE_OBJS = Test.o \
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-COLOBJS = $(SLICE_OBJS) \
- TestI.o \
- Collocated.o \
- AllTests.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(COLOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
-
-$(COLLOCATED): $(COLOBJS)
- rm -f $@
- $(call mktest,$@,$(COLOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/faultTolerance/.gitignore b/cpp/test/Ice/faultTolerance/.gitignore
deleted file mode 100644
index 3a3aae35bd8..00000000000
--- a/cpp/test/Ice/faultTolerance/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/faultTolerance/Makefile b/cpp/test/Ice/faultTolerance/Makefile
deleted file mode 100644
index 4237ba851ef..00000000000
--- a/cpp/test/Ice/faultTolerance/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(LIBS))
diff --git a/cpp/test/Ice/gc/.gitignore b/cpp/test/Ice/gc/.gitignore
deleted file mode 100644
index dcdf5eb23c7..00000000000
--- a/cpp/test/Ice/gc/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/gc/Makefile b/cpp/test/Ice/gc/Makefile
deleted file mode 100644
index 7838d08559c..00000000000
--- a/cpp/test/Ice/gc/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-SLICE_OBJS = Test.o
-
-OBJS = $(SLICE_OBJS) \
- Client.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(OBJS)
- rm -f $@
- $(call mktest,$@,$(OBJS) $(LIBS))
diff --git a/cpp/test/Ice/hash/.gitignore b/cpp/test/Ice/hash/.gitignore
deleted file mode 100644
index dcdf5eb23c7..00000000000
--- a/cpp/test/Ice/hash/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/hash/Makefile b/cpp/test/Ice/hash/Makefile
deleted file mode 100644
index 6e9ee476fb5..00000000000
--- a/cpp/test/Ice/hash/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o
-
-OBJS = $(COBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS) $(NO_DEPRECATED_FLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS) $(LIBS))
diff --git a/cpp/test/Ice/hold/.gitignore b/cpp/test/Ice/hold/.gitignore
deleted file mode 100644
index 3a3aae35bd8..00000000000
--- a/cpp/test/Ice/hold/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/hold/Makefile b/cpp/test/Ice/hold/Makefile
deleted file mode 100644
index 8fd575dac1a..00000000000
--- a/cpp/test/Ice/hold/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/impl/.gitignore b/cpp/test/Ice/impl/.gitignore
deleted file mode 100644
index b2ac5097002..00000000000
--- a/cpp/test/Ice/impl/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-server
-serveramd
-Test.cpp
-TestI.cpp
-TestAMD.cpp
-TestAMDI.cpp
-Test.h
-TestI.h
-TestAMD.h
-TestAMDI.h
diff --git a/cpp/test/Ice/impl/Makefile b/cpp/test/Ice/impl/Makefile
deleted file mode 100644
index d2e3f7fc62c..00000000000
--- a/cpp/test/Ice/impl/Makefile
+++ /dev/null
@@ -1,66 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-SERVER = $(call mktestname,server)
-SERVERAMD = $(call mktestname,serveramd)
-
-TARGETS = $(SERVER) $(SERVERAMD)
-
-SLICE_OBJS = Test.o TestAMD.o
-
-SOBJS = Test.o \
- TestI.o \
- Server.o \
-
-SAMDOBJS = TestAMD.o \
- TestAMDI.o \
- ServerAMD.o
-
-OBJS = $(SOBJS) \
- $(SAMDOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-ifeq ($(CPP11_MAPPING),yes)
-SLICE2CPPFLAGS := --impl-c++11 $(SLICE2CPPFLAGS)
-else
-SLICE2CPPFLAGS := --impl-c++98 $(SLICE2CPPFLAGS)
-endif
-
-Test.cpp: Test.ice $(SLICE2CPP)
- rm -f $(*F).h $(*F).cpp $(*F)I.h $(*F)I.cpp
- $(SLICE2CPP) $(SLICE2CPPFLAGS) $(*F).ice
- @touch $(*F).cpp
-
-Test.h TestI.cpp TestI.h: Test.cpp
-
-
-TestAMD.cpp: TestAMD.ice $(SLICE2CPP)
- rm -f $(*F).h $(*F).cpp $(*F)I.h $(*F)I.cpp
- $(SLICE2CPP) $(SLICE2CPPFLAGS) $(*F).ice
- @touch $(*F).cpp
-
-TestAMD.h TestAMDI.cpp TestAMDI.h: TestAMD.cpp
-
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
-
-$(SERVERAMD): $(SAMDOBJS)
- rm -f $@
- $(call mktest,$@,$(SAMDOBJS),$(TEST_LIBS))
-
-clean::
- rm -f TestI.cpp TestI.h
- rm -f TestAMDI.cpp TestAMDI.h
diff --git a/cpp/test/Ice/info/.gitignore b/cpp/test/Ice/info/.gitignore
deleted file mode 100644
index 3a3aae35bd8..00000000000
--- a/cpp/test/Ice/info/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/info/Makefile b/cpp/test/Ice/info/Makefile
deleted file mode 100644
index 2d633d2f039..00000000000
--- a/cpp/test/Ice/info/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- TestI.o \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(ICESSL_LIBS) $(LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(ICESSL_LIBS) $(LIBS))
diff --git a/cpp/test/Ice/info/Makefile.mk b/cpp/test/Ice/info/Makefile.mk
new file mode 100644
index 00000000000..434ad5349fa
--- /dev/null
+++ b/cpp/test/Ice/info/Makefile.mk
@@ -0,0 +1,13 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = Test.ice TestI.cpp Client.cpp AllTests.cpp
+$(test)_dependencies = IceSSL Ice IceUtil TestCommon
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/Ice/inheritance/.gitignore b/cpp/test/Ice/inheritance/.gitignore
deleted file mode 100644
index 21c2eee2b29..00000000000
--- a/cpp/test/Ice/inheritance/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-collocated
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/inheritance/Makefile b/cpp/test/Ice/inheritance/Makefile
deleted file mode 100644
index f8944cda802..00000000000
--- a/cpp/test/Ice/inheritance/Makefile
+++ /dev/null
@@ -1,52 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-COLLOCATED = $(call mktestname,collocated)
-
-TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
-
-SLICE_OBJS = Test.o \
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-COLOBJS = $(SLICE_OBJS) \
- TestI.o \
- Collocated.o \
- AllTests.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(COLOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
-
-$(COLLOCATED): $(COLOBJS)
- rm -f $@
- $(call mktest,$@,$(COLOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/interceptor/.gitignore b/cpp/test/Ice/interceptor/.gitignore
deleted file mode 100644
index dcdf5eb23c7..00000000000
--- a/cpp/test/Ice/interceptor/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/interceptor/Makefile b/cpp/test/Ice/interceptor/Makefile
deleted file mode 100644
index 9ef00f49b67..00000000000
--- a/cpp/test/Ice/interceptor/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- TestI.o \
- Client.o \
- InterceptorI.o \
- AMDInterceptorI.o \
- MyObjectI.o
-
-OBJS = $(COBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(LIBS))
diff --git a/cpp/test/Ice/interceptor/Makefile.mk b/cpp/test/Ice/interceptor/Makefile.mk
new file mode 100644
index 00000000000..28fb6056f2e
--- /dev/null
+++ b/cpp/test/Ice/interceptor/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = Client.cpp Test.ice TestI.cpp MyObjectI.cpp InterceptorI.cpp AMDInterceptorI.cpp
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/Ice/invoke/.gitignore b/cpp/test/Ice/invoke/.gitignore
deleted file mode 100644
index 2ec67c2a17c..00000000000
--- a/cpp/test/Ice/invoke/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/invoke/Makefile b/cpp/test/Ice/invoke/Makefile
deleted file mode 100644
index ea018bc404d..00000000000
--- a/cpp/test/Ice/invoke/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- BlobjectI.o \
- Server.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/invoke/Makefile.mk b/cpp/test/Ice/invoke/Makefile.mk
new file mode 100644
index 00000000000..2c55495f909
--- /dev/null
+++ b/cpp/test/Ice/invoke/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_server_sources = Server.cpp Test.ice BlobjectI.cpp
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/Ice/location/.gitignore b/cpp/test/Ice/location/.gitignore
deleted file mode 100644
index 3a3aae35bd8..00000000000
--- a/cpp/test/Ice/location/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/location/Makefile b/cpp/test/Ice/location/Makefile
deleted file mode 100644
index bc4e304fe96..00000000000
--- a/cpp/test/Ice/location/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- ServerLocator.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/location/Makefile.mk b/cpp/test/Ice/location/Makefile.mk
new file mode 100644
index 00000000000..4796192ccc7
--- /dev/null
+++ b/cpp/test/Ice/location/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_server_sources = $(test-server-sources) ServerLocator.cpp
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/Ice/logger/.gitignore b/cpp/test/Ice/logger/.gitignore
deleted file mode 100644
index b92e9bec8ae..00000000000
--- a/cpp/test/Ice/logger/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client1
-client2
-client3
-client4
-client5
-.depend
diff --git a/cpp/test/Ice/logger/Makefile b/cpp/test/Ice/logger/Makefile
deleted file mode 100644
index 48c270503ad..00000000000
--- a/cpp/test/Ice/logger/Makefile
+++ /dev/null
@@ -1,56 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT1 = $(call mktestname,client1)
-CLIENT2 = $(call mktestname,client2)
-CLIENT3 = $(call mktestname,client3)
-CLIENT4 = $(call mktestname,client4)
-CLIENT5 = $(call mktestname,client5)
-
-TARGETS = $(CLIENT1) $(CLIENT2) $(CLIENT3) $(CLIENT4) $(CLIENT5)
-
-C1OBJS = Client1.o
-C2OBJS = Client2.o
-C3OBJS = Client3.o
-C4OBJS = Client4.o
-C5OBJS = Client5.o
-
-OBJS = $(C1OBJS) \
- $(C2OBJS) \
- $(C3OBJS) \
- $(C4OBJS) \
- $(C5OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-LINKWITH := $(LIBS) $(ICONV_LIBS)
-
-$(CLIENT1): $(C1OBJS)
- rm -f $@
- $(call mktest,$@,$(C1OBJS),$(LINKWITH))
-
-$(CLIENT2): $(C2OBJS)
- rm -f $@
- $(call mktest,$@,$(C2OBJS),$(LINKWITH))
-
-$(CLIENT3): $(C3OBJS)
- rm -f $@
- $(call mktest,$@,$(C3OBJS),$(LINKWITH))
-
-$(CLIENT4): $(C4OBJS)
- rm -f $@
- $(call mktest,$@,$(C4OBJS),$(LINKWITH))
-
-$(CLIENT5): $(C5OBJS)
- rm -f $@
- $(call mktest,$@,$(C5OBJS),$(LINKWITH))
diff --git a/cpp/test/Ice/logger/Makefile.mk b/cpp/test/Ice/logger/Makefile.mk
new file mode 100644
index 00000000000..4dc1fb7870d
--- /dev/null
+++ b/cpp/test/Ice/logger/Makefile.mk
@@ -0,0 +1,19 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_programs = client1 client2 client3 client4 client5
+$(test)_libs = iconv
+
+$(test)_client1_sources = Client1.cpp
+$(test)_client2_sources = Client2.cpp
+$(test)_client3_sources = Client3.cpp
+$(test)_client4_sources = Client4.cpp
+$(test)_client5_sources = Client5.cpp
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/Ice/metrics/.gitignore b/cpp/test/Ice/metrics/.gitignore
deleted file mode 100644
index 725fdbfe47e..00000000000
--- a/cpp/test/Ice/metrics/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-serveramd
-collocated
-.depend
-Test.cpp
-TestAMD.cpp
-Test.h
-TestAMD.h
diff --git a/cpp/test/Ice/metrics/Makefile b/cpp/test/Ice/metrics/Makefile
deleted file mode 100644
index 55d7c31cd14..00000000000
--- a/cpp/test/Ice/metrics/Makefile
+++ /dev/null
@@ -1,61 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-SERVERAMD = $(call mktestname,serveramd)
-COLLOCATED = $(call mktestname,collocated)
-
-TARGETS = $(CLIENT) $(SERVER) $(SERVERAMD) $(COLLOCATED)
-
-SLICE_OBJS = Test.o TestAMD.o
-
-COBJS = Test.o \
- Client.o \
- AllTests.o
-
-SOBJS = Test.o \
- TestI.o \
- Server.o
-
-SAMDOBJS = TestAMD.o \
- TestAMDI.o \
- ServerAMD.o
-
-COLOBJS = Test.o \
- Collocated.o \
- AllTests.o \
- TestI.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(SAMDOBJS) \
- $(COLOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(LIBS))
-
-$(SERVERAMD): $(SAMDOBJS)
- rm -f $@
- $(call mktest,$@,$(SAMDOBJS),$(LIBS))
-
-$(COLLOCATED): $(COLOBJS)
- rm -f $@
- $(call mktest,$@,$(COLOBJS),$(LIBS))
diff --git a/cpp/test/Ice/networkProxy/.gitignore b/cpp/test/Ice/networkProxy/.gitignore
deleted file mode 100644
index 3a3aae35bd8..00000000000
--- a/cpp/test/Ice/networkProxy/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/networkProxy/Makefile b/cpp/test/Ice/networkProxy/Makefile
deleted file mode 100644
index ce980d52561..00000000000
--- a/cpp/test/Ice/networkProxy/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(LIBS))
diff --git a/cpp/test/Ice/objects/.gitignore b/cpp/test/Ice/objects/.gitignore
deleted file mode 100644
index 786b3556d1c..00000000000
--- a/cpp/test/Ice/objects/.gitignore
+++ /dev/null
@@ -1,16 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-collocated
-.depend
-Test.cpp
-Derived.cpp
-DerivedEx.cpp
-Test.h
-Derived.cpp
-Derived.h
-DerivedEx.cpp
-DerivedEx.h
diff --git a/cpp/test/Ice/objects/Makefile b/cpp/test/Ice/objects/Makefile
deleted file mode 100644
index 57858203006..00000000000
--- a/cpp/test/Ice/objects/Makefile
+++ /dev/null
@@ -1,62 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-COLLOCATED = $(call mktestname,collocated)
-TESTLIBNAME = libTestDerived.a
-
-TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
-
-SLICE_OBJS = Test.o \
- Derived.o \
- DerivedEx.o
-
-COBJS = TestI.o \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- TestIntfI.o \
- Server.o
-
-COLOBJS = $(SLICE_OBJS) \
- TestI.o \
- TestIntfI.o \
- Collocated.o \
- AllTests.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(COLOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-SLICE2CPPFLAGS := -I. $(SLICE2CPPFLAGS)
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-LDFLAGS := -L. $(LDFLAGS)
-
-$(TESTLIBNAME): $(SLICE_OBJS)
- rm -f $@
- $(call mklib,$@,$(SLICE_OBJS))
-
-$(CLIENT): $(COBJS) $(TESTLIBNAME)
- rm -f $@
- $(call mktest,$@,$(COBJS),-lTestDerived $(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
-
-$(COLLOCATED): $(COLOBJS)
- rm -f $@
- $(call mktest,$@,$(COLOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/objects/Makefile.mk b/cpp/test/Ice/objects/Makefile.mk
new file mode 100644
index 00000000000..f7429b01e98
--- /dev/null
+++ b/cpp/test/Ice/objects/Makefile.mk
@@ -0,0 +1,15 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_sliceflags := -I$(test)
+$(test)_client_sources = Client.cpp Test.ice Derived.ice DerivedEx.ice TestI.cpp AllTests.cpp
+$(test)_server_sources = Server.cpp Test.ice Derived.ice DerivedEx.ice TestI.cpp TestIntfI.cpp
+$(test)_collocated_sources = Collocated.cpp Test.ice Derived.ice DerivedEx.ice TestI.cpp TestIntfI.cpp AllTests.cpp
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/Ice/operations/.gitignore b/cpp/test/Ice/operations/.gitignore
deleted file mode 100644
index 725fdbfe47e..00000000000
--- a/cpp/test/Ice/operations/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-serveramd
-collocated
-.depend
-Test.cpp
-TestAMD.cpp
-Test.h
-TestAMD.h
diff --git a/cpp/test/Ice/operations/Makefile b/cpp/test/Ice/operations/Makefile
deleted file mode 100644
index 53c9e4323e1..00000000000
--- a/cpp/test/Ice/operations/Makefile
+++ /dev/null
@@ -1,74 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-SERVERAMD = $(call mktestname,serveramd)
-COLLOCATED = $(call mktestname,collocated)
-
-TARGETS = $(CLIENT) $(SERVER) $(SERVERAMD) $(COLLOCATED)
-
-SLICE_OBJS = Test.o TestAMD.o
-
-COBJS = Test.o \
- Client.o \
- AllTests.o \
- Twoways.o \
- Oneways.o \
- TwowaysAMI.o \
- OnewaysAMI.o \
- BatchOneways.o \
- BatchOnewaysAMI.o
-
-SOBJS = Test.o \
- TestI.o \
- Server.o \
-
-SAMDOBJS = TestAMD.o \
- TestAMDI.o \
- ServerAMD.o
-
-COLOBJS = Test.o \
- TestI.o \
- Collocated.o \
- AllTests.o \
- Twoways.o \
- Oneways.o \
- TwowaysAMI.o \
- OnewaysAMI.o \
- BatchOneways.o \
- BatchOnewaysAMI.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(SAMDOBJS) \
- $(COLOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
-
-$(SERVERAMD): $(SAMDOBJS)
- rm -f $@
- $(call mktest,$@,$(SAMDOBJS),$(TEST_LIBS))
-
-$(COLLOCATED): $(COLOBJS)
- rm -f $@
- $(call mktest,$@,$(COLOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/operations/Makefile.mk b/cpp/test/Ice/operations/Makefile.mk
new file mode 100644
index 00000000000..e55108a0768
--- /dev/null
+++ b/cpp/test/Ice/operations/Makefile.mk
@@ -0,0 +1,20 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = Test.ice \
+ Client.cpp \
+ AllTests.cpp \
+ Twoways.cpp \
+ Oneways.cpp \
+ TwowaysAMI.cpp \
+ OnewaysAMI.cpp \
+ BatchOneways.cpp \
+ BatchOnewaysAMI.cpp
+
+tests += $(test)
diff --git a/cpp/test/Ice/optional/.gitignore b/cpp/test/Ice/optional/.gitignore
deleted file mode 100644
index f1f62485ccb..00000000000
--- a/cpp/test/Ice/optional/.gitignore
+++ /dev/null
@@ -1,12 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-serveramd
-.depend
-Test.cpp
-TestAMD.cpp
-Test.h
-TestAMD.h
diff --git a/cpp/test/Ice/optional/Makefile b/cpp/test/Ice/optional/Makefile
deleted file mode 100644
index be733d9c9d6..00000000000
--- a/cpp/test/Ice/optional/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-SERVERAMD = $(call mktestname,serveramd)
-
-TARGETS = $(CLIENT) $(SERVER) $(SERVERAMD)
-
-SLICE_OBJS = Test.o \
- TestAMD.o
-
-COBJS = Test.o \
- TestI.o \
- Client.o \
- AllTests.o
-
-SOBJS = Test.o \
- TestI.o \
- Server.o
-
-SAMDOBJS = TestAMD.o \
- TestAMDI.o \
- ServerAMD.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(SAMDOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
-
-$(SERVERAMD): $(SAMDOBJS)
- rm -f $@
- $(call mktest,$@,$(SAMDOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/plugin/.gitignore b/cpp/test/Ice/plugin/.gitignore
deleted file mode 100644
index acda1ecf37a..00000000000
--- a/cpp/test/Ice/plugin/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-plugins/libTestPlugin.*
-.depend
diff --git a/cpp/test/Ice/plugin/Client.cpp b/cpp/test/Ice/plugin/Client.cpp
index 49855b888ee..12305af063b 100644
--- a/cpp/test/Ice/plugin/Client.cpp
+++ b/cpp/test/Ice/plugin/Client.cpp
@@ -84,6 +84,21 @@ main(int argc, char* argv[])
int status = EXIT_SUCCESS;
Ice::CommunicatorPtr communicator;
+ if(argc < 2)
+ {
+ cerr << "usage: " << argv[0] << " <plugindir>";
+ }
+
+ //
+ // Plugin directory is provided as the last argument
+ //
+#if defined(ICE_OS_WINRT)
+ string pluginDir = "plugins/winrt/";
+#else
+ string pluginDir = argv[argc - 1];
+ pluginDir += "/";
+#endif
+
Ice::registerPluginFactory("Static1", createMyPlugin, true); // true = Load on communicator initialization
Ice::registerPluginFactory("Static2", createMyPlugin, false);
@@ -126,29 +141,6 @@ main(int argc, char* argv[])
}
cout << "ok" << endl;
-#if !defined(_WIN32)
- string pluginDir = "plugins/";
-#elif defined(ICE_OS_WINRT)
- string pluginDir = "plugins/winrt/";
-#else
- string pluginDir = "msbuild/testplugin/";
-# if defined(_M_X64)
- pluginDir += "x64/";
-# else
- pluginDir += "Win32/";
-# endif
-
-# if defined(ICE_CPP11_MAPPING)
- pluginDir += "Cpp11-";
-# endif
-
-# if defined(_DEBUG)
- pluginDir += "Debug/";
-# else
- pluginDir += "Release/";
-# endif
-#endif
-
cout << "testing a simple plug-in... " << flush;
try
{
diff --git a/cpp/test/Ice/plugin/Makefile b/cpp/test/Ice/plugin/Makefile
deleted file mode 100644
index 7510559b51e..00000000000
--- a/cpp/test/Ice/plugin/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-LIBFILENAME = $(call mklibfilename,TestPlugin,$(VERSION))
-SONAME = $(call mksoname,TestPlugin,$(SOVERSION))
-LIBNAME = $(call mklibname,TestPlugin)
-CLIENT = $(call mktestname,client)
-PLUGINDIR = plugins
-
-TARGETS = $(CLIENT) \
- $(call mklibtargets,$(PLUGINDIR)/$(LIBFILENAME),$(PLUGINDIR)/$(SONAME),$(PLUGINDIR)/$(LIBNAME))
-
-COBJS = Client.o \
-
-POBJS = Plugin.o
-
-OBJS = $(COBJS) \
- $(POBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(LIBS))
-
-$(PLUGINDIR)/$(LIBFILENAME): $(POBJS)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(POBJS),$(LIBS))
-
-$(PLUGINDIR)/$(SONAME): $(PLUGINDIR)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(PLUGINDIR)/$(LIBNAME): $(PLUGINDIR)/$(SONAME)
- rm -f $@
- ln -s $(SONAME) $@
diff --git a/cpp/test/IceGrid/fileLock/Makefile b/cpp/test/Ice/plugin/Makefile.mk
index 18851c503c3..0069ed01b1f 100644
--- a/cpp/test/IceGrid/fileLock/Makefile
+++ b/cpp/test/Ice/plugin/Makefile.mk
@@ -1,16 +1,14 @@
# **********************************************************************
#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
#
# **********************************************************************
-top_srcdir = ../../..
+$(test)_libraries := $(test)_TestPlugin
-include $(top_srcdir)/config/Make.rules
+$(test)_TestPlugin_sources := Plugin.cpp
-clean::
- -rm -rf db/node db/registry db/replica-*
- -rm -rf db/*
+tests += $(test)
diff --git a/cpp/test/Ice/plugin/run.py b/cpp/test/Ice/plugin/run.py
index 4a57f94a040..604c9cec295 100755
--- a/cpp/test/Ice/plugin/run.py
+++ b/cpp/test/Ice/plugin/run.py
@@ -22,4 +22,4 @@ import TestUtil
TestUtil.addAdditionalBinDirectories([os.path.join(os.getcwd(), TestUtil.getTestDirectory("testplugin"))])
client = os.path.join(os.getcwd(), TestUtil.getTestExecutable("client"))
-TestUtil.simpleTest(client)
+TestUtil.simpleTest(client, options=TestUtil.getTestDirectory("testplugin"))
diff --git a/cpp/test/Ice/properties/.gitignore b/cpp/test/Ice/properties/.gitignore
deleted file mode 100644
index f715a76859d..00000000000
--- a/cpp/test/Ice/properties/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
diff --git a/cpp/test/Ice/properties/Makefile b/cpp/test/Ice/properties/Makefile
deleted file mode 100644
index 7da7a6f850f..00000000000
--- a/cpp/test/Ice/properties/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-OBJS = Client.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(OBJS)
- rm -f $@
- $(call mktest,$@,$(OBJS),$(LIBS))
diff --git a/cpp/test/Ice/proxy/.gitignore b/cpp/test/Ice/proxy/.gitignore
deleted file mode 100644
index 725fdbfe47e..00000000000
--- a/cpp/test/Ice/proxy/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-serveramd
-collocated
-.depend
-Test.cpp
-TestAMD.cpp
-Test.h
-TestAMD.h
diff --git a/cpp/test/Ice/proxy/Makefile b/cpp/test/Ice/proxy/Makefile
deleted file mode 100644
index afc8034de86..00000000000
--- a/cpp/test/Ice/proxy/Makefile
+++ /dev/null
@@ -1,69 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-SERVERAMD = $(call mktestname,serveramd)
-COLLOCATED = $(call mktestname,collocated)
-
-TARGETS = $(CLIENT) $(SERVER) $(SERVERAMD) $(COLLOCATED)
-
-SLICE_OBJS = Test.o TestAMD.o
-
-COBJS = Test.o \
- Client.o \
- AllTests.o
-
-SOBJS = Test.o \
- TestI.o \
- Server.o
-
-SAMDOBJS = TestAMD.o \
- TestAMDI.o \
- ServerAMD.o
-
-COLOBJS = Test.o \
- TestI.o \
- Collocated.o \
- AllTests.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(SAMDOBJS) \
- $(COLOBJS)
-
-#
-# the long allTests function crashes when built with Sun CC 5.9 on x86 with -O,
-# inlining and -KPIC; work-around: we disable PIC
-#
-GENPIC = no
-
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include -I../../../src $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
-
-$(SERVERAMD): $(SAMDOBJS)
- rm -f $@
- $(call mktest,$@,$(SAMDOBJS),$(TEST_LIBS))
-
-$(COLLOCATED): $(COLOBJS)
- rm -f $@
- $(call mktest,$@,$(COLOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/retry/.gitignore b/cpp/test/Ice/retry/.gitignore
deleted file mode 100644
index 21c2eee2b29..00000000000
--- a/cpp/test/Ice/retry/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-collocated
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/retry/Makefile b/cpp/test/Ice/retry/Makefile
deleted file mode 100644
index 0f2aae3714a..00000000000
--- a/cpp/test/Ice/retry/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-COLLOCATED = $(call mktestname,collocated)
-
-TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- InstrumentationI.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-COLOBJS = $(SLICE_OBJS) \
- TestI.o \
- Collocated.o \
- InstrumentationI.o \
- AllTests.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(COLOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
-
-$(COLLOCATED): $(COLOBJS)
- rm -f $@
- $(call mktest,$@,$(COLOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/retry/Makefile.mk b/cpp/test/Ice/retry/Makefile.mk
new file mode 100644
index 00000000000..58c23672643
--- /dev/null
+++ b/cpp/test/Ice/retry/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = Client.cpp AllTests.cpp Test.ice InstrumentationI.cpp
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/Ice/servantLocator/.gitignore b/cpp/test/Ice/servantLocator/.gitignore
deleted file mode 100644
index 725fdbfe47e..00000000000
--- a/cpp/test/Ice/servantLocator/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-serveramd
-collocated
-.depend
-Test.cpp
-TestAMD.cpp
-Test.h
-TestAMD.h
diff --git a/cpp/test/Ice/servantLocator/Makefile b/cpp/test/Ice/servantLocator/Makefile
deleted file mode 100644
index 1c4bcc3884b..00000000000
--- a/cpp/test/Ice/servantLocator/Makefile
+++ /dev/null
@@ -1,66 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-SERVERAMD = $(call mktestname,serveramd)
-COLLOCATED = $(call mktestname,collocated)
-
-TARGETS = $(CLIENT) $(SERVER) $(SERVERAMD) $(COLLOCATED)
-
-SLICE_OBJS = Test.o \
- TestAMD.o
-
-COBJS = Test.o \
- Client.o \
- AllTests.o
-
-SOBJS = Test.o \
- TestI.o \
- ServantLocatorI.o \
- Server.o
-
-SAMDOBJS = TestAMD.o \
- TestAMDI.o \
- ServantLocatorI.o \
- ServerAMD.o
-
-COLOBJS = Test.o \
- TestI.o \
- ServantLocatorI.o \
- Collocated.o \
- AllTests.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(SAMDOBJS) \
- $(COLOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
-
-$(SERVERAMD): $(SAMDOBJS)
- rm -f $@
- $(call mktest,$@,$(SAMDOBJS),$(TEST_LIBS))
-
-$(COLLOCATED): $(COLOBJS)
- rm -f $@
- $(call mktest,$@,$(COLOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/servantLocator/Makefile.mk b/cpp/test/Ice/servantLocator/Makefile.mk
new file mode 100644
index 00000000000..03930b68ec2
--- /dev/null
+++ b/cpp/test/Ice/servantLocator/Makefile.mk
@@ -0,0 +1,14 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = $(test-client-sources) ServantLocatorI.cpp
+$(test)_server_sources = $(test-server-sources) ServantLocatorI.cpp
+$(test)_serveramd_sources = $(test-server-sources) ServantLocatorI.cpp
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/Ice/services/.gitignore b/cpp/test/Ice/services/.gitignore
deleted file mode 100644
index dcdf5eb23c7..00000000000
--- a/cpp/test/Ice/services/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/services/Makefile b/cpp/test/Ice/services/Makefile
deleted file mode 100644
index 857e2d10cf6..00000000000
--- a/cpp/test/Ice/services/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice Touch is licensed to you under the terms described in the
-# ICE_TOUCH_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-SLICE_OBJS = Test.o
-
-COBJS = Client.o \
- AllTests.o \
- $(SLICE_OBJS)
-
-OBJS = $(COBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-LIBS := -lGlacier2$(libsuffix) -lIceStorm$(libsuffix) -lIceGrid$(libsuffix) $(LIBS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(LIBS))
diff --git a/cpp/test/Ice/services/Makefile.mk b/cpp/test/Ice/services/Makefile.mk
new file mode 100644
index 00000000000..7d7ff76732f
--- /dev/null
+++ b/cpp/test/Ice/services/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_dependencies = Glacier2 IceStorm IceGrid Ice IceUtil TestCommon
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/Ice/slicing/Makefile b/cpp/test/Ice/slicing/Makefile
deleted file mode 100644
index d4de3de68a2..00000000000
--- a/cpp/test/Ice/slicing/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = exceptions \
- objects
-
-.PHONY: $(EVERYTHING) $(SUBDIRS)
-
-all:: $(SUBDIRS)
-
-$(SUBDIRS):
- @echo "making all in $@"
- @$(MAKE) all --directory=$@
-
-$(EVERYTHING_EXCEPT_ALL)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
diff --git a/cpp/test/Ice/slicing/exceptions/.gitignore b/cpp/test/Ice/slicing/exceptions/.gitignore
deleted file mode 100644
index 756a3f6161a..00000000000
--- a/cpp/test/Ice/slicing/exceptions/.gitignore
+++ /dev/null
@@ -1,18 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-serveramd
-.depend
-Test.cpp
-TestAMD.cpp
-ClientPrivate.cpp
-ServerPrivate.cpp
-ServerPrivateAMD.cpp
-Test.h
-TestAMD.h
-ClientPrivate.h
-ServerPrivate.h
-ServerPrivateAMD.h
diff --git a/cpp/test/Ice/slicing/exceptions/Makefile b/cpp/test/Ice/slicing/exceptions/Makefile
deleted file mode 100644
index 361292a4d26..00000000000
--- a/cpp/test/Ice/slicing/exceptions/Makefile
+++ /dev/null
@@ -1,56 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-SERVERAMD = $(call mktestname,serveramd)
-
-TARGETS = $(CLIENT) $(SERVER) $(SERVERAMD)
-
-SLICE_OBJS = Test.o TestAMD.o ClientPrivate.o ServerPrivate.o ServerPrivateAMD.o
-
-COBJS = Test.o \
- Client.o \
- ClientPrivate.o \
- AllTests.o
-
-SOBJS = Test.o \
- ServerPrivate.o \
- TestI.o \
- Server.o
-
-SAMDOBJS = TestAMD.o \
- ServerPrivateAMD.o \
- TestAMDI.o \
- ServerAMD.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(SAMDOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-ICECPPFLAGS := -I. $(ICECPPFLAGS)
-
-CPPFLAGS := -I. -I../../../include $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
-
-$(SERVERAMD): $(SAMDOBJS)
- rm -f $@
- $(call mktest,$@,$(SAMDOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/slicing/exceptions/Makefile.mk b/cpp/test/Ice/slicing/exceptions/Makefile.mk
new file mode 100644
index 00000000000..fc2c8e8460c
--- /dev/null
+++ b/cpp/test/Ice/slicing/exceptions/Makefile.mk
@@ -0,0 +1,15 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_sliceflags := -I$(test)
+$(test)_client_sources = $(test-client-sources) ClientPrivate.ice
+$(test)_server_sources = $(test-server-sources) ServerPrivate.ice
+$(test)_serveramd_sources = $(test-serveramd-sources) ServerPrivateAMD.ice
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/Ice/slicing/objects/.gitignore b/cpp/test/Ice/slicing/objects/.gitignore
deleted file mode 100644
index 899ee01ff92..00000000000
--- a/cpp/test/Ice/slicing/objects/.gitignore
+++ /dev/null
@@ -1,20 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-serveramd
-.depend
-Test.cpp
-TestAMD.cpp
-ClientPrivate.cpp
-ServerPrivate.cpp
-ServerPrivateAMD.cpp
-Forward.cpp
-Test.h
-TestAMD.h
-ClientPrivate.h
-ServerPrivate.h
-ServerPrivateAMD.h
-Forward.h
diff --git a/cpp/test/Ice/slicing/objects/Makefile b/cpp/test/Ice/slicing/objects/Makefile
deleted file mode 100644
index 640d08a950d..00000000000
--- a/cpp/test/Ice/slicing/objects/Makefile
+++ /dev/null
@@ -1,62 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-SERVERAMD = $(call mktestname,serveramd)
-
-TARGETS = $(CLIENT) $(SERVER) $(SERVERAMD)
-
-SLICE_OBJS = Test.o TestAMD.o ClientPrivate.o ServerPrivate.o ServerPrivateAMD.o
-
-COBJS = Test.o \
- ClientPrivate.o \
- Client.o \
- AllTests.o
-
-SOBJS = Test.o \
- ServerPrivate.o \
- TestI.o \
- Server.o
-
-SAMDOBJS = TestAMD.o \
- ServerPrivateAMD.o \
- TestAMDI.o \
- ServerAMD.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(SAMDOBJS)
-
-#
-# the long allTests function crashes when built with Sun CC 5.9 on x86 with -O,
-# inlining and -KPIC; work-around: we disable PIC
-#
-GENPIC = no
-
-include $(top_srcdir)/config/Make.rules
-
-ICECPPFLAGS := -I. $(ICECPPFLAGS)
-
-CPPFLAGS := -I. -I../../../include $(CPPFLAGS)
-
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
-
-$(SERVERAMD): $(SAMDOBJS)
- rm -f $@
- $(call mktest,$@,$(SAMDOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/slicing/objects/Makefile.mk b/cpp/test/Ice/slicing/objects/Makefile.mk
new file mode 100644
index 00000000000..fc2c8e8460c
--- /dev/null
+++ b/cpp/test/Ice/slicing/objects/Makefile.mk
@@ -0,0 +1,15 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_sliceflags := -I$(test)
+$(test)_client_sources = $(test-client-sources) ClientPrivate.ice
+$(test)_server_sources = $(test-server-sources) ServerPrivate.ice
+$(test)_serveramd_sources = $(test-serveramd-sources) ServerPrivateAMD.ice
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/Ice/stream/.gitignore b/cpp/test/Ice/stream/.gitignore
deleted file mode 100644
index dcdf5eb23c7..00000000000
--- a/cpp/test/Ice/stream/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/stream/Makefile b/cpp/test/Ice/stream/Makefile
deleted file mode 100644
index 18ae9db0ca3..00000000000
--- a/cpp/test/Ice/stream/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o
-
-OBJS = $(COBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-SLICE2CPPFLAGS := $(SLICE2CPPFLAGS) -I$(slicedir)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS) $(LIBS))
diff --git a/cpp/test/Ice/stringConverter/.gitignore b/cpp/test/Ice/stringConverter/.gitignore
deleted file mode 100644
index 3a3aae35bd8..00000000000
--- a/cpp/test/Ice/stringConverter/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/stringConverter/Makefile b/cpp/test/Ice/stringConverter/Makefile
deleted file mode 100644
index 9df661b03a5..00000000000
--- a/cpp/test/Ice/stringConverter/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o
-
-SOBJS = $(SLICE_OBJS) \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-LINKWITH := $(TEST_LIBS) $(ICONV_LIBS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(LINKWITH))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(LINKWITH))
diff --git a/cpp/test/Ice/stringConverter/Makefile.mk b/cpp/test/Ice/stringConverter/Makefile.mk
new file mode 100644
index 00000000000..d7a508574e2
--- /dev/null
+++ b/cpp/test/Ice/stringConverter/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_libs = iconv
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/Ice/threadPoolPriority/.gitignore b/cpp/test/Ice/threadPoolPriority/.gitignore
deleted file mode 100644
index ae1078237e7..00000000000
--- a/cpp/test/Ice/threadPoolPriority/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-servercustom
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/threadPoolPriority/Makefile b/cpp/test/Ice/threadPoolPriority/Makefile
deleted file mode 100644
index 5cc9e2453fd..00000000000
--- a/cpp/test/Ice/threadPoolPriority/Makefile
+++ /dev/null
@@ -1,50 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-SERVERCUSTOM = $(call mktestname,servercustom)
-
-TARGETS = $(CLIENT) $(SERVER) $(SERVERCUSTOM)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-SCOBJS = $(SLICE_OBJS) \
- ServerCustomThreadPool.o \
- TestI.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(SCOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
-
-$(SERVERCUSTOM): $(SCOBJS)
- rm -f $@
- $(call mktest,$@,$(SCOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/threadPoolPriority/Makefile.mk b/cpp/test/Ice/threadPoolPriority/Makefile.mk
new file mode 100644
index 00000000000..9a3cc06cc3c
--- /dev/null
+++ b/cpp/test/Ice/threadPoolPriority/Makefile.mk
@@ -0,0 +1,14 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_programs := client server servercustom
+
+$(test)_servercustom_sources := ServerCustomThreadPool.cpp Test.ice TestI.cpp
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/Ice/timeout/.gitignore b/cpp/test/Ice/timeout/.gitignore
deleted file mode 100644
index 3a3aae35bd8..00000000000
--- a/cpp/test/Ice/timeout/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/timeout/AllTests.cpp b/cpp/test/Ice/timeout/AllTests.cpp
index b21132c6af7..1aeea30adc0 100644
--- a/cpp/test/Ice/timeout/AllTests.cpp
+++ b/cpp/test/Ice/timeout/AllTests.cpp
@@ -195,7 +195,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
// Expect InvocationTimeoutException.
//
TimeoutPrxPtr to = ICE_UNCHECKED_CAST(TimeoutPrx, obj->ice_invocationTimeout(100));
-
+
#ifdef ICE_CPP11_MAPPING
auto f = to->sleep_async(750);
try
@@ -462,7 +462,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
// Keep the server thread pool busy.
#ifdef ICE_CPP11_MAPPING
- timeout->ice_invocationTimeout(-1)->sleep_async(300);
+ timeout->ice_invocationTimeout(-1)->sleep_async(300);
#else
timeout->ice_invocationTimeout(-1)->begin_sleep(300);
#endif
@@ -481,7 +481,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
// Keep the server thread pool busy.
#ifdef ICE_CPP11_MAPPING
- timeout->ice_invocationTimeout(-1)->sleep_async(300);
+ timeout->ice_invocationTimeout(-1)->sleep_async(300);
#else
timeout->ice_invocationTimeout(-1)->begin_sleep(300);
#endif
diff --git a/cpp/test/Ice/timeout/Makefile b/cpp/test/Ice/timeout/Makefile
deleted file mode 100644
index 6a7c14646f7..00000000000
--- a/cpp/test/Ice/timeout/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- TestI.o \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(TEST_LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(TEST_LIBS))
diff --git a/cpp/test/Ice/timeout/Makefile.mk b/cpp/test/Ice/timeout/Makefile.mk
new file mode 100644
index 00000000000..848af22c5b3
--- /dev/null
+++ b/cpp/test/Ice/timeout/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = $(test-client-sources) TestI.cpp
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/Ice/udp/.gitignore b/cpp/test/Ice/udp/.gitignore
deleted file mode 100644
index 3a3aae35bd8..00000000000
--- a/cpp/test/Ice/udp/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Ice/udp/Makefile b/cpp/test/Ice/udp/Makefile
deleted file mode 100644
index 7ab5e22ec06..00000000000
--- a/cpp/test/Ice/udp/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS), $(LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS), $(LIBS))
diff --git a/cpp/test/IceBox/Makefile b/cpp/test/IceBox/Makefile
deleted file mode 100644
index d5b420f81a8..00000000000
--- a/cpp/test/IceBox/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = admin configuration
-
-.PHONY: $(EVERYTHING) $(SUBDIRS)
-
-all:: $(SUBDIRS)
-
-$(SUBDIRS):
- @echo "making all in $@"
- @$(MAKE) all --directory=$@
-
-
-$(EVERYTHING_EXCEPT_ALL)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
diff --git a/cpp/test/IceBox/admin/.gitignore b/cpp/test/IceBox/admin/.gitignore
deleted file mode 100644
index 03484b5178b..00000000000
--- a/cpp/test/IceBox/admin/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-libTestService.*
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/IceBox/admin/Makefile b/cpp/test/IceBox/admin/Makefile
deleted file mode 100644
index 422c5905099..00000000000
--- a/cpp/test/IceBox/admin/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-
-SVCFILENAME = $(call mklibfilename,TestService)
-SVCSONAME = $(call mksoname,TestService)
-
-TARGETS = $(CLIENT) $(SVCFILENAME)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SERVICE_OBJS = $(SLICE_OBJS) \
- TestI.o \
- Service.o
-
-OBJS = $(COBJS) \
- $(SERVICE_OBJS) \
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(LIBS)
-
-$(SVCFILENAME): $(SERVICE_OBJS)
- rm -f $@
- $(call mkshlib,$@,$(SVCSONAME),$(SERVICE_OBJS), -lIceBox $(LIBS))
diff --git a/cpp/test/IceBox/admin/Makefile.mk b/cpp/test/IceBox/admin/Makefile.mk
new file mode 100644
index 00000000000..6cd4d36590c
--- /dev/null
+++ b/cpp/test/IceBox/admin/Makefile.mk
@@ -0,0 +1,15 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_libraries := $(test)_TestService
+
+$(test)_TestService_sources = TestI.cpp Service.cpp Test.ice
+$(test)_TestService_dependencies = IceBox
+
+tests += $(test)
diff --git a/cpp/test/IceBox/configuration/.gitignore b/cpp/test/IceBox/configuration/.gitignore
deleted file mode 100644
index 03484b5178b..00000000000
--- a/cpp/test/IceBox/configuration/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-libTestService.*
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/IceBox/configuration/Makefile b/cpp/test/IceBox/configuration/Makefile
deleted file mode 100644
index b7a0d13b9b4..00000000000
--- a/cpp/test/IceBox/configuration/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-
-SVCFILENAME = $(call mklibfilename,TestService)
-SVCSONAME = $(call mksoname,TestService)
-
-TARGETS = $(CLIENT) $(SVCFILENAME)
-
-SLICE_OBJS = Test.o \
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SERVICE_OBJS = $(SLICE_OBJS) \
- TestI.o \
- Service.o
-
-OBJS = $(COBJS) \
- $(SERVICE_OBJS) \
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(LIBS)
-
-$(SVCFILENAME): $(SERVICE_OBJS)
- rm -f $@
- $(call mkshlib,$@,$(SVCSONAME),$(SERVICE_OBJS), -lIceBox $(LIBS))
diff --git a/cpp/test/IceBox/configuration/Makefile.mk b/cpp/test/IceBox/configuration/Makefile.mk
new file mode 100644
index 00000000000..6cd4d36590c
--- /dev/null
+++ b/cpp/test/IceBox/configuration/Makefile.mk
@@ -0,0 +1,15 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_libraries := $(test)_TestService
+
+$(test)_TestService_sources = TestI.cpp Service.cpp Test.ice
+$(test)_TestService_dependencies = IceBox
+
+tests += $(test)
diff --git a/cpp/test/IceDiscovery/Makefile b/cpp/test/IceDiscovery/Makefile
deleted file mode 100644
index aa34d330b4e..00000000000
--- a/cpp/test/IceDiscovery/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = simple
-
-.PHONY: $(EVERYTHING) $(SUBDIRS)
-
-all:: $(SUBDIRS)
-
-$(SUBDIRS):
- @echo "making all in $@"
- @$(MAKE) all --directory=$@
-
-
-$(EVERYTHING_EXCEPT_ALL)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
diff --git a/cpp/test/IceDiscovery/simple/.gitignore b/cpp/test/IceDiscovery/simple/.gitignore
deleted file mode 100644
index 3a3aae35bd8..00000000000
--- a/cpp/test/IceDiscovery/simple/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/IceDiscovery/simple/Makefile b/cpp/test/IceDiscovery/simple/Makefile
deleted file mode 100644
index ffff74f3bef..00000000000
--- a/cpp/test/IceDiscovery/simple/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-ifneq ($(findstring MINGW,$(UNAME)),)
-ICEDISOVERY_LIBS = -licediscovery$(SOVERSION)$(COMPSUFFIX)
-else
-ICEDISOVERY_LIBS = -lIceDiscovery
-endif
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS), $(ICEDISOVERY_LIBS) $(LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS), $(LIBS))
diff --git a/cpp/test/IceDiscovery/simple/Makefile.mk b/cpp/test/IceDiscovery/simple/Makefile.mk
new file mode 100644
index 00000000000..70d52e49241
--- /dev/null
+++ b/cpp/test/IceDiscovery/simple/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_dependencies = IceDiscovery Ice IceUtil TestCommon
+
+tests += $(test)
diff --git a/cpp/test/IceGrid/Makefile b/cpp/test/IceGrid/Makefile
deleted file mode 100644
index 3fb791c229b..00000000000
--- a/cpp/test/IceGrid/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = simple \
- deployer \
- session \
- update \
- noRestartUpdate \
- activation \
- replicaGroup \
- allocation \
- replication \
- distribution \
- admin \
- fileLock
-
-
-.PHONY: $(EVERYTHING) $(SUBDIRS)
-
-all:: $(SUBDIRS)
-
-$(SUBDIRS):
- @echo "making all in $@"
- @$(MAKE) all --directory=$@
-
-
-$(EVERYTHING_EXCEPT_ALL)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
diff --git a/cpp/test/IceGrid/activation/.gitignore b/cpp/test/IceGrid/activation/.gitignore
deleted file mode 100644
index 1593c12731f..00000000000
--- a/cpp/test/IceGrid/activation/.gitignore
+++ /dev/null
@@ -1,12 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
-db/node
-db/registry
-db/replica-*
diff --git a/cpp/test/IceGrid/activation/Makefile b/cpp/test/IceGrid/activation/Makefile
deleted file mode 100644
index b53cb8cd42e..00000000000
--- a/cpp/test/IceGrid/activation/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(LIBS) -lIceGrid -lGlacier2
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
-
-clean::
- -rm -rf db/node db/registry db/replica-*
diff --git a/cpp/test/IceGrid/activation/Makefile.mk b/cpp/test/IceGrid/activation/Makefile.mk
new file mode 100644
index 00000000000..e6d709446a3
--- /dev/null
+++ b/cpp/test/IceGrid/activation/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_dependencies = IceGrid Glacier2
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/IceGrid/admin/.gitignore b/cpp/test/IceGrid/admin/.gitignore
deleted file mode 100644
index 6d52720534e..00000000000
--- a/cpp/test/IceGrid/admin/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-server
-.depend
-db/node
-db/registry
-db/replica-*
diff --git a/cpp/test/IceGrid/admin/Makefile b/cpp/test/IceGrid/admin/Makefile
deleted file mode 100644
index fc72c125a3b..00000000000
--- a/cpp/test/IceGrid/admin/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-SERVER = server
-
-TARGETS = $(SERVER)
-
-OBJS = Server.o
-
-include $(top_srcdir)/config/Make.rules
-
-$(SERVER): $(OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(OBJS) $(LIBS)
-
-clean::
- -rm -rf db/node db/registry db/replica-*
diff --git a/cpp/test/IceGrid/allocation/.gitignore b/cpp/test/IceGrid/allocation/.gitignore
deleted file mode 100644
index b38ad0a165c..00000000000
--- a/cpp/test/IceGrid/allocation/.gitignore
+++ /dev/null
@@ -1,15 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-verifier
-.depend
-Test.cpp
-Test.h
-db/node
-db/registry
-db/node-1
-db/node-2
-db/replica-*
diff --git a/cpp/test/IceGrid/allocation/Makefile b/cpp/test/IceGrid/allocation/Makefile
deleted file mode 100644
index df6b8a017cf..00000000000
--- a/cpp/test/IceGrid/allocation/Makefile
+++ /dev/null
@@ -1,51 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-VERIFIER = verifier
-
-TARGETS = $(CLIENT) $(SERVER) $(VERIFIER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-VOBJS = PermissionsVerifier.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(VOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) -lIceGrid -lGlacier2 $(LIBS)
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
-
-$(VERIFIER): $(VOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(VOBJS) -lGlacier2 $(LIBS)
-
-clean::
- -rm -rf db/node db/registry db/node-1 db/node-2 db/replica-*
diff --git a/cpp/test/IceGrid/allocation/Makefile.mk b/cpp/test/IceGrid/allocation/Makefile.mk
new file mode 100644
index 00000000000..1652a427cf5
--- /dev/null
+++ b/cpp/test/IceGrid/allocation/Makefile.mk
@@ -0,0 +1,17 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_programs = client server verifier
+
+$(test)_client_dependencies = IceGrid Glacier2
+
+$(test)_verifier_sources = PermissionsVerifier.cpp
+$(test)_verifier_dependencies = Glacier2
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/IceGrid/deployer/.gitignore b/cpp/test/IceGrid/deployer/.gitignore
deleted file mode 100644
index acaef95b2cd..00000000000
--- a/cpp/test/IceGrid/deployer/.gitignore
+++ /dev/null
@@ -1,18 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-libTestService.*
-.depend
-Test.cpp
-Test.h
-build.txt
-log1.txt
-log2.txt
-log3.txt
-log4.txt
-db/node
-db/registry
-db/replica-*
diff --git a/cpp/test/IceGrid/deployer/Makefile b/cpp/test/IceGrid/deployer/Makefile
deleted file mode 100644
index 4c09704a646..00000000000
--- a/cpp/test/IceGrid/deployer/Makefile
+++ /dev/null
@@ -1,56 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-SVCFILENAME = $(call mklibfilename,TestService)
-SVCSONAME = $(call mksoname,TestService)
-
-TARGETS = $(CLIENT) $(SERVER) $(SVCFILENAME)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-SERVICE_OBJS = $(SLICE_OBJS) \
- TestI.o \
- Service.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(SERVICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) -lIceGrid -lGlacier2 -lIceBox $(LIBS)
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
-
-$(SVCFILENAME): $(SERVICE_OBJS)
- rm -f $@
- $(call mkshlib,$@,$(SVCSONAME),$(SERVICE_OBJS), -lIceBox $(LIBS))
-
-clean::
- -rm -f build.txt log1.txt log2.txt log3.txt log4.txt
- -rm -rf db/node db/registry db/replica-*
diff --git a/cpp/test/IceGrid/deployer/Makefile.mk b/cpp/test/IceGrid/deployer/Makefile.mk
new file mode 100644
index 00000000000..7f1d5393f84
--- /dev/null
+++ b/cpp/test/IceGrid/deployer/Makefile.mk
@@ -0,0 +1,17 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_libraries := $(test)_TestService
+
+$(test)_TestService_sources = Service.cpp TestI.cpp Test.ice
+$(test)_TestService_dependencies = IceBox
+
+$(test)_client_dependencies = IceGrid Glacier2
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/IceGrid/distribution/.gitignore b/cpp/test/IceGrid/distribution/.gitignore
deleted file mode 100644
index 77c4fb4d540..00000000000
--- a/cpp/test/IceGrid/distribution/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
-db/node
-db/registry
-db/node-1
-db/node-2
-db/replica-*
diff --git a/cpp/test/IceGrid/distribution/Makefile b/cpp/test/IceGrid/distribution/Makefile
deleted file mode 100644
index b02c928c898..00000000000
--- a/cpp/test/IceGrid/distribution/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) -lIceGrid -lGlacier2 $(LIBS)
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
-
-clean::
- -rm -rf db/node db/registry db/node-1 db/node-2 db/replica-*
diff --git a/cpp/test/IceGrid/distribution/Makefile.mk b/cpp/test/IceGrid/distribution/Makefile.mk
new file mode 100644
index 00000000000..e6d709446a3
--- /dev/null
+++ b/cpp/test/IceGrid/distribution/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_dependencies = IceGrid Glacier2
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/IceGrid/noRestartUpdate/.gitignore b/cpp/test/IceGrid/noRestartUpdate/.gitignore
deleted file mode 100644
index 1a26f311e2a..00000000000
--- a/cpp/test/IceGrid/noRestartUpdate/.gitignore
+++ /dev/null
@@ -1,15 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-libTestService.*
-.depend
-Test.cpp
-Test.h
-db/node
-db/registry
-db/node-1
-db/node-2
-db/replica-*
diff --git a/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp b/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp
index 1616e8be39b..6e0f5ebe0b0 100644
--- a/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp
+++ b/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp
@@ -527,7 +527,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
addProperty(service, "Ice.Warn.UnknownProperties", "0");
//addProperty(service, "Ice.Trace.Admin.Properties", "1");
service->name = "Service1";
- service->entry = "./TestService:create";
+ service->entry = properties->getProperty("ServerDir") + "/TestService:create";
adapter = AdapterDescriptor();
adapter.name = "${service}";
adapter.id = "${server}.${service}";
@@ -631,7 +631,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
cout << "testing service update... " << flush;
try
{
- icebox->services[0].descriptor->entry = "TestService:create2";
+ icebox->services[0].descriptor->entry = properties->getProperty("ServerDir") + "/TestService:create2";
admin->updateApplicationWithoutRestart(update);
test(false);
}
diff --git a/cpp/test/IceGrid/noRestartUpdate/Makefile b/cpp/test/IceGrid/noRestartUpdate/Makefile
deleted file mode 100644
index ea7e3845ea3..00000000000
--- a/cpp/test/IceGrid/noRestartUpdate/Makefile
+++ /dev/null
@@ -1,55 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-SVCFILENAME = $(call mklibfilename,TestService)
-SVCSONAME = $(call mksoname,TestService)
-
-TARGETS = $(CLIENT) $(SERVER) $(SVCFILENAME)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-SERVICE_OBJS = $(SLICE_OBJS) \
- TestI.o \
- Service.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(SERVICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) -lIceGrid -lGlacier2 -lIceBox $(LIBS)
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
-
-$(SVCFILENAME): $(SERVICE_OBJS)
- rm -f $@
- $(call mkshlib,$@,$(SVCSONAME),$(SERVICE_OBJS), -lIceBox $(LIBS))
-
-clean::
- -rm -rf db/node db/registry db/node-1 db/node-2 db/replica-*
diff --git a/cpp/test/IceGrid/noRestartUpdate/Makefile.mk b/cpp/test/IceGrid/noRestartUpdate/Makefile.mk
new file mode 100644
index 00000000000..7f1d5393f84
--- /dev/null
+++ b/cpp/test/IceGrid/noRestartUpdate/Makefile.mk
@@ -0,0 +1,17 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_libraries := $(test)_TestService
+
+$(test)_TestService_sources = Service.cpp TestI.cpp Test.ice
+$(test)_TestService_dependencies = IceBox
+
+$(test)_client_dependencies = IceGrid Glacier2
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/IceGrid/replicaGroup/.gitignore b/cpp/test/IceGrid/replicaGroup/.gitignore
deleted file mode 100644
index 18519db5234..00000000000
--- a/cpp/test/IceGrid/replicaGroup/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-libTestService.*
-.depend
-Test.cpp
-Test.h
-build.txt
-db/node
-db/registry
-db/replica-*
diff --git a/cpp/test/IceGrid/replicaGroup/Makefile b/cpp/test/IceGrid/replicaGroup/Makefile
deleted file mode 100644
index 4a80ef5d9bc..00000000000
--- a/cpp/test/IceGrid/replicaGroup/Makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-SVCFILENAME = $(call mklibfilename,TestService)
-SVCSONAME = $(call mksoname,TestService)
-
-PLUGINFILENAME = $(call mklibfilename,RegistryPlugin,$(VERSION))
-PLUGINSONAME = $(call mksoname,RegistryPlugin,$(SOVERSION))
-
-TARGETS = $(CLIENT) $(SERVER) $(SVCFILENAME) $(call mklibtargets,$(PLUGINFILENAME),$(PLUGINSONAME))
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-POBJS = RegistryPlugin.o
-
-SERVICE_OBJS = $(SLICE_OBJS) \
- TestI.o \
- Service.o
-
-OBJS = $(COBJS) \
- $(POBJS) \
- $(SOBJS) \
- $(SERVICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) -lIceGrid -lGlacier2 -lIceBox $(LIBS)
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
-
-$(SVCFILENAME): $(SERVICE_OBJS)
- rm -f $@
- $(call mkshlib,$@,$(SVCSONAME),$(SERVICE_OBJS),-lIceBox $(LIBS))
-
-$(PLUGINFILENAME): $(POBJS)
- rm -f $@
- $(call mkshlib,$@,$(PLUGINSONAME),$(POBJS),-lIceGrid -lGlacier2 $(LIBS))
-
-$(PLUGINSONAME): $(PLUGINFILENAME)
- rm -f $@
- ln -s $(PLUGINFILENAME) $@
-
-clean::
- -rm -f build.txt
- -rm -rf db/node db/registry db/replica-*
diff --git a/cpp/test/IceGrid/replicaGroup/Makefile.mk b/cpp/test/IceGrid/replicaGroup/Makefile.mk
new file mode 100644
index 00000000000..c386a07119b
--- /dev/null
+++ b/cpp/test/IceGrid/replicaGroup/Makefile.mk
@@ -0,0 +1,20 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_libraries := $(test)_TestService $(test)_RegistryPlugin
+
+$(test)_TestService_sources = Service.cpp TestI.cpp Test.ice
+$(test)_TestService_dependencies = IceBox
+
+$(test)_RegistryPlugin_sources = RegistryPlugin.cpp
+$(test)_RegistryPlugin_dependencies = IceGrid Glacier2
+
+$(test)_client_dependencies = IceGrid Glacier2
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/IceGrid/replication/.gitignore b/cpp/test/IceGrid/replication/.gitignore
deleted file mode 100644
index a2fb0ecc07c..00000000000
--- a/cpp/test/IceGrid/replication/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
-build.txt
-db/node
-db/registry
-db/replica-*
diff --git a/cpp/test/IceGrid/replication/Makefile b/cpp/test/IceGrid/replication/Makefile
deleted file mode 100644
index 9c5212f1898..00000000000
--- a/cpp/test/IceGrid/replication/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-GENPIC = no
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) -lIceGrid -lGlacier2 -lIceBox $(LIBS)
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
-
-clean::
- -rm -f build.txt
- -rm -rf db/node db/registry db/replica-*
diff --git a/cpp/test/IceGrid/replication/Makefile.mk b/cpp/test/IceGrid/replication/Makefile.mk
new file mode 100644
index 00000000000..e6d709446a3
--- /dev/null
+++ b/cpp/test/IceGrid/replication/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_dependencies = IceGrid Glacier2
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/IceGrid/session/.gitignore b/cpp/test/IceGrid/session/.gitignore
deleted file mode 100644
index c975494fe1e..00000000000
--- a/cpp/test/IceGrid/session/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-verifier
-.depend
-Test.cpp
-Test.h
-db/node
-db/registry
-db/node-1
-db/replica-*
diff --git a/cpp/test/IceGrid/session/Makefile b/cpp/test/IceGrid/session/Makefile
deleted file mode 100644
index 570cc59c394..00000000000
--- a/cpp/test/IceGrid/session/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-VERIFIER = verifier
-
-TARGETS = $(CLIENT) $(SERVER) $(VERIFIER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- Server.o
-
-VOBJS = $(SLICE_OBJS) \
- PermissionsVerifier.o
-
-OBJS = $(COBJS) \
- $(VOBJS) \
- $(SOBJS)
-
-GENPIC = no
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) -lIceGrid -lGlacier2 $(LIBS)
-
-$(VERIFIER): $(VOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(VOBJS) -lGlacier2 $(LIBS)
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) -lGlacier2 $(ICESSL_LIBS) $(LIBS)
-
-clean::
- -rm -rf db/node db/registry db/node-1 db/replica-*
diff --git a/cpp/test/IceGrid/session/Makefile.mk b/cpp/test/IceGrid/session/Makefile.mk
new file mode 100644
index 00000000000..20495324dd7
--- /dev/null
+++ b/cpp/test/IceGrid/session/Makefile.mk
@@ -0,0 +1,19 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_programs = client server verifier
+
+$(test)_client_dependencies = IceGrid Glacier2
+
+$(test)_server_dependencies = Glacier2 IceSSL
+
+$(test)_verifier_sources = PermissionsVerifier.cpp Test.ice
+$(test)_verifier_dependencies = Glacier2
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/IceGrid/simple/.gitignore b/cpp/test/IceGrid/simple/.gitignore
deleted file mode 100644
index 1593c12731f..00000000000
--- a/cpp/test/IceGrid/simple/.gitignore
+++ /dev/null
@@ -1,12 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
-db/node
-db/registry
-db/replica-*
diff --git a/cpp/test/IceGrid/simple/Makefile b/cpp/test/IceGrid/simple/Makefile
deleted file mode 100644
index 3929465ce17..00000000000
--- a/cpp/test/IceGrid/simple/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(LIBS) -lIceLocatorDiscovery -lIceGrid -lGlacier2
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
-
-clean::
- -rm -rf db/node db/registry db/replica-*
diff --git a/cpp/test/IceGrid/simple/Makefile.mk b/cpp/test/IceGrid/simple/Makefile.mk
new file mode 100644
index 00000000000..c8346e72030
--- /dev/null
+++ b/cpp/test/IceGrid/simple/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_dependencies = IceLocatorDiscovery IceGrid Glacier2 Ice IceUtil TestCommon
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/IceGrid/update/.gitignore b/cpp/test/IceGrid/update/.gitignore
deleted file mode 100644
index 77c4fb4d540..00000000000
--- a/cpp/test/IceGrid/update/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
-db/node
-db/registry
-db/node-1
-db/node-2
-db/replica-*
diff --git a/cpp/test/IceGrid/update/Makefile b/cpp/test/IceGrid/update/Makefile
deleted file mode 100644
index 59a334244fd..00000000000
--- a/cpp/test/IceGrid/update/Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-GENPIC = no
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) -lIceGrid -lGlacier2 $(LIBS)
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
-
-clean::
- -rm -rf db/node db/registry db/node-1 db/node-2 db/replica-*
diff --git a/cpp/test/IceGrid/update/Makefile.mk b/cpp/test/IceGrid/update/Makefile.mk
new file mode 100644
index 00000000000..e6d709446a3
--- /dev/null
+++ b/cpp/test/IceGrid/update/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_dependencies = IceGrid Glacier2
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/IceSSL/Makefile b/cpp/test/IceSSL/Makefile
deleted file mode 100644
index 94e3a98a5ec..00000000000
--- a/cpp/test/IceSSL/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = configuration
-
-.PHONY: $(EVERYTHING) $(SUBDIRS)
-
-all:: $(SUBDIRS)
-
-$(SUBDIRS):
- @echo "making all in $@"
- @$(MAKE) all --directory=$@
-
-$(EVERYTHING_EXCEPT_ALL)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
diff --git a/cpp/test/IceSSL/configuration/.gitignore b/cpp/test/IceSSL/configuration/.gitignore
deleted file mode 100644
index 3a3aae35bd8..00000000000
--- a/cpp/test/IceSSL/configuration/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-server
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/IceSSL/configuration/AllTests.cpp b/cpp/test/IceSSL/configuration/AllTests.cpp
index 741e392914c..3fc92e581f1 100644
--- a/cpp/test/IceSSL/configuration/AllTests.cpp
+++ b/cpp/test/IceSSL/configuration/AllTests.cpp
@@ -3252,8 +3252,7 @@ allTests(const CommunicatorPtr& communicator, const string& testDir, bool p12, b
}
catch(const Ice::LocalException& ex)
{
- cerr << ex << endl;
- test(false);
+ cerr << "warning: unable to connect to demo.zeroc.com to check system CA:\n" << ex << endl;
}
comm->destroy();
}
diff --git a/cpp/test/IceSSL/configuration/Makefile b/cpp/test/IceSSL/configuration/Makefile
deleted file mode 100644
index 1c5d24f1cdf..00000000000
--- a/cpp/test/IceSSL/configuration/Makefile
+++ /dev/null
@@ -1,50 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-SERVER = $(call mktestname,server)
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = Test.o
-
-COBJS = $(SLICE_OBJS) \
- Client.o \
- AllTests.o
-
-SOBJS = $(SLICE_OBJS) \
- TestI.o \
- Server.o
-
-OBJS = $(COBJS) \
- $(SOBJS)
-
-GENPIC = no
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-ifeq ($(UNAME),Darwin)
-LINK_WITH = -framework Security -framework CoreFoundation
-endif
-
-ifeq ($(UNAME),MINGW)
-LINK_WITH = $(SSL_OS_LIBS)
-endif
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(call mktest,$@,$(COBJS),$(ICESSL_LIBS) $(LINK_WITH) $(LIBS))
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(call mktest,$@,$(SOBJS),$(ICESSL_LIBS) $(LINK_WITH) $(LIBS))
diff --git a/cpp/test/IceSSL/configuration/Makefile.mk b/cpp/test/IceSSL/configuration/Makefile.mk
new file mode 100644
index 00000000000..b0c9b1f2ab1
--- /dev/null
+++ b/cpp/test/IceSSL/configuration/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_dependencies = IceSSL Ice IceUtil TestCommon
+
+tests += $(test)
diff --git a/cpp/test/IceStorm/Makefile b/cpp/test/IceStorm/Makefile
deleted file mode 100644
index 2303b98b33f..00000000000
--- a/cpp/test/IceStorm/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = single \
- federation \
- federation2 \
- stress \
- rep1 \
- repstress \
- repgrid
-
-.PHONY: $(EVERYTHING) $(SUBDIRS)
-
-all:: $(SUBDIRS)
-
-$(SUBDIRS):
- @echo "making all in $@"
- @$(MAKE) all --directory=$@
-
-
-$(EVERYTHING_EXCEPT_ALL)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
diff --git a/cpp/test/IceStorm/federation/.gitignore b/cpp/test/IceStorm/federation/.gitignore
deleted file mode 100644
index 9f3e354edb6..00000000000
--- a/cpp/test/IceStorm/federation/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-publisher
-subscriber
-.depend
-Event.cpp
-Event.h
-build.txt
-db/*
-0.db/*
-1.db/*
-2.db/*
diff --git a/cpp/test/IceStorm/federation/Makefile b/cpp/test/IceStorm/federation/Makefile
deleted file mode 100644
index e8cf7ba8a00..00000000000
--- a/cpp/test/IceStorm/federation/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-PUBLISHER = publisher
-SUBSCRIBER = subscriber
-
-TARGETS = $(PUBLISHER) $(SUBSCRIBER)
-
-SLICE_OBJS = Event.o
-
-POBJS = $(SLICE_OBJS) \
- Publisher.o
-
-SOBJS = $(SLICE_OBJS) \
- Subscriber.o
-
-OBJS = $(POBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-LIBS := -lIceStorm $(LIBS)
-
-$(PUBLISHER): $(POBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(POBJS) $(LIBS)
-
-$(SUBSCRIBER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
-
-clean::
- -rm -f build.txt
- -rm -rf db/*
- -rm -rf 0.db/*
- -rm -rf 1.db/*
- -rm -rf 2.db/*
diff --git a/cpp/test/IceStorm/federation/Makefile.mk b/cpp/test/IceStorm/federation/Makefile.mk
new file mode 100644
index 00000000000..de316f2bbda
--- /dev/null
+++ b/cpp/test/IceStorm/federation/Makefile.mk
@@ -0,0 +1,18 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_programs = publisher subscriber
+$(test)_dependencies = IceStorm Ice IceUtil TestCommon
+
+$(test)_publisher_sources = Publisher.cpp Event.ice
+$(test)_subscriber_sources = Subscriber.cpp Event.ice
+
+$(test)_cleanfiles = db/* 0.db/* 1.db/* 2.db/*
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/IceStorm/federation2/.gitignore b/cpp/test/IceStorm/federation2/.gitignore
deleted file mode 100644
index 1ee63744e74..00000000000
--- a/cpp/test/IceStorm/federation2/.gitignore
+++ /dev/null
@@ -1,18 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-publisher
-subscriber
-.depend
-Event.cpp
-Event.h
-build.txt
-db/*
-db2/*
-0.db/*
-0.db2/*
-1.db/*
-1.db2/*
-2.db/*
-2.db2/*
diff --git a/cpp/test/IceStorm/federation2/Makefile b/cpp/test/IceStorm/federation2/Makefile
deleted file mode 100644
index ee6e5920c72..00000000000
--- a/cpp/test/IceStorm/federation2/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-PUBLISHER = publisher
-SUBSCRIBER = subscriber
-
-TARGETS = $(PUBLISHER) $(SUBSCRIBER)
-
-SLICE_OBJS = Event.o
-
-POBJS = $(SLICE_OBJS) \
- Publisher.o
-
-SOBJS = $(SLICE_OBJS) \
- Subscriber.o
-
-OBJS = $(POBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-LIBS := -lIceStorm $(LIBS)
-
-$(PUBLISHER): $(POBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(POBJS) $(LIBS)
-
-$(SUBSCRIBER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
-
-clean::
- -rm -f build.txt
- -rm -rf db/* db2/*
- -rm -rf 0.db/* 0.db2/*
- -rm -rf 1.db/* 1.db2/*
- -rm -rf 2.db/* 2.db2/*
diff --git a/cpp/test/IceStorm/federation2/Makefile.mk b/cpp/test/IceStorm/federation2/Makefile.mk
new file mode 100644
index 00000000000..012bbe6da48
--- /dev/null
+++ b/cpp/test/IceStorm/federation2/Makefile.mk
@@ -0,0 +1,19 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_programs = publisher subscriber
+$(test)_dependencies = IceStorm Ice IceUtil TestCommon
+
+$(test)_publisher_sources = Publisher.cpp Event.ice
+$(test)_subscriber_sources = Subscriber.cpp Event.ice
+
+$(test)_cleanfiles = db/* 0.db/* 1.db/* 2.db/* db2/* 0.db2/* 1.db2/* 2.db2/*
+
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/IceStorm/rep1/.gitignore b/cpp/test/IceStorm/rep1/.gitignore
deleted file mode 100644
index 9cd9b7ec547..00000000000
--- a/cpp/test/IceStorm/rep1/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-publisher
-subscriber
-sub
-.depend
-Single.cpp
-Single.h
-build.txt
-0.db/*
-1.db/*
-2.db/*
diff --git a/cpp/test/IceStorm/rep1/Makefile b/cpp/test/IceStorm/rep1/Makefile
deleted file mode 100644
index eb010ab56c7..00000000000
--- a/cpp/test/IceStorm/rep1/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-PUBLISHER = publisher
-SUBSCRIBER = subscriber
-SUB = sub
-
-TARGETS = $(PUBLISHER) $(SUBSCRIBER) $(SUB)
-
-SLICE_OBJS = Single.o
-
-POBJS = $(SLICE_OBJS) \
- Publisher.o
-
-SOBJS = $(SLICE_OBJS) \
- Subscriber.o
-
-SUB_OBJS = $(SLICE_OBJS) \
- Sub.o
-
-OBJS = $(SUB_OBJS) \
- $(POBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-LIBS := -lIceStorm $(LIBS)
-
-$(PUBLISHER): $(POBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(POBJS) $(LIBS)
-
-$(SUBSCRIBER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
-
-$(SUB): $(SUB_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SUB_OBJS) $(LIBS)
-
-clean::
- -rm -f build.txt
- -rm -rf 0.db/*
- -rm -rf 1.db/*
- -rm -rf 2.db/*
diff --git a/cpp/test/IceStorm/rep1/Makefile.mk b/cpp/test/IceStorm/rep1/Makefile.mk
new file mode 100644
index 00000000000..5155cc324f6
--- /dev/null
+++ b/cpp/test/IceStorm/rep1/Makefile.mk
@@ -0,0 +1,19 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_programs = publisher subscriber sub
+$(test)_dependencies = IceStorm Ice IceUtil TestCommon
+
+$(test)_publisher_sources = Publisher.cpp Single.ice
+$(test)_subscriber_sources = Subscriber.cpp Single.ice
+$(test)_sub_sources = Sub.cpp Single.ice
+
+$(test)_cleanfiles = 0.db/* 1.db/* 2.db/*
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/IceStorm/repgrid/.gitignore b/cpp/test/IceStorm/repgrid/.gitignore
deleted file mode 100644
index 6c0d77be0e0..00000000000
--- a/cpp/test/IceStorm/repgrid/.gitignore
+++ /dev/null
@@ -1,12 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
-Single.cpp
-Single.h
-build.txt
-db/node/*
-db/registry/*
-db/replica-1/*
diff --git a/cpp/test/IceStorm/repgrid/Makefile b/cpp/test/IceStorm/repgrid/Makefile
deleted file mode 100644
index b04cd70822b..00000000000
--- a/cpp/test/IceStorm/repgrid/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-
-TARGETS = $(CLIENT)
-
-SLICE_OBJS = Single.o
-
-OBJS = $(SLICE_OBJS) \
- Client.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-LIBS := -lIceStorm $(LIBS)
-
-$(CLIENT): $(OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(OBJS) $(LIBS)
-
-clean::
- -rm -f build.txt
- -rm -rf db/node/* db/registry/* db/replica-1/*
diff --git a/cpp/test/IceStorm/repgrid/Makefile.mk b/cpp/test/IceStorm/repgrid/Makefile.mk
new file mode 100644
index 00000000000..437b6c6b36f
--- /dev/null
+++ b/cpp/test/IceStorm/repgrid/Makefile.mk
@@ -0,0 +1,14 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_dependencies = IceStorm Ice IceUtil TestCommon
+
+$(test)_client_sources = Client.cpp Single.ice
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/IceStorm/repstress/.gitignore b/cpp/test/IceStorm/repstress/.gitignore
deleted file mode 100644
index c1e2c6ba18a..00000000000
--- a/cpp/test/IceStorm/repstress/.gitignore
+++ /dev/null
@@ -1,16 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-publisher
-subscriber
-control
-.depend
-Single.cpp
-Controller.cpp
-Single.h
-Controller.h
-build.txt
-0.db/*
-1.db/*
-2.db/*
diff --git a/cpp/test/IceStorm/repstress/Makefile b/cpp/test/IceStorm/repstress/Makefile
deleted file mode 100644
index 003e1b5894f..00000000000
--- a/cpp/test/IceStorm/repstress/Makefile
+++ /dev/null
@@ -1,55 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-PUBLISHER = publisher
-SUBSCRIBER = subscriber
-CONTROL = control
-
-TARGETS = $(PUBLISHER) $(SUBSCRIBER) $(CONTROL)
-
-SLICE_OBJS = Single.o \
- Controller.o
-
-POBJS = $(SLICE_OBJS) \
- Publisher.o
-
-SOBJS = $(SLICE_OBJS) \
- Subscriber.o
-
-COBJS = Control.o \
- Controller.o
-
-OBJS = $(COBJS) \
- $(POBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-LIBS := -lIceStorm $(LIBS)
-
-$(PUBLISHER): $(POBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(POBJS) $(LIBS)
-
-$(SUBSCRIBER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
-
-$(CONTROL): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(LIBS)
-
-clean::
- -rm -f build.txt
- -rm -rf 0.db/*
- -rm -rf 1.db/*
- -rm -rf 2.db/*
diff --git a/cpp/test/IceStorm/repstress/Makefile.mk b/cpp/test/IceStorm/repstress/Makefile.mk
new file mode 100644
index 00000000000..63d03c56fb7
--- /dev/null
+++ b/cpp/test/IceStorm/repstress/Makefile.mk
@@ -0,0 +1,19 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_programs = publisher subscriber control
+$(test)_dependencies = IceStorm Ice IceUtil TestCommon
+
+$(test)_publisher_sources = Publisher.cpp Single.ice Controller.ice
+$(test)_subscriber_sources = Subscriber.cpp Single.ice Controller.ice
+$(test)_control_sources = Control.cpp Controller.ice
+
+$(test)_cleanfiles = 0.db/* 1.db/* 2.db/*
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/IceStorm/single/.gitignore b/cpp/test/IceStorm/single/.gitignore
deleted file mode 100644
index 7245563774f..00000000000
--- a/cpp/test/IceStorm/single/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-publisher
-subscriber
-.depend
-Single.cpp
-Single.h
-build.txt
-db/*
-0.db/*
-1.db/*
-2.db/*
diff --git a/cpp/test/IceStorm/single/Makefile b/cpp/test/IceStorm/single/Makefile
deleted file mode 100644
index 5f138a38892..00000000000
--- a/cpp/test/IceStorm/single/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-PUBLISHER = publisher
-SUBSCRIBER = subscriber
-
-TARGETS = $(PUBLISHER) $(SUBSCRIBER)
-
-SLICE_OBJS = Single.o
-
-POBJS = $(SLICE_OBJS) \
- Publisher.o
-
-SOBJS = $(SLICE_OBJS) \
- Subscriber.o
-
-OBJS = $(POBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS) $(NO_DEPRECATED_FLAGS)
-LIBS := -lIceStorm $(LIBS)
-
-$(PUBLISHER): $(POBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(POBJS) $(LIBS)
-
-$(SUBSCRIBER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
-
-clean::
- -rm -f build.txt
- -rm -rf db/*
- -rm -rf 0.db/*
- -rm -rf 1.db/*
- -rm -rf 2.db/*
diff --git a/cpp/test/IceStorm/single/Makefile.mk b/cpp/test/IceStorm/single/Makefile.mk
new file mode 100644
index 00000000000..60694e4883d
--- /dev/null
+++ b/cpp/test/IceStorm/single/Makefile.mk
@@ -0,0 +1,16 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_programs = publisher subscriber
+$(test)_dependencies = IceStorm Ice IceUtil TestCommon
+
+$(test)_publisher_sources = Publisher.cpp Single.ice
+$(test)_subscriber_sources = Subscriber.cpp Single.ice
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/IceStorm/stress/.gitignore b/cpp/test/IceStorm/stress/.gitignore
deleted file mode 100644
index 1ee63744e74..00000000000
--- a/cpp/test/IceStorm/stress/.gitignore
+++ /dev/null
@@ -1,18 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-publisher
-subscriber
-.depend
-Event.cpp
-Event.h
-build.txt
-db/*
-db2/*
-0.db/*
-0.db2/*
-1.db/*
-1.db2/*
-2.db/*
-2.db2/*
diff --git a/cpp/test/IceStorm/stress/Makefile b/cpp/test/IceStorm/stress/Makefile
deleted file mode 100644
index ee6e5920c72..00000000000
--- a/cpp/test/IceStorm/stress/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-PUBLISHER = publisher
-SUBSCRIBER = subscriber
-
-TARGETS = $(PUBLISHER) $(SUBSCRIBER)
-
-SLICE_OBJS = Event.o
-
-POBJS = $(SLICE_OBJS) \
- Publisher.o
-
-SOBJS = $(SLICE_OBJS) \
- Subscriber.o
-
-OBJS = $(POBJS) \
- $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-LIBS := -lIceStorm $(LIBS)
-
-$(PUBLISHER): $(POBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(POBJS) $(LIBS)
-
-$(SUBSCRIBER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(LIBS)
-
-clean::
- -rm -f build.txt
- -rm -rf db/* db2/*
- -rm -rf 0.db/* 0.db2/*
- -rm -rf 1.db/* 1.db2/*
- -rm -rf 2.db/* 2.db2/*
diff --git a/cpp/test/IceStorm/stress/Makefile.mk b/cpp/test/IceStorm/stress/Makefile.mk
new file mode 100644
index 00000000000..96cfdfccc30
--- /dev/null
+++ b/cpp/test/IceStorm/stress/Makefile.mk
@@ -0,0 +1,16 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_programs = publisher subscriber
+$(test)_dependencies = IceStorm Ice IceUtil TestCommon
+
+$(test)_publisher_sources = Publisher.cpp Event.ice
+$(test)_subscriber_sources = Subscriber.cpp Event.ice
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/IceUtil/Makefile b/cpp/test/IceUtil/Makefile
deleted file mode 100644
index 5a5c965811a..00000000000
--- a/cpp/test/IceUtil/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = condvar \
- thread \
- unicode \
- inputUtil \
- uuid \
- ctrlCHandler \
- timer \
- priority \
- sha1 \
- stacktrace
-
-.PHONY: $(EVERYTHING) $(SUBDIRS)
-
-all:: $(SUBDIRS)
-
-$(SUBDIRS):
- @echo "making all in $@"
- @$(MAKE) all --directory=$@
-
-$(EVERYTHING_EXCEPT_ALL)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
diff --git a/cpp/test/IceUtil/condvar/.gitignore b/cpp/test/IceUtil/condvar/.gitignore
deleted file mode 100644
index 4498983a9de..00000000000
--- a/cpp/test/IceUtil/condvar/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-workqueue
-match
-.depend
diff --git a/cpp/test/IceUtil/condvar/Makefile b/cpp/test/IceUtil/condvar/Makefile
deleted file mode 100644
index f6ecb0dd547..00000000000
--- a/cpp/test/IceUtil/condvar/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-WQ = $(call mktestname,workqueue)
-MATCH = $(call mktestname,match)
-
-TARGETS = $(WQ) $(MATCH)
-
-OBJS = WorkQueue.o \
- Match.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(WQ): WorkQueue.o
- rm -f $@
- $(call mktest,$@,WorkQueue.o,$(BASELIBS))
-
-$(MATCH): Match.o
- rm -f $@
- $(call mktest,$@,Match.o,$(BASELIBS))
diff --git a/cpp/test/IceUtil/condvar/Makefile.mk b/cpp/test/IceUtil/condvar/Makefile.mk
new file mode 100644
index 00000000000..ef556eae645
--- /dev/null
+++ b/cpp/test/IceUtil/condvar/Makefile.mk
@@ -0,0 +1,15 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_programs = workqueue match
+
+$(test)_workqueue_sources = WorkQueue.cpp
+$(test)_match_sources = Match.cpp
+
+tests += $(test)
diff --git a/cpp/test/IceUtil/ctrlCHandler/.gitignore b/cpp/test/IceUtil/ctrlCHandler/.gitignore
deleted file mode 100644
index f715a76859d..00000000000
--- a/cpp/test/IceUtil/ctrlCHandler/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
diff --git a/cpp/test/IceUtil/ctrlCHandler/Makefile b/cpp/test/IceUtil/ctrlCHandler/Makefile
deleted file mode 100644
index 9f992a300a4..00000000000
--- a/cpp/test/IceUtil/ctrlCHandler/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-OBJS = Client.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(OBJS)
- rm -f $@
- $(call mktest,$@,$(OBJS),$(BASELIBS))
diff --git a/cpp/test/IceUtil/ctrlCHandler/Makefile.mk b/cpp/test/IceUtil/ctrlCHandler/Makefile.mk
new file mode 100644
index 00000000000..d2263b8262a
--- /dev/null
+++ b/cpp/test/IceUtil/ctrlCHandler/Makefile.mk
@@ -0,0 +1,10 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+tests += $(test)
diff --git a/cpp/test/IceUtil/inputUtil/.gitignore b/cpp/test/IceUtil/inputUtil/.gitignore
deleted file mode 100644
index f715a76859d..00000000000
--- a/cpp/test/IceUtil/inputUtil/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
diff --git a/cpp/test/IceUtil/inputUtil/Makefile b/cpp/test/IceUtil/inputUtil/Makefile
deleted file mode 100644
index 9f992a300a4..00000000000
--- a/cpp/test/IceUtil/inputUtil/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-OBJS = Client.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(OBJS)
- rm -f $@
- $(call mktest,$@,$(OBJS),$(BASELIBS))
diff --git a/cpp/test/IceUtil/priority/.gitignore b/cpp/test/IceUtil/priority/.gitignore
deleted file mode 100644
index f715a76859d..00000000000
--- a/cpp/test/IceUtil/priority/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
diff --git a/cpp/test/IceUtil/priority/Makefile b/cpp/test/IceUtil/priority/Makefile
deleted file mode 100644
index 607503a9419..00000000000
--- a/cpp/test/IceUtil/priority/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-OBJS = TestBase.o \
- ThreadPriority.o \
- TimerPriority.o \
- PriorityInversion.o \
- TestSuite.o \
- Client.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(OBJS)
- rm -f $@
- $(call mktest,$@,$(OBJS),$(BASELIBS))
diff --git a/cpp/test/IceUtil/priority/Makefile.mk b/cpp/test/IceUtil/priority/Makefile.mk
new file mode 100644
index 00000000000..904c9e358d1
--- /dev/null
+++ b/cpp/test/IceUtil/priority/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources := $(notdir $(wildcard $(currentdir)/*.cpp))
+
+tests += $(test)
diff --git a/cpp/test/IceUtil/sha1/.gitignore b/cpp/test/IceUtil/sha1/.gitignore
deleted file mode 100644
index f715a76859d..00000000000
--- a/cpp/test/IceUtil/sha1/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
diff --git a/cpp/test/IceUtil/sha1/Makefile b/cpp/test/IceUtil/sha1/Makefile
deleted file mode 100644
index 9f992a300a4..00000000000
--- a/cpp/test/IceUtil/sha1/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-OBJS = Client.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(OBJS)
- rm -f $@
- $(call mktest,$@,$(OBJS),$(BASELIBS))
diff --git a/cpp/test/IceUtil/stacktrace/.gitignore b/cpp/test/IceUtil/stacktrace/.gitignore
deleted file mode 100644
index f715a76859d..00000000000
--- a/cpp/test/IceUtil/stacktrace/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
diff --git a/cpp/test/IceUtil/stacktrace/Makefile b/cpp/test/IceUtil/stacktrace/Makefile
deleted file mode 100644
index 9f992a300a4..00000000000
--- a/cpp/test/IceUtil/stacktrace/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-OBJS = Client.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(OBJS)
- rm -f $@
- $(call mktest,$@,$(OBJS),$(BASELIBS))
diff --git a/cpp/test/IceUtil/thread/.gitignore b/cpp/test/IceUtil/thread/.gitignore
deleted file mode 100644
index f715a76859d..00000000000
--- a/cpp/test/IceUtil/thread/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
diff --git a/cpp/test/IceUtil/thread/Makefile b/cpp/test/IceUtil/thread/Makefile
deleted file mode 100644
index 62b7c89ae91..00000000000
--- a/cpp/test/IceUtil/thread/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-OBJS = TestBase.o \
- CreateTest.o \
- AliveTest.o \
- StartTest.o \
- SleepTest.o \
- RecMutexTest.o \
- MutexTest.o \
- MonitorMutexTest.o \
- MonitorRecMutexTest.o \
- CountDownLatchTest.o \
- TestSuite.o \
- Client.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(OBJS)
- rm -f $@
- $(call mktest,$@,$(OBJS),$(BASELIBS))
diff --git a/cpp/test/IceUtil/thread/Makefile.mk b/cpp/test/IceUtil/thread/Makefile.mk
new file mode 100644
index 00000000000..904c9e358d1
--- /dev/null
+++ b/cpp/test/IceUtil/thread/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources := $(notdir $(wildcard $(currentdir)/*.cpp))
+
+tests += $(test)
diff --git a/cpp/test/IceUtil/timer/.gitignore b/cpp/test/IceUtil/timer/.gitignore
deleted file mode 100644
index f715a76859d..00000000000
--- a/cpp/test/IceUtil/timer/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
diff --git a/cpp/test/IceUtil/timer/Makefile b/cpp/test/IceUtil/timer/Makefile
deleted file mode 100644
index 9f992a300a4..00000000000
--- a/cpp/test/IceUtil/timer/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-OBJS = Client.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(OBJS)
- rm -f $@
- $(call mktest,$@,$(OBJS),$(BASELIBS))
diff --git a/cpp/test/IceUtil/unicode/.gitignore b/cpp/test/IceUtil/unicode/.gitignore
deleted file mode 100644
index f715a76859d..00000000000
--- a/cpp/test/IceUtil/unicode/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
diff --git a/cpp/test/IceUtil/unicode/Makefile b/cpp/test/IceUtil/unicode/Makefile
deleted file mode 100644
index 9f992a300a4..00000000000
--- a/cpp/test/IceUtil/unicode/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-OBJS = Client.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(OBJS)
- rm -f $@
- $(call mktest,$@,$(OBJS),$(BASELIBS))
diff --git a/cpp/test/IceUtil/uuid/.gitignore b/cpp/test/IceUtil/uuid/.gitignore
deleted file mode 100644
index f715a76859d..00000000000
--- a/cpp/test/IceUtil/uuid/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
diff --git a/cpp/test/IceUtil/uuid/Makefile b/cpp/test/IceUtil/uuid/Makefile
deleted file mode 100644
index 9f992a300a4..00000000000
--- a/cpp/test/IceUtil/uuid/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-OBJS = Client.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(OBJS)
- rm -f $@
- $(call mktest,$@,$(OBJS),$(BASELIBS))
diff --git a/cpp/test/Makefile b/cpp/test/Makefile
deleted file mode 100644
index 2669b195948..00000000000
--- a/cpp/test/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ..
-
-include $(top_srcdir)/config/Make.rules
-
-ifeq ($(CPP11_MAPPING),yes)
-SUBDIRS = Common \
- IceUtil \
- Slice \
- Ice \
- IceSSL \
- IceDiscovery \
- IceBox
-else
-
-SUBDIRS = Common \
- IceUtil \
- Slice \
- Ice \
- IceSSL \
- IceDiscovery
-
-ifeq ($(findstring MINGW,$(UNAME)),)
-SUBDIRS := $(SUBDIRS) \
- IceBox \
- IceStorm \
- Glacier2 \
- IceGrid
-endif
-
-endif
-
-.PHONY: $(EVERYTHING) $(SUBDIRS)
-
-all:: $(SUBDIRS)
-
-$(SUBDIRS):
- @echo "making all in $@"
- @$(MAKE) all --directory=$@
-
-$(EVERYTHING_EXCEPT_ALL)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
diff --git a/cpp/test/Slice/Makefile b/cpp/test/Slice/Makefile
deleted file mode 100644
index afae4a05cd8..00000000000
--- a/cpp/test/Slice/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = keyword \
- parser \
- structure \
- macros
-
-.PHONY: $(EVERYTHING) $(SUBDIRS)
-
-all:: $(SUBDIRS)
-
-$(SUBDIRS):
- @echo "making all in $@"
- @$(MAKE) all --directory=$@
-
-
-$(EVERYTHING_EXCEPT_ALL)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
diff --git a/cpp/test/Slice/keyword/.gitignore b/cpp/test/Slice/keyword/.gitignore
deleted file mode 100644
index b6ac5c9979a..00000000000
--- a/cpp/test/Slice/keyword/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
-Key.cpp
-Key.h
diff --git a/cpp/test/Slice/keyword/Makefile b/cpp/test/Slice/keyword/Makefile
deleted file mode 100644
index 847e5d97734..00000000000
--- a/cpp/test/Slice/keyword/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-SLICE_OBJS = Key.o
-
-OBJS = $(SLICE_OBJS) \
- Client.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-SLICE2CPPFLAGS := --underscore $(SLICE2CPPFLAGS)
-
-$(CLIENT): $(OBJS)
- rm -f $@
- $(call mktest,$@,$(OBJS),$(LIBS))
diff --git a/cpp/test/Slice/keyword/Makefile.mk b/cpp/test/Slice/keyword/Makefile.mk
new file mode 100644
index 00000000000..64a291c284b
--- /dev/null
+++ b/cpp/test/Slice/keyword/Makefile.mk
@@ -0,0 +1,13 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_sliceflags = --underscore
+$(test)_client_sources = Client.cpp Key.ice
+
+tests += $(test) \ No newline at end of file
diff --git a/cpp/test/Slice/macros/.gitignore b/cpp/test/Slice/macros/.gitignore
deleted file mode 100644
index dcdf5eb23c7..00000000000
--- a/cpp/test/Slice/macros/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/Slice/macros/Makefile b/cpp/test/Slice/macros/Makefile
deleted file mode 100644
index 60511ee1ad2..00000000000
--- a/cpp/test/Slice/macros/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-SLICE_OBJS = Test.o
-
-OBJS = $(SLICE_OBJS) \
- Client.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(OBJS)
- rm -f $@
- $(call mktest,$@,$(OBJS),$(LIBS))
diff --git a/cpp/test/Slice/parser/.gitignore b/cpp/test/Slice/parser/.gitignore
deleted file mode 100644
index 9fb83203e46..00000000000
--- a/cpp/test/Slice/parser/.gitignore
+++ /dev/null
@@ -1,11 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-CircularA.o
-CircularB.o
-.depend
-CircularA.cpp
-CircularB.cpp
-CircularA.h
-CircularB.h
diff --git a/cpp/test/Slice/parser/Makefile b/cpp/test/Slice/parser/Makefile
deleted file mode 100644
index 9bc145bd3fa..00000000000
--- a/cpp/test/Slice/parser/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-TARGETS = $(OBJS)
-
-SLICE_OBJS = CircularA.ice \
- CircularB.ice
-
-OBJS = CircularA.o \
- CircularB.o
-
-SLICE_OBJS = $(OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-SLICE2CPPFLAGS := -I. $(SLICE2CPPFLAGS)
-CPPFLAGS := -I. $(CPPFLAGS)
diff --git a/cpp/test/Slice/structure/.gitignore b/cpp/test/Slice/structure/.gitignore
deleted file mode 100644
index c837849dc6b..00000000000
--- a/cpp/test/Slice/structure/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-client
-.depend
-Test.cpp
-Forward.cpp
-Test.h
-Forward.h
diff --git a/cpp/test/Slice/structure/Makefile b/cpp/test/Slice/structure/Makefile
deleted file mode 100644
index 53397a2db76..00000000000
--- a/cpp/test/Slice/structure/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = $(call mktestname,client)
-
-TARGETS = $(CLIENT)
-
-SLICE_OBJS = Test.o \
- Forward.o
-
-OBJS = Client.o \
- $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(OBJS)
- rm -f $@
- $(call mktest,$@,$(OBJS),$(LIBS))
diff --git a/cpp/test/Slice/utf8BOM/.gitignore b/cpp/test/Slice/utf8BOM/.gitignore
deleted file mode 100644
index 446425aa735..00000000000
--- a/cpp/test/Slice/utf8BOM/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-Test.o
-.depend
-Test.cpp
-Test.h
diff --git a/cpp/test/include/.gitignore b/cpp/test/include/.gitignore
deleted file mode 100644
index 05cdd03c294..00000000000
--- a/cpp/test/include/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-Controller.h
diff --git a/java/Makefile b/java/Makefile
index 857e7469cee..97817679cf4 100644
--- a/java/Makefile
+++ b/java/Makefile
@@ -11,6 +11,14 @@ ifneq ($(prefix),)
INSTALL_FLAGS += -Dorg.gradle.project.prefix=$(prefix)
endif
+ifneq ($(install_javadir),)
+INSTALL_FLAGS += -Dorg.gradle.project.jarDir=$(install_javadir)
+endif
+
+ifneq ($(install_bindir),)
+INSTALL_FLAGS += -Dorg.gradle.project.binDir=$(install_bindir)
+endif
+
ifneq ($(DESTDIR),)
INSTALL_FLAGS += -Dorg.gradle.project.DESTDIR=$(DESTDIR)
endif
@@ -22,16 +30,22 @@ endif
all:
$(GRADLE) $(BUILD_FLAGS) build
-dist:
+srcs:
$(GRADLE) $(BUILD_FLAGS) :Ice:assemble :Glacier2:assemble :IceGrid:assemble \
:IceBox:assemble :IceBT:assemble :IceDiscovery:assemble :IcePatch2:assemble :IceStorm:assemble \
:IceGridGUI:assemble
-clean:
+tests:
+ $(GRADLE) $(BUILD_FLAGS) :test:assemble
+
+distclean clean:
$(GRADLE) clean
install::
$(GRADLE) $(INSTALL_FLAGS) install
+install-icegridgui::
+ $(GRADLE) $(INSTALL_FLAGS) :IceGridGUI:install
+
test::
@python ./allTests.py
diff --git a/java/gradle.properties b/java/gradle.properties
index 9e66d73eea6..63d416547e4 100644
--- a/java/gradle.properties
+++ b/java/gradle.properties
@@ -35,7 +35,6 @@ debug = true
//
cppPlatform =
-
//
// The configuration uses by the C++ builds, supported values are `Debug` and `Release`,
// that is required to locate the slice2java compiler in the configuration depend
@@ -53,3 +52,14 @@ org.gradle.parallel = true
// Package build properties
//
DESTDIR =
+
+//
+// The installation directory for Jar files, if not set, defaults to <prefix>/share
+// for /usr installation, <prefix>/lib otherwise.
+//
+jarDir =
+
+//
+// The installation directory for executable files, if not set, defaults to <prefix>/bin.
+//
+binDir = \ No newline at end of file
diff --git a/java/src/Ice/src/main/java/Ice/PluginManagerI.java b/java/src/Ice/src/main/java/Ice/PluginManagerI.java
index 6962d1da892..6b40bb0f333 100644
--- a/java/src/Ice/src/main/java/Ice/PluginManagerI.java
+++ b/java/src/Ice/src/main/java/Ice/PluginManagerI.java
@@ -432,7 +432,7 @@ public final class PluginManagerI implements PluginManager
if(cl == null)
{
- final java.net.URL[] url = new java.net.URL[] { new java.net.URL("file:///" + classDir) };
+ final java.net.URL[] url = new java.net.URL[] { new java.net.URL("file", null, classDir) };
//
// Use the custom class loader (if any) as the parent.
diff --git a/man/man1/iceboxnet.1 b/man/man1/iceboxnet.1
deleted file mode 100644
index fc16b371f68..00000000000
--- a/man/man1/iceboxnet.1
+++ /dev/null
@@ -1,20 +0,0 @@
-.TH iceboxnet 1
-
-.SH NAME
-
-iceboxnet - The IceBox .NET/Mono Server.
-
-.SH SYNOPSIS
-
-iceboxnet [options] --Ice.Config=<file>
-
-.SH DESCRIPTION
-
-The IceBox .NET Server. For detailed usage consult:
-.br
-"https://doc.zeroc.com/display/Ice37/Starting+the+IceBox+Server".
-
-.SH SEE ALSO
-
-.BR icebox (1),
-.BR iceboxadmin (1)
diff --git a/man/man1/slice2cs.1 b/man/man1/slice2cs.1
deleted file mode 100644
index 65a86b4d4c1..00000000000
--- a/man/man1/slice2cs.1
+++ /dev/null
@@ -1,111 +0,0 @@
-.TH slice2cs 1
-
-.SH NAME
-
-slice2cs - The Slice to .NET C# compiler.
-
-.SH SYNOPSIS
-
-slice2cs [options] [files]
-
-.SH DESCRIPTION
-
-slice2cs compiles Slice files to .NET C#. Full documentation for slice2cs
-is available online at:
-.br
-"https://doc.zeroc.com/display/Ice37/slice2cs+Command-Line+Options".
-
-.SH OPTIONS
-
-.TP
-.BR \-h ", " \-\-help\fR
-.br
-Displays a help message.
-
-.TP
-.BR \-v ", " \-\-version\fR
-Displays the compiler version.
-
-.TP
-.BR \-DNAME\fR
-.br
-Defines the preprocessor symbol NAME.
-
-.TP
-.BR \-DNAME=DEF\fR
-.br
-Defines the preprocessor symbol NAME with the value DEF.
-
-.TP
-.BR \-UNAME\fR
-.br
-Undefines the preprocessor symbol NAME.
-
-.TP
-.BR \-IDIR\fR
-.br
-Add the directory DIR to the search path for #include directives.
-
-.TP
-.BR \-E\fR
-.br
-Print the preprocessor output on stdout.
-
-.TP
-.BR \-\-output-dir " " DIR\fR
-.br
-Place the generated files into directory DIR.
-
-.TP
-.BR \-d ", " \-\-debug\fR
-.br
-Print debug information showing the operation of the Slice parser.
-
-.TP
-.BR \-\-ice\fR
-.br
-Permit use of the normally reserved prefix Ice for identifiers. Use this
-option only when compiling the source code for the Ice run time.
-
-.TP
-.BR \-\-underscore\fR
-.br
-Permit use of underscores in Slice identifiers.
-
-.TP
-.BR \-\-tie\fR
-.br
-Generate tie classes.
-
-.TP
-.BR \-\-impl\fR
-.br
-Generate sample implementation files. This option will not overwrite an
-existing file.
-
-.TP
-.BR \-\-impl\-tie
-.br
-Generate sample implementation files using tie classes. This option will not
-overwrite an existing file.
-
-.TP
-.BR \-\-checksum " " CLASS\fR
-.br
-Generate checksums for Slice definitions.
-
-.TP
-.BR \-\-stream\fR
-.br
-Generate streaming helper functions for Slice types.
-
-.SH SEE ALSO
-
-.BR slice2cpp (1),
-.BR slice2freeze (1),
-.BR slice2freezej (1),
-.BR slice2html (1),
-.BR slice2java (1),
-.BR slice2php (1),
-.BR slice2py (1),
-.BR slice2rb (1)
diff --git a/objective-c/Makefile b/objective-c/Makefile
index cb09902ee3e..ef21df87012 100644
--- a/objective-c/Makefile
+++ b/objective-c/Makefile
@@ -7,47 +7,31 @@
#
# **********************************************************************
-top_srcdir = .
+top_srcdir := ..
+lang_srcdir := $(top_srcdir)/objective-c
include $(top_srcdir)/config/Make.rules
+include $(lang_srcdir)/config/Make.rules
-SUBDIRS = src include
-
-ifneq ($(MAKECMDGOALS),install)
- SUBDIRS := $(SUBDIRS) test
-endif
-
-INSTALL_SUBDIRS = $(install_libdir)$(cpp11libdirsuffix) $(install_includedir)
+#
+# Load C++ dependencies
+#
+$(eval $(call load-translator-dependencies,$(top_srcdir)/cpp/src/slice2objc))
+$(eval $(call load-dependencies,$(addprefix $(top_srcdir)/cpp/src/,IceUtil Slice Ice IceSSL)))
-install:: install-common
- @for subdir in $(INSTALL_SUBDIRS); \
- do \
- if test ! -d $(DESTDIR)$$subdir ; \
- then \
- echo "Creating $(DESTDIR)$$subdir..." ; \
- mkdir -p $(DESTDIR)$$subdir ; \
- chmod a+rx $(DESTDIR)$$subdir ; \
- fi ; \
- done
-ifeq ($(create_runpath_symlink),yes)
- @if test -h $(embedded_runpath_prefix) ; \
- then \
- if `\rm -f $(embedded_runpath_prefix) 2>/dev/null`; \
- then echo "Removed symbolic link $(embedded_runpath_prefix)"; fi \
- fi
- @if ! test -d $(embedded_runpath_prefix) ; \
- then \
- if `ln -s $(prefix) $(embedded_runpath_prefix) 2>/dev/null`; \
- then echo "Created symbolic link $(embedded_runpath_prefix) --> $(prefix)"; fi \
- fi
-endif
+#
+# Load source projects
+#
+projects :=
+include $(shell find $(lang_srcdir)/src -name Makefile.mk)
+$(foreach p,$(projects),$(eval $(call make-objc-src-project,$(p)))) # Make the source projects
-$(EVERYTHING)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
+#
+# Now, create and load test projects.
+#
+projects :=
+tests := $(tests-without-project-makefile)
+include $(shell find $(lang_srcdir)/test -name Makefile.mk)
+$(foreach t,$(tests),$(eval $(call create-objc-test-project,$(t))))
+$(foreach p,$(projects),$(eval $(call make-objc-test-project,$(p))))
-test::
- @python $(top_srcdir)/allTests.py
diff --git a/objective-c/config/Make.rules b/objective-c/config/Make.rules
index b0bdcdf491e..9b98a47a4ea 100644
--- a/objective-c/config/Make.rules
+++ b/objective-c/config/Make.rules
@@ -7,169 +7,90 @@
#
# **********************************************************************
+# ----------------------------------------------------------------------
+# Don't change anything below this line!
+# ----------------------------------------------------------------------
+
#
-# Select an installation base directory. The directory will be created
-# if it does not exist.
+# Objective-C mapping configurations
#
-prefix ?= /opt/Ice-$(VERSION)
+supported-configs = shared static arc-shared arc-static
#
-# Define OPTIMIZE as yes if you want to build with
-# optimization. Otherwise Ice is build with debug information.
+# Build only few components with the static configuration (libraries)
#
-#OPTIMIZE = yes
+static_components = Ice IceObjC IceSSLObjC Glacier2ObjC IceStormObjC IceGridObjC
+static_projects = test/%
#
-# The build architectures for gcc/llvm based builds. The format of
-# these build flags are OS dependent. For example, under OS X to
-# build binaries which support both i386 and x86_64 you would use
-# "-arch i386 -arch x86_64". The default is OS version dependent. Be
-# aware that this value may conflict with the setting of LP64 above.
+# Build only the tests with the ARC configuration
#
-#OBJCARCHFLAGS = -arch i386 -arch x86_64
-
-# ----------------------------------------------------------------------
-# Don't change anything below this line!
-# ----------------------------------------------------------------------
+arc_projects = test/Ice/%
#
-# Common definitions
+# Define the arc configuration to build the tests with ARC support.
#
-ice_language = objective-c
-slice_translator = slice2objc
-
-ifeq ($(shell test -f $(top_srcdir)/config/Make.common.rules && echo 0),0)
- include $(top_srcdir)/config/Make.common.rules
-else
- include $(top_srcdir)/../config/Make.common.rules
-endif
-
-bindir = $(top_srcdir)/bin
-ifdef ice_src_dist
- libdir = $(top_srcdir)/lib
- includedir = $(top_srcdir)/include
-else
- libdir = $(ice_dir)/$(libsubdir)
- testlibdir = $(top_srcdir)/lib
- includedir = $(ice_dir)/include
-endif
-headerdir = $(top_srcdir)/include
-
-install_includedir := $(prefix)/include/objc
-install_libdir := $(prefix)/$(libsubdir)
-install_bindir := $(prefix)/$(binsubdir)
+# Note that we clear the dependency variable to not include the "arc"
+# sub-configuration into the dependency name (for example, if "client"
+# depends on "IceObjC", client[osx-arc-shared] will still depend on
+# Ice[osx-shared] not Ice[osx-arc-shared]). This is necessary since
+# we don't have an ARC specific build of the libraries.
+#
+arc_cppflags := -fobjc-arc -fobjc-arc-exceptions
+arc_dependency :=
#
-# Platform specific definitions
+# Define slice2objc target extension since it can't be figured out
+# automatically from the slice2objc translator name.
#
-include $(top_srcdir)/config/Make.rules.$(UNAME)
+slice2objc_targetext = m
-ICECPPFLAGS = -I$(slicedir)
-SLICE2OBJCFLAGS = $(ICECPPFLAGS)
-FLEXFLAGS =
-BISONFLAGS = -dvt
-CPPFLAGS += -I$(includedir)
-LDFLAGS = $(OBJCFLAGS) $(ARCFLAGS) -L$(libdir)
-ifndef ice_src_dist
- LDFLAGS += -L$(testlibdir)
-endif
+# Rule for installing headers file from include/objc directory
+ifneq ($(USE_BIN_DIST),yes)
+$(DESTDIR)$(install_includedir)/objc:
+ $(Q)$(MKDIR) -p $(DESTDIR)$(install_includedir)/objc
-ifdef ice_src_dist
- ifeq ($(ice_cpp_dir), $(ice_dir)/cpp)
- SLICE2OBJC = $(ice_cpp_dir)/bin/slice2objc
- else
- SLICE2OBJC = $(ice_cpp_dir)/$(binsubdir)/slice2objc
- endif
-else
- SLICE2OBJC = $(ice_dir)/$(binsubdir)/slice2objc
+$(DESTDIR)$(install_includedir)/objc/%.h: $(includedir)/objc/%.h | $(DESTDIR)$(install_includedir)/objc
+ $(Q)$(call install-data,objc/$(*).h,$(includedir),$(DESTDIR)$(install_includedir))
endif
-# This cannot use .cpp:.o as we have multiple types of source files.
-
-EVERYTHING = all clean install
-EVERYTHING_EXCEPT_ALL = clean install
-
-.SUFFIXES:
-.SUFFIXES: .mm .m .o .cpp .c
-
-ifneq ($(SLICE_OBJS),)
--include $(addprefix .depend/, $(SLICE_OBJS:.o=.ice.d))
-endif
-
-ifneq ($(OBJS),)
--include $(addprefix .depend/, $(OBJS:.o=.d))
-endif
-
-ifeq ($(wildcard .depend/*.d),)
-ifneq ($(OBJCXX_OBJS),)
-$(OBJS): $(SLICE_OBJS:.o=.m) $(OBJC_OBJS:.o=.m) $(OBJCXX_OBJS:.o=.mm)
+#
+# $(make-objc-src-project $1=project)
+#
+define make-objc-src-project
+ifeq ($(USE_BIN_DIST),yes)
+$(create-project-targets)
else
-$(OBJS): $(OBJS:.o=.m)
-endif
+$1_slicecompiler := slice2objc
+$1_sliceflags += --ice -I$(slicedir)
+$1_cppflags += -I$(includedir) -I$(includedir)/generated
+$1_ldflags += -framework Foundation
+$(make-project)
+srcs:: $1
endif
+endef
-all:: $(TARGETS)
-
-.m.o:
- $(CC) -c $(ARCFLAGS) $(CPPFLAGS) $(OBJCFLAGS) $<
- @mkdir -p .depend
- @$(CXX) -DMAKEDEPEND -MM $(CPPFLAGS) $< > .depend/$(*F).d
-
-.mm.o:
- $(CXX) -c $(ARCFLAGS) $(CPPFLAGS) $(OBJCFLAGS) $<
- @mkdir -p .depend
- @$(CXX) -DMAKEDEPEND -MM $(CPPFLAGS) $< > .depend/$(*F).d
-
-$(HDIR)/%F.h: $(SDIR)/%F.ice $(SLICE2OBJC)
- rm -f $(HDIR)/$(*F)F.h $(*F)F.m
- $(SLICE2OBJC) $(SLICE2OBJCFLAGS) $<
- mv $(*F)F.h $(HDIR)
- @touch $(*F)F.m
- @mkdir -p .depend
- @$(SLICE2OBJC) $(SLICE2OBJCFLAGS) --depend $< | sed 's/\(.*: \\\)/\$$(HDIR)\/\1/' > .depend/$(*F)F.ice.d
-
-$(HDIR)/%.h %.m: $(SDIR)/%.ice $(SLICE2OBJC)
- rm -f $(HDIR)/$(*F).h $(*F).m
- $(SLICE2OBJC) $(SLICE2OBJCFLAGS) $<
- mv $(*F).h $(HDIR)
- @touch $(*F).m
- @mkdir -p .depend
- @$(SLICE2OBJC) $(SLICE2OBJCFLAGS) --depend $< | sed 's/\(.*: \\\)/\$$(HDIR)\/\1/' > .depend/$(*F).ice.d
-
-%.h %.m: %.ice $(SLICE2OBJC)
- rm -f $(*F).h $(*F).m
- $(SLICE2OBJC) $(SLICE2OBJCFLAGS) $<
- @touch $(*F).m
- @mkdir -p .depend
- @$(SLICE2OBJC) $(SLICE2OBJCFLAGS) --depend $(*F).ice > .depend/$(*F).ice.d
-
-%.h %.m: %.y
- rm -f $(*F).h $(*F).c
- bison $(BISONFLAGS) $<
- mv $(*F).tab.c $(*F).m
- mv $(*F).tab.h $(*F).h
- rm -f $(*F).output
-
-%.m: %.l
- flex $(FLEXFLAGS) $<
- rm -f $@
- cat lex.yy.c >> $@
- rm -f lex.yy.c
-
-clean::
- -rm -f $(TARGETS)
- -rm -f core *.o *.bak
- -rm -rf .depend
-
-ifneq ($(SLICE_OBJS),)
-clean::
- rm -f $(addsuffix .m, $(basename $(notdir $(SLICE_OBJS))))
- rm -f $(addsuffix .h, $(basename $(notdir $(SLICE_OBJS))))
-endif
-
-ifneq ($(HDIR),)
-clean::
- rm -f $(addprefix $(HDIR)/, $(addsuffix .h, $(basename $(SLICE_OBJS))))
+#
+# $(make-objc-test-project $1=project)
+#
+define make-objc-test-project
+$1_slicecompiler := slice2objc
+$1_sliceflags := -I$(slicedir) $$($1_sliceflags)
+$1_cppflags := -I$(includedir) -Itest/include -I$1 -I$1/generated $$($1_cppflags)
+$1_ldflags += -framework Foundation
+ifneq ($(USE_BIN_DIST),yes)
+$1_cppflags += -I$(includedir)/generated
endif
+$(make-project)
+tests:: $1
+endef
-install::
+#
+# $(create-objc-test-project $1=test)
+#
+define create-objc-test-project
+$1_srcext := m
+$1_dependencies := $$(or $$($1_dependencies),TestCommonObjC IceObjC)
+$1_cppflags += -Itest/Ice
+$(make-test)
+endef
diff --git a/objective-c/include/objc/Glacier2.h b/objective-c/include/objc/Glacier2.h
index 8e20600d7ab..6acccb1f27c 100644
--- a/objective-c/include/objc/Glacier2.h
+++ b/objective-c/include/objc/Glacier2.h
@@ -7,4 +7,4 @@
//
// **********************************************************************
-#import "Glacier2/Glacier2.h"
+#import <objc/Glacier2/Glacier2.h>
diff --git a/objective-c/include/objc/Glacier2/.gitignore b/objective-c/include/objc/Glacier2/.gitignore
deleted file mode 100644
index 382c7a11d64..00000000000
--- a/objective-c/include/objc/Glacier2/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-Metrics.h
-PermissionsVerifierF.h
-PermissionsVerifier.h
-Router.h
-RouterF.h
-Session.h
-SSLInfo.h
diff --git a/objective-c/include/objc/Glacier2/Makefile b/objective-c/include/objc/Glacier2/Makefile
deleted file mode 100644
index 7cacb28b103..00000000000
--- a/objective-c/include/objc/Glacier2/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-include $(top_srcdir)/config/Make.rules
-
-install::
- @if test ! -d $(DESTDIR)$(install_includedir)/Glacier2 ; \
- then \
- echo "Creating $(DESTDIR)$(install_includedir)/Glacier2..." ; \
- $(call mkdir,$(DESTDIR)$(install_includedir)/Glacier2) ; \
- fi
-
- @for i in *.h ; \
- do \
- echo "Installing $$i" ; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(install_includedir)/Glacier2/$$i ; \
- chmod a+r $(DESTDIR)$(install_includedir)/Glacier2/$$i ; \
- done
diff --git a/objective-c/include/objc/Ice.h b/objective-c/include/objc/Ice.h
index 0235969bd92..d91fb0e7d37 100644
--- a/objective-c/include/objc/Ice.h
+++ b/objective-c/include/objc/Ice.h
@@ -7,4 +7,4 @@
//
// **********************************************************************
-#import "Ice/Ice.h"
+#import <objc/Ice/Ice.h>
diff --git a/objective-c/include/objc/Ice/.gitignore b/objective-c/include/objc/Ice/.gitignore
deleted file mode 100644
index 9be90a78435..00000000000
--- a/objective-c/include/objc/Ice/.gitignore
+++ /dev/null
@@ -1,39 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-BuiltinSequences.h
-Communicator.h
-CommunicatorF.h
-Connection.h
-ConnectionF.h
-Current.h
-Endpoint.h
-EndpointF.h
-EndpointTypes.h
-FacetMap.h
-Identity.h
-InstrumentationF.h
-ImplicitContext.h
-ImplicitContextF.h
-Locator.h
-LocatorF.h
-LocalException.h
-Logger.h
-LoggerF.h
-Metrics.h
-ObjectAdapter.h
-ObjectAdapterF.h
-ObjectFactoryF.h
-PluginF.h
-Process.h
-ProcessF.h
-Properties.h
-PropertiesF.h
-PropertiesAdmin.h
-RemoteLogger.h
-Router.h
-RouterF.h
-ServantLocator.h
-ServantLocatorF.h
-SliceChecksumDict.h
-Version.h
diff --git a/objective-c/include/objc/Ice/Makefile b/objective-c/include/objc/Ice/Makefile
deleted file mode 100644
index 3f0f6a20d0a..00000000000
--- a/objective-c/include/objc/Ice/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-include $(top_srcdir)/config/Make.rules
-
-install::
- @if test ! -d $(DESTDIR)$(install_includedir)/Ice ; \
- then \
- echo "Creating $(DESTDIR)$(install_includedir)/Ice..." ; \
- $(call mkdir,$(DESTDIR)$(install_includedir)/Ice) ; \
- fi
-
- @for i in *.h ; \
- do \
- echo "Installing $$i" ; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(install_includedir)/Ice/$$i ; \
- chmod a+r $(DESTDIR)$(install_includedir)/Ice/$$i ; \
- done
diff --git a/objective-c/include/objc/IceGrid.h b/objective-c/include/objc/IceGrid.h
index e29e71fb80e..34f65bff6d7 100644
--- a/objective-c/include/objc/IceGrid.h
+++ b/objective-c/include/objc/IceGrid.h
@@ -7,4 +7,4 @@
//
// **********************************************************************
-#import "IceGrid/IceGrid.h"
+#import <objc/IceGrid/IceGrid.h>
diff --git a/objective-c/include/objc/IceGrid/.gitignore b/objective-c/include/objc/IceGrid/.gitignore
deleted file mode 100644
index 9d13a816fbf..00000000000
--- a/objective-c/include/objc/IceGrid/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-Admin.h
-Descriptor.h
-Exception.h
-FileParser.h
-Locator.h
-Observer.h
-PluginFacade.h
-Query.h
-Registry.h
-Session.h
-UserAccountMapper.h
diff --git a/objective-c/include/objc/IceGrid/Makefile b/objective-c/include/objc/IceGrid/Makefile
deleted file mode 100644
index d1278222db4..00000000000
--- a/objective-c/include/objc/IceGrid/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-include $(top_srcdir)/config/Make.rules
-
-install::
- @if test ! -d $(DESTDIR)$(install_includedir)/IceGrid ; \
- then \
- echo "Creating $(DESTDIR)$(install_includedir)/IceGrid..." ; \
- $(call mkdir,$(DESTDIR)$(install_includedir)/IceGrid) ; \
- fi
-
- @for i in *.h ; \
- do \
- echo "Installing $$i" ; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(install_includedir)/IceGrid/$$i ; \
- chmod a+r $(DESTDIR)$(install_includedir)/IceGrid/$$i ; \
- done
diff --git a/objective-c/include/objc/IceSSL.h b/objective-c/include/objc/IceSSL.h
index 8eceefb2e2e..19c6aedc465 100644
--- a/objective-c/include/objc/IceSSL.h
+++ b/objective-c/include/objc/IceSSL.h
@@ -7,4 +7,4 @@
//
// **********************************************************************
-#import "IceSSL/IceSSL.h"
+#import <objc/IceSSL/IceSSL.h>
diff --git a/objective-c/include/objc/IceSSL/.gitignore b/objective-c/include/objc/IceSSL/.gitignore
deleted file mode 100644
index f53e54c68e3..00000000000
--- a/objective-c/include/objc/IceSSL/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-EndpointInfo.h
-ConnectionInfo.h
diff --git a/objective-c/include/objc/IceSSL/Makefile b/objective-c/include/objc/IceSSL/Makefile
deleted file mode 100644
index 9caedb64010..00000000000
--- a/objective-c/include/objc/IceSSL/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-include $(top_srcdir)/config/Make.rules
-
-install::
- @if test ! -d $(DESTDIR)$(install_includedir)/IceSSL ; \
- then \
- echo "Creating $(DESTDIR)$(install_includedir)/IceSSL..." ; \
- $(call mkdir,$(DESTDIR)$(install_includedir)/IceSSL) ; \
- fi
-
- @for i in *.h ; \
- do \
- echo "Installing $$i" ; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(install_includedir)/IceSSL/$$i ; \
- chmod a+r $(DESTDIR)$(install_includedir)/IceSSL/$$i ; \
- done
diff --git a/objective-c/include/objc/IceStorm.h b/objective-c/include/objc/IceStorm.h
index a759008a476..cd324ab2b3d 100644
--- a/objective-c/include/objc/IceStorm.h
+++ b/objective-c/include/objc/IceStorm.h
@@ -7,4 +7,4 @@
//
// **********************************************************************
-#import "IceStorm/IceStorm.h"
+#import <objc/IceStorm/IceStorm.h>
diff --git a/objective-c/include/objc/IceStorm/.gitignore b/objective-c/include/objc/IceStorm/.gitignore
deleted file mode 100644
index bb5bf8a8dc7..00000000000
--- a/objective-c/include/objc/IceStorm/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-Metrics.h
-IceStorm.h
diff --git a/objective-c/include/objc/IceStorm/Makefile b/objective-c/include/objc/IceStorm/Makefile
deleted file mode 100644
index 17c6e78117b..00000000000
--- a/objective-c/include/objc/IceStorm/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-include $(top_srcdir)/config/Make.rules
-
-install::
- @if test ! -d $(DESTDIR)$(install_includedir)/IceStorm ; \
- then \
- echo "Creating $(DESTDIR)$(install_includedir)/IceStorm..." ; \
- $(call mkdir,$(DESTDIR)$(install_includedir)/IceStorm) ; \
- fi
-
- @for i in *.h ; \
- do \
- echo "Installing $$i" ; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(install_includedir)/IceStorm/$$i ; \
- chmod a+r $(DESTDIR)$(install_includedir)/IceStorm/$$i ; \
- done
diff --git a/objective-c/include/objc/Makefile b/objective-c/include/objc/Makefile
deleted file mode 100644
index ef90e2f1d8a..00000000000
--- a/objective-c/include/objc/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = Ice IceSSL Glacier2 IceStorm IceGrid
-
-$(EVERYTHING)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
-
-install::
- @for i in *.h ; \
- do \
- echo "Installing $$i" ; \
- $(INSTALL_DATA) $$i $(DESTDIR)$(install_includedir)/$$i ; \
- chmod a+r $(DESTDIR)$(install_includedir)/$$i ; \
- done
diff --git a/objective-c/src/Glacier2/.gitignore b/objective-c/src/Glacier2/.gitignore
deleted file mode 100644
index ece727d3b20..00000000000
--- a/objective-c/src/Glacier2/.gitignore
+++ /dev/null
@@ -1,18 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-Metrics.m
-PermissionsVerifierF.m
-PermissionsVerifier.m
-Router.m
-RouterF.m
-Session.m
-SSLInfo.m
-Metrics.h
-PermissionsVerifierF.h
-PermissionsVerifier.h
-Router.h
-RouterF.h
-Session.h
-SSLInfo.h
diff --git a/objective-c/src/Glacier2/Makefile b/objective-c/src/Glacier2/Makefile
deleted file mode 100644
index ba80d3a089a..00000000000
--- a/objective-c/src/Glacier2/Makefile
+++ /dev/null
@@ -1,50 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,Glacier2ObjC,$(VERSION))
-SONAME = $(call mksoname,Glacier2ObjC,$(SOVERSION))
-LIBNAME = $(call mklibname,Glacier2ObjC)
-
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME))
-
-SLICE_OBJS = Metrics.o \
- PermissionsVerifierF.o \
- PermissionsVerifier.o \
- Router.o \
- RouterF.o \
- Session.o \
- SSLInfo.o
-
-OBJS = $(SLICE_OBJS)
-
-HDIR = $(headerdir)/objc/Glacier2
-SDIR = $(slicedir)/Glacier2
-
-include $(top_srcdir)/config/Make.rules
-
-SLICE2OBJCFLAGS := --ice --include-dir objc/Glacier2 --dll-export GLACIER2_API $(SLICE2OBJCFLAGS)
-
-$(libdir)/$(LIBFILENAME): $(OBJS) $(HDIR)/PermissionsVerifierF.h $(HDIR)/RouterF.h
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LIBS))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)
- rm -f $@
- ln -s $(SONAME) $@
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/objective-c/src/Glacier2/Makefile.mk b/objective-c/src/Glacier2/Makefile.mk
new file mode 100644
index 00000000000..3dc04d30cc4
--- /dev/null
+++ b/objective-c/src/Glacier2/Makefile.mk
@@ -0,0 +1,20 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries = Glacier2ObjC
+
+Glacier2ObjC_targetdir := $(libdir)
+Glacier2ObjC_sliceflags := --include-dir objc/Glacier2 --dll-export GLACIER2_API
+Glacier2ObjC_dependencies := IceObjC
+Glacier2ObjC_slicedir := $(slicedir)/Glacier2
+Glacier2ObjC_includedir := $(includedir)/objc/Glacier2
+
+Glacier2ObjC_install:: $(install_includedir)/objc/Glacier2.h
+
+projects += $(project)
diff --git a/objective-c/src/Ice/.gitignore b/objective-c/src/Ice/.gitignore
deleted file mode 100644
index 7f8d62bd8d6..00000000000
--- a/objective-c/src/Ice/.gitignore
+++ /dev/null
@@ -1,76 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-BuiltinSequences.m
-Communicator.m
-CommunicatorF.m
-Connection.m
-ConnectionF.m
-Current.m
-Endpoint.m
-EndpointF.m
-EndpointTypes.m
-FacetMap.m
-Identity.m
-InstrumentationF.m
-ImplicitContext.m
-ImplicitContextF.m
-Locator.m
-LocatorF.m
-LocalException.m
-Logger.m
-LoggerF.m
-Metrics.m
-ObjectAdapter.m
-ObjectAdapterF.m
-ObjectFactoryF.m
-PluginF.m
-Process.m
-ProcessF.m
-Properties.m
-PropertiesF.m
-PropertiesAdmin.m
-RemoteLogger.m
-Router.m
-RouterF.m
-ServantLocator.m
-ServantLocatorF.m
-SliceChecksumDict.m
-Version.m
-BuiltinSequences.h
-Communicator.h
-CommunicatorF.h
-Connection.h
-ConnectionF.h
-Current.h
-Endpoint.h
-EndpointF.h
-EndpointTypes.h
-FacetMap.h
-Identity.h
-InstrumentationF.h
-ImplicitContext.h
-ImplicitContextF.h
-Locator.h
-LocatorF.h
-LocalException.h
-Logger.h
-LoggerF.h
-Metrics.h
-ObjectAdapter.h
-ObjectAdapterF.h
-ObjectFactoryF.h
-PluginF.h
-Process.h
-ProcessF.h
-Properties.h
-PropertiesF.h
-PropertiesAdmin.h
-RemoteLogger.h
-Router.h
-RouterF.h
-ServantLocator.h
-ServantLocatorF.h
-SliceChecksumDict.h
-Version.h
diff --git a/objective-c/src/Ice/Makefile b/objective-c/src/Ice/Makefile
deleted file mode 100644
index 8e9fdabf686..00000000000
--- a/objective-c/src/Ice/Makefile
+++ /dev/null
@@ -1,130 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,IceObjC$(libsuffix),$(VERSION))
-SONAME = $(call mksoname,IceObjC$(libsuffix),$(SOVERSION))
-LIBNAME = $(call mklibname,IceObjC$(libsuffix))
-
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME))
-
-SLICE_OBJS = BuiltinSequences.o \
- Communicator.o \
- CommunicatorF.o \
- Connection.o \
- ConnectionF.o \
- Current.o \
- Endpoint.o \
- EndpointF.o \
- EndpointTypes.o \
- FacetMap.o \
- Identity.o \
- InstrumentationF.o \
- ImplicitContext.o \
- ImplicitContextF.o \
- Locator.o \
- LocatorF.o \
- LocalException.o \
- Logger.o \
- LoggerF.o \
- Metrics.o \
- ObjectAdapter.o \
- ObjectAdapterF.o \
- PluginF.o \
- Process.o \
- ProcessF.o \
- Properties.o \
- PropertiesF.o \
- PropertiesAdmin.o \
- RemoteLogger.o \
- Router.o \
- RouterF.o \
- ServantLocator.o \
- ServantLocatorF.o \
- SliceChecksumDict.o \
- Version.o
-
-OBJC_OBJS = DispatchInterceptor.o \
- Request.o \
- $(SLICE_OBJS)
-
-OBJCXX_OBJS = BatchRequestInterceptor.o \
- CommunicatorI.o \
- ConnectionI.o \
- CurrentI.o \
- EndpointI.o \
- Exception.o \
- Dispatcher.o \
- IdentityI.o \
- ImplicitContextI.o \
- Initialize.o \
- LocalObject.o \
- LoggerI.o \
- Object.o \
- ObjectAdapterI.o \
- PropertiesI.o \
- Proxy.o \
- Stream.o \
- SlicedData.o \
- Util.o \
- ValueFactoryI.o \
- VersionI.o
-
-OBJS := $(OBJC_OBJS) $(OBJCXX_OBJS)
-
-HDIR = $(includedir)/objc/Ice
-SDIR = $(slicedir)/Ice
-
-include $(top_srcdir)/config/Make.rules
-
-#
-# Set RPATH to the cpp/lib directory or Ice installation lib directory. Note that unlike Linux
-# platforms, we always set the RPATH for source builds on OS X. This is required because we
-# can no longer rely on DYLD_LIBRARY_PATH on El Capitan. The RPATH is updated when the library
-# is installed (see cpp/config/Make.rules.Darwin).
-#
-ifdef ice_src_dist
- RPATH_DIR = @loader_path/../../cpp/$(libsubdir)
-else
- RPATH_DIR = $(ice_dir)/$(libsubdir)
-endif
-
-ifdef usr_dir_install
- installlib += ; install_name_tool -delete_rpath $(RPATH_DIR) $(1)/$(3)
-else ifdef ice_src_dist
- installlib += ; install_name_tool -delete_rpath $(RPATH_DIR) $(1)/$(3)
-endif
-
-CPPFLAGS := -I. -I$(ice_cpp_dir)/include -DICE_API_EXPORTS $(CPPFLAGS)
-SLICE2OBJCFLAGS := --ice --include-dir objc/Ice --dll-export ICE_API $(SLICE2OBJCFLAGS)
-LINKWITH := $(BASELIBS)
-LDFLAGS := -Wl,-rpath,$(RPATH_DIR) $(LDFLAGS)
-
-$(libdir)/$(LIBFILENAME): $(OBJS)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)/$(LIBNAME): $(libdir)/$(SONAME)
- rm -f $@
- ln -s $(SONAME) $@
-
-# Prevent generation of these files from .ice files
-
-$(HDIR)/ObjectFactory.h ObjectFactory.m:
- @echo
-$(HDIR)/ValueFactory.h ValueFactory.m:
- @echo
-
-install:: all
- $(call installlib,$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/objective-c/src/Ice/Makefile.mk b/objective-c/src/Ice/Makefile.mk
new file mode 100644
index 00000000000..9709da13c0f
--- /dev/null
+++ b/objective-c/src/Ice/Makefile.mk
@@ -0,0 +1,30 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries = IceObjC
+
+IceObjC_targetdir := $(libdir)
+IceObjC_cppflags := -DICE_API_EXPORTS -I$(project) -I$(top_srcdir)/cpp/include -I$(top_srcdir)/cpp/include/generated
+IceObjC_sliceflags := --include-dir objc/Ice --dll-export ICE_API
+IceObjC_dependencies := Ice IceUtil
+IceObjC_slicedir := $(slicedir)/Ice
+IceObjC_includedir := $(includedir)/objc/Ice
+IceObjC_excludes := $(slicedir)/Ice/ValueFactory.ice \
+ $(slicedir)/Ice/ObjectFactory.ice \
+ $(slicedir)/Ice/Instrumentation.ice \
+ $(slicedir)/Ice/Plugin.ice
+
+IceObjC_install:: $(install_includedir)/objc/Ice.h
+
+# Create the default implicit rule for these 2 header files to make sure the
+# Slice files aren't re-generated
+$(includedir)/objc/Ice/ValueFactory.h: ;
+$(includedir)/objc/Ice/ObjectFactory.h: ;
+
+projects += $(project)
diff --git a/objective-c/src/IceGrid/.gitignore b/objective-c/src/IceGrid/.gitignore
deleted file mode 100644
index 5ed0ac9fde0..00000000000
--- a/objective-c/src/IceGrid/.gitignore
+++ /dev/null
@@ -1,26 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-Admin.m
-Descriptor.m
-Exception.m
-FileParser.m
-Locator.m
-Observer.m
-PluginFacade.m
-Query.m
-Registry.m
-Session.m
-UserAccountMapper.m
-Admin.h
-Descriptor.h
-Exception.h
-FileParser.h
-Locator.h
-Observer.h
-PluginFacade.h
-Query.h
-Registry.h
-Session.h
-UserAccountMapper.h
diff --git a/objective-c/src/IceGrid/Makefile b/objective-c/src/IceGrid/Makefile
deleted file mode 100644
index 540a31e831d..00000000000
--- a/objective-c/src/IceGrid/Makefile
+++ /dev/null
@@ -1,52 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,IceGridObjC,$(VERSION))
-SONAME = $(call mksoname,IceGridObjC,$(SOVERSION))
-LIBNAME = $(call mklibname,IceGridObjC)
-
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME))
-
-SLICE_OBJS = Admin.o \
- Descriptor.o \
- Exception.o \
- FileParser.o \
- PluginFacade.o \
- Registry.o \
- Session.o \
- UserAccountMapper.o
-
-OBJS = $(SLICE_OBJS)
-
-HDIR = $(headerdir)/objc/IceGrid
-SDIR = $(slicedir)/IceGrid
-
-include $(top_srcdir)/config/Make.rules
-
-SLICE2OBJCFLAGS := --ice --include-dir objc/IceGrid --dll-export ICE_GRID_API $(SLICE2OBJCFLAGS)
-LINKWITH := -lGlacier2ObjC $(LIBS)
-
-$(libdir)/$(LIBFILENAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)
- rm -f $@
- ln -s $(SONAME) $@
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/objective-c/src/IceGrid/Makefile.mk b/objective-c/src/IceGrid/Makefile.mk
new file mode 100644
index 00000000000..df9c317ea1e
--- /dev/null
+++ b/objective-c/src/IceGrid/Makefile.mk
@@ -0,0 +1,20 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries = IceGridObjC
+
+IceGridObjC_targetdir := $(libdir)
+IceGridObjC_sliceflags := --include-dir objc/IceGrid --dll-export ICEGRID_API
+IceGridObjC_dependencies := IceObjC Glacier2ObjC
+IceGridObjC_slicedir := $(slicedir)/IceGrid
+IceGridObjC_includedir := $(includedir)/objc/IceGrid
+
+IceGridObjC_install:: $(install_includedir)/objc/IceGrid.h
+
+projects += $(project)
diff --git a/objective-c/src/IceSSL/.gitignore b/objective-c/src/IceSSL/.gitignore
deleted file mode 100644
index 6252a80b316..00000000000
--- a/objective-c/src/IceSSL/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-EndpointInfo.m
-ConnectionInfo.m
-EndpointInfo.h
-ConnectionInfo.h
diff --git a/objective-c/src/IceSSL/Makefile b/objective-c/src/IceSSL/Makefile
deleted file mode 100644
index 96feca19971..00000000000
--- a/objective-c/src/IceSSL/Makefile
+++ /dev/null
@@ -1,50 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,IceSSLObjC,$(VERSION))
-SONAME = $(call mksoname,IceSSLObjC,$(SOVERSION))
-LIBNAME = $(call mklibname,IceSSLObjC)
-
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME))
-
-SLICE_OBJS = EndpointInfo.o \
- ConnectionInfo.o
-
-OBJCXX_OBJS = EndpointInfoI.o \
- ConnectionInfoI.o
-
-OBJS = $(SLICE_OBJS) $(OBJCXX_OBJS)
-
-HDIR = $(headerdir)/objc/IceSSL
-SDIR = $(slicedir)/IceSSL
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I../Ice -I$(ice_cpp_dir)/include $(CPPFLAGS)
-SLICE2OBJCFLAGS := --ice --include-dir objc/IceSSL --dll-export ICE_SSL_API $(SLICE2OBJCFLAGS)
-LINKWITH := -lIceObjC$(libsuffix) $(BASELIBS)
-
-$(libdir)/$(LIBFILENAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)
- rm -f $@
- ln -s $(SONAME) $@
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/objective-c/src/IceSSL/Makefile.mk b/objective-c/src/IceSSL/Makefile.mk
new file mode 100644
index 00000000000..f79c05e5d62
--- /dev/null
+++ b/objective-c/src/IceSSL/Makefile.mk
@@ -0,0 +1,21 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries = IceSSLObjC
+
+IceSSLObjC_targetdir := $(libdir)
+IceSSLObjC_cppflags := -DICESSL_API_EXPORTS -Isrc/Ice -I$(top_srcdir)/cpp/include -I$(top_srcdir)/cpp/include/generated
+IceSSLObjC_sliceflags := --include-dir objc/IceSSL --dll-export ICESSL_API
+IceSSLObjC_dependencies := IceObjC Ice IceUtil
+IceSSLObjC_slicedir := $(slicedir)/IceSSL
+IceSSLObjC_includedir := $(includedir)/objc/IceSSL
+
+IceSSLObjC_install:: $(install_includedir)/objc/IceSSL.h
+
+projects += $(project)
diff --git a/objective-c/src/IceStorm/.gitignore b/objective-c/src/IceStorm/.gitignore
deleted file mode 100644
index 166500719d4..00000000000
--- a/objective-c/src/IceStorm/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
-Metrics.m
-IceStorm.m
-Metrics.h
-IceStorm.h
diff --git a/objective-c/src/IceStorm/Makefile b/objective-c/src/IceStorm/Makefile
deleted file mode 100644
index 11dc24f2699..00000000000
--- a/objective-c/src/IceStorm/Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mklibfilename,IceStormObjC,$(VERSION))
-SONAME = $(call mksoname,IceStormObjC,$(SOVERSION))
-LIBNAME = $(call mklibname,IceStormObjC)
-
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME))
-
-SLICE_OBJS = Metrics.o \
- IceStorm.o
-
-OBJS = $(SLICE_OBJS)
-
-HDIR = $(headerdir)/objc/IceStorm
-SDIR = $(slicedir)/IceStorm
-
-include $(top_srcdir)/config/Make.rules
-
-SLICE2OBJCFLAGS := --ice --include-dir objc/IceStorm --dll-export ICE_STORM_API $(SLICE2OBJCFLAGS)
-
-$(libdir)/$(LIBFILENAME): $(OBJS)
- @mkdir -p $(dir $@)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LIBS))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)/$(LIBNAME): $(libdir)/$(SONAME)
- @mkdir -p $(libdir)
- rm -f $@
- ln -s $(SONAME) $@
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/objective-c/src/IceStorm/Makefile.mk b/objective-c/src/IceStorm/Makefile.mk
new file mode 100644
index 00000000000..14b74988c42
--- /dev/null
+++ b/objective-c/src/IceStorm/Makefile.mk
@@ -0,0 +1,20 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries = IceStormObjC
+
+IceStormObjC_targetdir := $(libdir)
+IceStormObjC_sliceflags := --include-dir objc/IceStorm --dll-export ICESTORM_API
+IceStormObjC_dependencies := IceObjC
+IceStormObjC_slicedir := $(slicedir)/IceStorm
+IceStormObjC_includedir := $(includedir)/objc/IceStorm
+
+IceStormObjC_install:: $(install_includedir)/objc/IceStorm.h
+
+projects += $(project)
diff --git a/objective-c/src/Makefile b/objective-c/src/Makefile
deleted file mode 100644
index 0f04ff84710..00000000000
--- a/objective-c/src/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = Ice IceSSL Glacier2 IceStorm IceGrid
-
-.PHONY: $(EVERYTHING) $(SUBDIRS)
-
-#
-# Dependencies for 'all' target when using -jx
-#
-
-IceSSL Glacier2 IceStorm IceGrid: Ice
-
-IceGrid: Glacier2
-
-all:: $(SUBDIRS)
-
-$(SUBDIRS):
- @echo "making all in $@"
- @$(MAKE) all --directory=$@
-
-$(EVERYTHING_EXCEPT_ALL)::
- @for subdir in $(SUBDIRS); \
- do \
- if test -d $$subdir ; \
- then \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- fi; \
- done
diff --git a/objective-c/test/Common/.gitignore b/objective-c/test/Common/.gitignore
deleted file mode 100644
index 3a412ca89c7..00000000000
--- a/objective-c/test/Common/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-.depend
diff --git a/objective-c/test/Common/Makefile b/objective-c/test/Common/Makefile
deleted file mode 100644
index c4f588f14ee..00000000000
--- a/objective-c/test/Common/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBNAME = $(call mklibname,TestCommonObjC)
-
-TARGETS = ../../lib/$(LIBNAME)
-
-OBJS = TestCommon.o
-
-SRCS := $(OBJS:.o=.m)
-
-include $(top_srcdir)/config/Make.rules
-
-ifeq ($(STATICLIBS),yes)
- mklibname = lib$(1).a
-else
- mklibname = lib$(1).dylib
-endif
-
-CPPFLAGS := -I../include $(CPPFLAGS)
-
-ifeq ($(STATICLIBS),yes)
-
-../../lib/$(LIBNAME): $(OBJS)
- rm -f $@
- $(call mklib,$@,$(OBJS))
-
-else
-
-../../lib/$(LIBNAME): $(OBJS)
- rm -f $@
- $(call mkshlib,$@,$(LIBNAME),$(OBJS),$(LIBS))
-
-endif
diff --git a/objective-c/test/Common/Makefile.mk b/objective-c/test/Common/Makefile.mk
new file mode 100644
index 00000000000..b27c86f3b52
--- /dev/null
+++ b/objective-c/test/Common/Makefile.mk
@@ -0,0 +1,17 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries = TestCommonObjC
+$(project)_noinstall = 1
+
+TestCommonObjC_targetdir := $(libdir)
+TestCommonObjC_dependencies := IceObjC
+TestCommonObjC_cppflags := -I$(includedir) -Itest/include -DTEST_API_EXPORTS
+
+projects += $(project)
diff --git a/objective-c/test/Ice/Makefile b/objective-c/test/Ice/Makefile
deleted file mode 100644
index e22c5f719c9..00000000000
--- a/objective-c/test/Ice/Makefile
+++ /dev/null
@@ -1,50 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = proxy \
- acm \
- admin \
- ami \
- operations \
- exceptions \
- inheritance \
- facets \
- objects \
- optional \
- interceptor \
- invoke \
- dispatcher \
- defaultServant \
- defaultValue \
- enums \
- faultTolerance \
- location \
- adapterDeactivation \
- slicing \
- binding \
- hold \
- retry \
- stream \
- timeout \
- hash \
- info \
- metrics \
- services \
- servantLocator
-
-$(EVERYTHING)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
diff --git a/objective-c/test/Ice/acm/.gitignore b/objective-c/test/Ice/acm/.gitignore
deleted file mode 100644
index 3fdb6d1ddfc..00000000000
--- a/objective-c/test/Ice/acm/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-.depend
-ACMTest.m
-ACMTest.h
diff --git a/objective-c/test/Ice/acm/Makefile b/objective-c/test/Ice/acm/Makefile
deleted file mode 100644
index 46e1835ce95..00000000000
--- a/objective-c/test/Ice/acm/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = ACMTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-OBJS = $(COBJS) $(SOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/adapterDeactivation/.gitignore b/objective-c/test/Ice/adapterDeactivation/.gitignore
deleted file mode 100644
index cd60a278305..00000000000
--- a/objective-c/test/Ice/adapterDeactivation/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-collocated
-.depend
-AdapterDeactivationTest.m
-AdapterDeactivationTest.h
diff --git a/objective-c/test/Ice/adapterDeactivation/Makefile b/objective-c/test/Ice/adapterDeactivation/Makefile
deleted file mode 100644
index a5fafc45d7d..00000000000
--- a/objective-c/test/Ice/adapterDeactivation/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-COLLOCATED = collocated
-
-TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
-
-SLICE_OBJS = AdapterDeactivationTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-COLOBJS = Collocated.o \
- TestI.o \
- AllTests.o
-
-OBJS = $(COBJS) $(SOBJS) $(COLOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(COLLOCATED): $(COLOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COLOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/admin/.gitignore b/objective-c/test/Ice/admin/.gitignore
deleted file mode 100644
index a064c4256c8..00000000000
--- a/objective-c/test/Ice/admin/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-.depend
-AdminTest.m
-AdminTest.h
diff --git a/objective-c/test/Ice/admin/Makefile b/objective-c/test/Ice/admin/Makefile
deleted file mode 100644
index acde2b43a2d..00000000000
--- a/objective-c/test/Ice/admin/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = AdminTest.o
-
-COBJS = Client.o \
- TestI.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-OBJS = $(COBJS) $(SOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/admin/Makefile.mk b/objective-c/test/Ice/admin/Makefile.mk
new file mode 100644
index 00000000000..0af578fcd8b
--- /dev/null
+++ b/objective-c/test/Ice/admin/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = $(test-client-sources) TestI.m
+
+tests += $(test)
diff --git a/objective-c/test/Ice/ami/.gitignore b/objective-c/test/Ice/ami/.gitignore
deleted file mode 100644
index a8a4ccc28db..00000000000
--- a/objective-c/test/Ice/ami/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-collocated
-.depend
-AMITest.m
-AMITest.h
diff --git a/objective-c/test/Ice/ami/Makefile b/objective-c/test/Ice/ami/Makefile
deleted file mode 100644
index 744d8c84166..00000000000
--- a/objective-c/test/Ice/ami/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-COLLOCATED = collocated
-
-TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
-
-SLICE_OBJS = AMITest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-COLOBJS = Collocated.o \
- TestI.o \
- AllTests.o
-
-OBJS = $(COBJS) $(SOBJS) $(COLOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(COLLOCATED): $(COLOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COLOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/binding/.gitignore b/objective-c/test/Ice/binding/.gitignore
deleted file mode 100644
index 111134fb8e1..00000000000
--- a/objective-c/test/Ice/binding/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-.depend
-BindingTest.m
-BindingTest.h
diff --git a/objective-c/test/Ice/binding/Makefile b/objective-c/test/Ice/binding/Makefile
deleted file mode 100644
index c43907b4118..00000000000
--- a/objective-c/test/Ice/binding/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = BindingTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-OBJS = $(COBJS) $(SOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/defaultServant/.gitignore b/objective-c/test/Ice/defaultServant/.gitignore
deleted file mode 100644
index f330ebd1012..00000000000
--- a/objective-c/test/Ice/defaultServant/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-.depend
-DefaultServantTest.m
-DefaultServantTest.h
diff --git a/objective-c/test/Ice/defaultServant/Client.m b/objective-c/test/Ice/defaultServant/Client.m
index 138d4236276..4e0eceec1fa 100644
--- a/objective-c/test/Ice/defaultServant/Client.m
+++ b/objective-c/test/Ice/defaultServant/Client.m
@@ -10,14 +10,14 @@
#import <objc/Ice.h>
#import <TestCommon.h>
#import <DefaultServantTest.h>
-#import <defaultServant/MyObjectI.h>
+#import <defaultServant/TestI.h>
static int
run(id<ICECommunicator> communicator)
{
//
// Create OA
- //
+ //
id<ICEObjectAdapter> oa = [communicator createObjectAdapterWithEndpoints:@"MyOA" endpoints:@"tcp -h localhost"];
[oa activate];
ICEObject* servant = [TestDefaultServantMyObjectI myObject];
@@ -33,7 +33,7 @@ run(id<ICECommunicator> communicator)
tprintf("testing single category... ");
ICEObject* r = [oa findDefaultServant:@"foo"];
test(r == servant);
-
+
r = [oa findDefaultServant:@"bar"];
test(r == nil);
@@ -42,13 +42,13 @@ run(id<ICECommunicator> communicator)
for(NSString* name in stringArray)
{
- [identity setName:name];
+ [identity setName:name];
id<TestDefaultServantMyObjectPrx> prx = [TestDefaultServantMyObjectPrx uncheckedCast:[oa createProxy:identity]];
[prx ice_ping];
test([[prx getName] isEqualToString:name]);
}
- [identity setName:@"ObjectNotExist"];
+ [identity setName:@"ObjectNotExist"];
id<TestDefaultServantMyObjectPrx> prx = [TestDefaultServantMyObjectPrx uncheckedCast:[oa createProxy:identity]];
@try
{
@@ -69,7 +69,7 @@ run(id<ICECommunicator> communicator)
// expected
}
- [identity setName:@"FacetNotExist"];
+ [identity setName:@"FacetNotExist"];
prx = [TestDefaultServantMyObjectPrx uncheckedCast:[oa createProxy:identity]];
@try
@@ -81,7 +81,7 @@ run(id<ICECommunicator> communicator)
{
// expected
}
-
+
@try
{
[prx getName];
@@ -95,7 +95,7 @@ run(id<ICECommunicator> communicator)
[identity setCategory:@"bar"];
for(NSString* name in stringArray)
{
- [identity setName:name];
+ [identity setName:name];
id<TestDefaultServantMyObjectPrx> prx = [TestDefaultServantMyObjectPrx uncheckedCast:[oa createProxy:identity]];
@try
@@ -116,20 +116,20 @@ run(id<ICECommunicator> communicator)
{
}
}
- tprintf("ok\n");
+ tprintf("ok\n");
tprintf("testing default category... ");
-
+
[oa addDefaultServant:servant category:@""];
-
+
r = [oa findDefaultServant:@"bar"];
test(r == nil);
r = [oa findDefaultServant:@""];
test(r == servant);
-
+
for(NSString* name in stringArray)
{
- [identity setName:name];
+ [identity setName:name];
id<TestDefaultServantMyObjectPrx> prx = [TestDefaultServantMyObjectPrx uncheckedCast:[oa createProxy:identity]];
[prx ice_ping];
test([[prx getName] isEqualToString:name]);
@@ -162,7 +162,7 @@ main(int argc, char* argv[])
initData.properties = defaultClientProperties(&argc, argv);
#if TARGET_OS_IPHONE
initData.prefixTable__ = [NSDictionary dictionaryWithObjectsAndKeys:
- @"TestDefaultServant", @"::Test",
+ @"TestDefaultServant", @"::Test",
nil];
#endif
communicator = [ICEUtil createCommunicator:&argc argv:argv initData:initData];
@@ -193,4 +193,3 @@ main(int argc, char* argv[])
}
return status;
}
-
diff --git a/objective-c/test/Ice/defaultServant/Makefile b/objective-c/test/Ice/defaultServant/Makefile
deleted file mode 100644
index cac9607f526..00000000000
--- a/objective-c/test/Ice/defaultServant/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-
-TARGETS = $(CLIENT)
-
-SLICE_OBJS = DefaultServantTest.o
-
-COBJS = Client.o \
- MyObjectI.o
-
-OBJS = $(COBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/defaultServant/Makefile.mk b/objective-c/test/Ice/defaultServant/Makefile.mk
new file mode 100644
index 00000000000..5dd995a54f0
--- /dev/null
+++ b/objective-c/test/Ice/defaultServant/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = DefaultServantTest.ice Client.m TestI.m
+
+tests += $(test)
diff --git a/objective-c/test/Ice/defaultServant/MyObjectI.h b/objective-c/test/Ice/defaultServant/TestI.h
index 00100e84e38..00100e84e38 100644
--- a/objective-c/test/Ice/defaultServant/MyObjectI.h
+++ b/objective-c/test/Ice/defaultServant/TestI.h
diff --git a/objective-c/test/Ice/defaultServant/MyObjectI.m b/objective-c/test/Ice/defaultServant/TestI.m
index 4f88566738f..8d74f41ec30 100644
--- a/objective-c/test/Ice/defaultServant/MyObjectI.m
+++ b/objective-c/test/Ice/defaultServant/TestI.m
@@ -8,7 +8,7 @@
// **********************************************************************
#import <objc/Ice.h>
-#import <defaultServant/MyObjectI.h>
+#import <defaultServant/TestI.h>
@implementation TestDefaultServantMyObjectI
@@ -20,7 +20,7 @@
{
@throw [ICEObjectNotExistException objectNotExistException:__FILE__ line:__LINE__];
}
-
+
if([name isEqualToString:@"FacetNotExist"])
{
@throw [ICEFacetNotExistException facetNotExistException:__FILE__ line:__LINE__];
@@ -35,7 +35,7 @@
{
@throw [ICEObjectNotExistException objectNotExistException:__FILE__ line:__LINE__];
}
-
+
if([name isEqualToString:@"FacetNotExist"])
{
@throw [ICEFacetNotExistException facetNotExistException:__FILE__ line:__LINE__];
diff --git a/objective-c/test/Ice/defaultServant/run.py b/objective-c/test/Ice/defaultServant/run.py
index 531e9a77c70..1a758d84c41 100755
--- a/objective-c/test/Ice/defaultServant/run.py
+++ b/objective-c/test/Ice/defaultServant/run.py
@@ -20,6 +20,5 @@ if len(path) == 0:
sys.path.append(os.path.join(path[0], "scripts"))
import TestUtil
-client = os.path.join(os.getcwd(), "client")
-
+client = os.path.join(os.getcwd(), TestUtil.getTestExecutable("client"))
TestUtil.simpleTest(client)
diff --git a/objective-c/test/Ice/defaultValue/.gitignore b/objective-c/test/Ice/defaultValue/.gitignore
deleted file mode 100644
index e4c2ca683a3..00000000000
--- a/objective-c/test/Ice/defaultValue/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-.depend
-DefaultValueTest.m
-DefaultValueTest.h
diff --git a/objective-c/test/Ice/defaultValue/Makefile b/objective-c/test/Ice/defaultValue/Makefile
deleted file mode 100644
index ef66a7cf3b3..00000000000
--- a/objective-c/test/Ice/defaultValue/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-
-TARGETS = $(CLIENT)
-
-SLICE_OBJS = DefaultValueTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-OBJS = $(COBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/defaultValue/run.py b/objective-c/test/Ice/defaultValue/run.py
index e9c0c1069e0..1a758d84c41 100755
--- a/objective-c/test/Ice/defaultValue/run.py
+++ b/objective-c/test/Ice/defaultValue/run.py
@@ -20,5 +20,5 @@ if len(path) == 0:
sys.path.append(os.path.join(path[0], "scripts"))
import TestUtil
-client = os.path.join(os.getcwd(), "client")
+client = os.path.join(os.getcwd(), TestUtil.getTestExecutable("client"))
TestUtil.simpleTest(client)
diff --git a/objective-c/test/Ice/dispatcher/.gitignore b/objective-c/test/Ice/dispatcher/.gitignore
deleted file mode 100644
index 6d0e4a9258e..00000000000
--- a/objective-c/test/Ice/dispatcher/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-collocated
-.depend
-DispatcherTest.m
-DispatcherTest.h
diff --git a/objective-c/test/Ice/dispatcher/Makefile b/objective-c/test/Ice/dispatcher/Makefile
deleted file mode 100644
index d2ed0b9263a..00000000000
--- a/objective-c/test/Ice/dispatcher/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-COLLOCATED = collocated
-
-TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
-
-SLICE_OBJS = DispatcherTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-COLOBJS = Collocated.o \
- TestI.o \
- AllTests.o
-
-OBJS = $(COBJS) $(SOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(COLLOCATED): $(COLOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COLOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/enums/.gitignore b/objective-c/test/Ice/enums/.gitignore
deleted file mode 100644
index 657ea9d677b..00000000000
--- a/objective-c/test/Ice/enums/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-.depend
-EnumTest.m
-EnumTest.h
diff --git a/objective-c/test/Ice/enums/Makefile b/objective-c/test/Ice/enums/Makefile
deleted file mode 100644
index e28a351013b..00000000000
--- a/objective-c/test/Ice/enums/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = EnumTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-OBJS = $(COBJS) $(SOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/exceptions/.gitignore b/objective-c/test/Ice/exceptions/.gitignore
deleted file mode 100644
index 2d0da9fe75b..00000000000
--- a/objective-c/test/Ice/exceptions/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-collocated
-.depend
-ExceptionsTest.m
-ExceptionsTest.h
diff --git a/objective-c/test/Ice/exceptions/Makefile b/objective-c/test/Ice/exceptions/Makefile
deleted file mode 100644
index 1542ec208ac..00000000000
--- a/objective-c/test/Ice/exceptions/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-COLLOCATED = collocated
-
-TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
-
-SLICE_OBJS = ExceptionsTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-COLOBJS = Collocated.o \
- TestI.o \
- AllTests.o
-
-OBJS = $(COBJS) $(SOBJS) $(COLOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(COLLOCATED): $(COLOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COLOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/facets/.gitignore b/objective-c/test/Ice/facets/.gitignore
deleted file mode 100644
index 461935cd9dd..00000000000
--- a/objective-c/test/Ice/facets/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-collocated
-.depend
-FacetsTest.m
-FacetsTest.h
diff --git a/objective-c/test/Ice/facets/Makefile b/objective-c/test/Ice/facets/Makefile
deleted file mode 100644
index 6f2bfcfc764..00000000000
--- a/objective-c/test/Ice/facets/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-COLLOCATED = collocated
-
-TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
-
-SLICE_OBJS = FacetsTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-COLOBJS = Collocated.o \
- TestI.o \
- AllTests.o
-
-OBJS = $(COBJS) $(SOBJS) $(COLOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(COLLOCATED): $(COLOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COLOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/faultTolerance/.gitignore b/objective-c/test/Ice/faultTolerance/.gitignore
deleted file mode 100644
index 17e70af0964..00000000000
--- a/objective-c/test/Ice/faultTolerance/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-.depend
-FaultToleranceTest.m
-FaultToleranceTest.h
diff --git a/objective-c/test/Ice/faultTolerance/Makefile b/objective-c/test/Ice/faultTolerance/Makefile
deleted file mode 100644
index e80cb986647..00000000000
--- a/objective-c/test/Ice/faultTolerance/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = FaultToleranceTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-OBJS = $(COBJS) $(SOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/faultTolerance/run.py b/objective-c/test/Ice/faultTolerance/run.py
index 1235d32e145..ae2406f22cf 100755
--- a/objective-c/test/Ice/faultTolerance/run.py
+++ b/objective-c/test/Ice/faultTolerance/run.py
@@ -20,8 +20,8 @@ if len(path) == 0:
sys.path.append(os.path.join(path[0], "scripts"))
import TestUtil
-server = os.path.join(os.getcwd(), "server")
-client = os.path.join(os.getcwd(), "client")
+server = os.path.join(os.getcwd(), TestUtil.getTestExecutable("server"))
+client = os.path.join(os.getcwd(),TestUtil.getTestExecutable("client"))
num = 12
base = 13340
diff --git a/objective-c/test/Ice/hash/.gitignore b/objective-c/test/Ice/hash/.gitignore
deleted file mode 100644
index be837f9fdf3..00000000000
--- a/objective-c/test/Ice/hash/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-.depend
-HashTest.m
-HashTest.h
diff --git a/objective-c/test/Ice/hash/Makefile b/objective-c/test/Ice/hash/Makefile
deleted file mode 100644
index 9544909ff45..00000000000
--- a/objective-c/test/Ice/hash/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-
-TARGETS = $(CLIENT)
-
-SLICE_OBJS = HashTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-OBJS = $(COBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/hash/run.py b/objective-c/test/Ice/hash/run.py
index e9c0c1069e0..1a758d84c41 100755
--- a/objective-c/test/Ice/hash/run.py
+++ b/objective-c/test/Ice/hash/run.py
@@ -20,5 +20,5 @@ if len(path) == 0:
sys.path.append(os.path.join(path[0], "scripts"))
import TestUtil
-client = os.path.join(os.getcwd(), "client")
+client = os.path.join(os.getcwd(), TestUtil.getTestExecutable("client"))
TestUtil.simpleTest(client)
diff --git a/objective-c/test/Ice/hold/.gitignore b/objective-c/test/Ice/hold/.gitignore
deleted file mode 100644
index 4e573bb9e5f..00000000000
--- a/objective-c/test/Ice/hold/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-.depend
-HoldTest.m
-HoldTest.h
diff --git a/objective-c/test/Ice/hold/Makefile b/objective-c/test/Ice/hold/Makefile
deleted file mode 100644
index fca5b3b3a13..00000000000
--- a/objective-c/test/Ice/hold/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = HoldTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-OBJS = $(COBJS) $(SOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/info/.gitignore b/objective-c/test/Ice/info/.gitignore
deleted file mode 100644
index 23a7fa22453..00000000000
--- a/objective-c/test/Ice/info/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-.depend
-InfoTest.m
-InfoTest.h
diff --git a/objective-c/test/Ice/info/Makefile b/objective-c/test/Ice/info/Makefile
deleted file mode 100644
index eacf7bb07bf..00000000000
--- a/objective-c/test/Ice/info/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = InfoTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-OBJS = $(COBJS) $(SOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(ICESSL_LIBS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(ICESSL_LIBS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/info/Makefile.mk b/objective-c/test/Ice/info/Makefile.mk
new file mode 100644
index 00000000000..1eb49a51484
--- /dev/null
+++ b/objective-c/test/Ice/info/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_dependencies = IceSSLObjC IceObjC TestCommonObjC
+
+tests += $(test)
diff --git a/objective-c/test/Ice/inheritance/.gitignore b/objective-c/test/Ice/inheritance/.gitignore
deleted file mode 100644
index 400a2a0d5c4..00000000000
--- a/objective-c/test/Ice/inheritance/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-collocated
-.depend
-InheritanceTest.m
-InheritanceTest.h
diff --git a/objective-c/test/Ice/inheritance/Makefile b/objective-c/test/Ice/inheritance/Makefile
deleted file mode 100644
index acbd52626d3..00000000000
--- a/objective-c/test/Ice/inheritance/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-COLLOCATED = collocated
-
-TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
-
-SLICE_OBJS = InheritanceTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-COLOBJS = Collocated.o \
- TestI.o \
- AllTests.o
-
-OBJS = $(COBJS) $(SOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(COLLOCATED): $(COLOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COLOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/interceptor/.gitignore b/objective-c/test/Ice/interceptor/.gitignore
deleted file mode 100644
index a7aee74ccef..00000000000
--- a/objective-c/test/Ice/interceptor/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-.depend
-InterceptorTest.m
-InterceptorTest.h
diff --git a/objective-c/test/Ice/interceptor/Makefile b/objective-c/test/Ice/interceptor/Makefile
deleted file mode 100644
index b8c2b6c7a0a..00000000000
--- a/objective-c/test/Ice/interceptor/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-
-TARGETS = $(CLIENT)
-
-SLICE_OBJS = InterceptorTest.o
-
-COBJS = Client.o \
- InterceptorI.o \
- MyObjectI.o \
-
-OBJS = $(COBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/interceptor/Makefile.mk b/objective-c/test/Ice/interceptor/Makefile.mk
new file mode 100644
index 00000000000..418b12b1791
--- /dev/null
+++ b/objective-c/test/Ice/interceptor/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = InterceptorTest.ice Client.m InterceptorI.m MyObjectI.m
+
+tests += $(test)
diff --git a/objective-c/test/Ice/interceptor/run.py b/objective-c/test/Ice/interceptor/run.py
index 6e7a80d5387..89a12690b41 100755
--- a/objective-c/test/Ice/interceptor/run.py
+++ b/objective-c/test/Ice/interceptor/run.py
@@ -20,6 +20,6 @@ if len(path) == 0:
sys.path.append(os.path.join(path[0], "scripts"))
import TestUtil
-client = os.path.join(os.getcwd(), "client")
+client = os.path.join(os.getcwd(), TestUtil.getTestExecutable("client"))
TestUtil.simpleTest(client, " --Ice.Warn.Dispatch=0")
diff --git a/objective-c/test/Ice/invoke/.gitignore b/objective-c/test/Ice/invoke/.gitignore
deleted file mode 100644
index 76608e6287a..00000000000
--- a/objective-c/test/Ice/invoke/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-.depend
-InvokeTest.m
-InvokeTest.h
diff --git a/objective-c/test/Ice/invoke/Makefile b/objective-c/test/Ice/invoke/Makefile
deleted file mode 100644
index f487d5820dd..00000000000
--- a/objective-c/test/Ice/invoke/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = InvokeTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = BlobjectI.o \
- Server.o
-
-OBJS = $(COBJS) $(SOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/invoke/Makefile.mk b/objective-c/test/Ice/invoke/Makefile.mk
new file mode 100644
index 00000000000..74f8e291504
--- /dev/null
+++ b/objective-c/test/Ice/invoke/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_server_sources = InvokeTest.ice Server.m BlobjectI.m
+
+tests += $(test)
diff --git a/objective-c/test/Ice/location/.gitignore b/objective-c/test/Ice/location/.gitignore
deleted file mode 100644
index cd321e6c61d..00000000000
--- a/objective-c/test/Ice/location/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-.depend
-LocationTest.m
-LocationTest.h
diff --git a/objective-c/test/Ice/location/Makefile b/objective-c/test/Ice/location/Makefile
deleted file mode 100644
index 11af0dfd676..00000000000
--- a/objective-c/test/Ice/location/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = LocationTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- ServerLocator.o \
- Server.o
-
-OBJS = $(COBJS) $(SOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/location/Makefile.mk b/objective-c/test/Ice/location/Makefile.mk
new file mode 100644
index 00000000000..3d9e3fe04e3
--- /dev/null
+++ b/objective-c/test/Ice/location/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_server_sources = LocationTest.ice ServerLocator.m Server.m TestI.m
+
+tests += $(test)
diff --git a/objective-c/test/Ice/metrics/.gitignore b/objective-c/test/Ice/metrics/.gitignore
deleted file mode 100644
index 919d41acc0f..00000000000
--- a/objective-c/test/Ice/metrics/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-.depend
-MetricsTest.m
-MetricsTest.h
diff --git a/objective-c/test/Ice/metrics/Makefile b/objective-c/test/Ice/metrics/Makefile
deleted file mode 100644
index cafd38c8d78..00000000000
--- a/objective-c/test/Ice/metrics/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = MetricsTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-OBJS = $(COBJS) $(SOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/objects/.gitignore b/objective-c/test/Ice/objects/.gitignore
deleted file mode 100644
index 77d9ac7c381..00000000000
--- a/objective-c/test/Ice/objects/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-collocated
-.depend
-ObjectsTest.m
-ObjectsTest.h
diff --git a/objective-c/test/Ice/objects/Makefile b/objective-c/test/Ice/objects/Makefile
deleted file mode 100644
index 982021970a3..00000000000
--- a/objective-c/test/Ice/objects/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-COLLOCATED = collocated
-
-TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
-
-SLICE_OBJS = ObjectsTest.o
-
-COBJS = Client.o \
- TestI.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-COLOBJS = Collocated.o \
- TestI.o \
- AllTests.o
-
-OBJS = $(COBJS) $(SOBJS) $(COLOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(COLLOCATED): $(COLOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COLOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/objects/Makefile.mk b/objective-c/test/Ice/objects/Makefile.mk
new file mode 100644
index 00000000000..0af578fcd8b
--- /dev/null
+++ b/objective-c/test/Ice/objects/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = $(test-client-sources) TestI.m
+
+tests += $(test)
diff --git a/objective-c/test/Ice/operations/.gitignore b/objective-c/test/Ice/operations/.gitignore
deleted file mode 100644
index 0b3e86fe293..00000000000
--- a/objective-c/test/Ice/operations/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-collocated
-.depend
-OperationsTest.m
-OperationsTest.h
diff --git a/objective-c/test/Ice/operations/Makefile b/objective-c/test/Ice/operations/Makefile
deleted file mode 100644
index b585f1df164..00000000000
--- a/objective-c/test/Ice/operations/Makefile
+++ /dev/null
@@ -1,61 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-COLLOCATED = collocated
-
-TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
-
-SLICE_OBJS = OperationsTest.o
-
-COBJS = Client.o \
- AllTests.o \
- Twoways.o \
- TwowaysNewAMI.o \
- Oneways.o \
- OnewaysNewAMI.o \
- BatchOneways.o \
- BatchOnewaysAMI.o
-
-SOBJS = TestI.o \
- Server.o
-
-COLOBJS = Collocated.o \
- TestI.o \
- AllTests.o \
- Twoways.o \
- TwowaysNewAMI.o \
- Oneways.o \
- OnewaysNewAMI.o \
- BatchOneways.o \
- BatchOnewaysAMI.o
-
-OBJS = $(COBJS) \
- $(SOBJS) \
- $(COLOBJS) \
- $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(COLLOCATED): $(COLOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COLOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/operations/Makefile.mk b/objective-c/test/Ice/operations/Makefile.mk
new file mode 100644
index 00000000000..511d0ea22e1
--- /dev/null
+++ b/objective-c/test/Ice/operations/Makefile.mk
@@ -0,0 +1,18 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = $(test-client-sources) \
+ Twoways.m \
+ TwowaysNewAMI.m \
+ Oneways.m \
+ OnewaysNewAMI.m \
+ BatchOneways.m \
+ BatchOnewaysAMI.m
+
+tests += $(test)
diff --git a/objective-c/test/Ice/optional/.gitignore b/objective-c/test/Ice/optional/.gitignore
deleted file mode 100644
index 7096f056538..00000000000
--- a/objective-c/test/Ice/optional/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-.depend
-OptionalTest.m
-OptionalTest.h
diff --git a/objective-c/test/Ice/optional/Makefile b/objective-c/test/Ice/optional/Makefile
deleted file mode 100644
index f0a1de3602c..00000000000
--- a/objective-c/test/Ice/optional/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = OptionalTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-OBJS = $(COBJS) $(SOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/proxy/.gitignore b/objective-c/test/Ice/proxy/.gitignore
deleted file mode 100644
index ced1dc09cab..00000000000
--- a/objective-c/test/Ice/proxy/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-collocated
-.depend
-ProxyTest.m
-ProxyTest.h
diff --git a/objective-c/test/Ice/proxy/Makefile b/objective-c/test/Ice/proxy/Makefile
deleted file mode 100644
index 9dc52591251..00000000000
--- a/objective-c/test/Ice/proxy/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-COLLOCATED = collocated
-
-TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
-
-SLICE_OBJS = ProxyTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-COLOBJS = Collocated.o \
- TestI.o \
- AllTests.o
-
-OBJS = $(COBJS) $(SOBJS) $(COLOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(COLLOCATED): $(COLOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COLOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/retry/.gitignore b/objective-c/test/Ice/retry/.gitignore
deleted file mode 100644
index 5559f16dfd5..00000000000
--- a/objective-c/test/Ice/retry/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-collocated
-.depend
-RetryTest.m
-RetryTest.h
diff --git a/objective-c/test/Ice/retry/Makefile b/objective-c/test/Ice/retry/Makefile
deleted file mode 100644
index e38b533bb92..00000000000
--- a/objective-c/test/Ice/retry/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-COLLOCATED = collocated
-
-TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
-
-SLICE_OBJS = RetryTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-COLOBJS = Collocated.o \
- TestI.o \
- AllTests.o
-
-OBJS = $(COBJS) $(SOBJS) $(COLOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(COLLOCATED): $(COLOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COLOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/servantLocator/.gitignore b/objective-c/test/Ice/servantLocator/.gitignore
deleted file mode 100644
index e092f9d23a4..00000000000
--- a/objective-c/test/Ice/servantLocator/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-collocated
-.depend
-ServantLocatorTest.m
-ServantLocatorTest.h
diff --git a/objective-c/test/Ice/servantLocator/Makefile b/objective-c/test/Ice/servantLocator/Makefile
deleted file mode 100644
index c314fc6b4ff..00000000000
--- a/objective-c/test/Ice/servantLocator/Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-COLLOCATED = collocated
-
-TARGETS = $(CLIENT) $(SERVER) $(COLLOCATED)
-
-SLICE_OBJS = ServantLocatorTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- ServantLocatorI.o \
- Server.o
-
-COLOBJS = TestI.o \
- ServantLocatorI.o \
- AllTests.o \
- Collocated.o
-
-OBJS = $(COBJS) $(SOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(COLLOCATED): $(COLOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COLOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/servantLocator/Makefile.mk b/objective-c/test/Ice/servantLocator/Makefile.mk
new file mode 100644
index 00000000000..c1ec1c9e544
--- /dev/null
+++ b/objective-c/test/Ice/servantLocator/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_server_sources = $(test-server-sources) ServantLocatorI.m
+
+tests += $(test)
diff --git a/objective-c/test/Ice/services/.gitignore b/objective-c/test/Ice/services/.gitignore
deleted file mode 100644
index 67ac8b78837..00000000000
--- a/objective-c/test/Ice/services/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-.depend
-ServicesTest.m
-ServicesTest.h
diff --git a/objective-c/test/Ice/services/Makefile b/objective-c/test/Ice/services/Makefile
deleted file mode 100644
index 26a112bc1a7..00000000000
--- a/objective-c/test/Ice/services/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-
-TARGETS = $(CLIENT)
-
-SLICE_OBJS = ServicesTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-OBJS = $(COBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-LIBS := -lGlacier2ObjC$(libsuffix) -lIceStormObjC$(libsuffix) -lIceGridObjC$(libsuffix) $(TEST_LIBS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/services/Makefile.mk b/objective-c/test/Ice/services/Makefile.mk
new file mode 100644
index 00000000000..31ad2e36ff8
--- /dev/null
+++ b/objective-c/test/Ice/services/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_dependencies = IceObjC IceGridObjC Glacier2ObjC IceStormObjC TestCommonObjC
+
+tests += $(test)
diff --git a/objective-c/test/Ice/services/run.py b/objective-c/test/Ice/services/run.py
index e9c0c1069e0..1a758d84c41 100755
--- a/objective-c/test/Ice/services/run.py
+++ b/objective-c/test/Ice/services/run.py
@@ -20,5 +20,5 @@ if len(path) == 0:
sys.path.append(os.path.join(path[0], "scripts"))
import TestUtil
-client = os.path.join(os.getcwd(), "client")
+client = os.path.join(os.getcwd(), TestUtil.getTestExecutable("client"))
TestUtil.simpleTest(client)
diff --git a/objective-c/test/Ice/slicing/Makefile b/objective-c/test/Ice/slicing/Makefile
deleted file mode 100644
index 72c46f59793..00000000000
--- a/objective-c/test/Ice/slicing/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = exceptions objects
-
-$(EVERYTHING)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
diff --git a/objective-c/test/Ice/slicing/exceptions/.gitignore b/objective-c/test/Ice/slicing/exceptions/.gitignore
deleted file mode 100644
index 0962671d892..00000000000
--- a/objective-c/test/Ice/slicing/exceptions/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-.depend
-SlicingExceptionsTestClient.m
-SlicingExceptionsTestServer.m
-SlicingExceptionsTestClient.h
-SlicingExceptionsTestServer.h
diff --git a/objective-c/test/Ice/slicing/exceptions/Makefile b/objective-c/test/Ice/slicing/exceptions/Makefile
deleted file mode 100644
index c4ea9a213c0..00000000000
--- a/objective-c/test/Ice/slicing/exceptions/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = SlicingExceptionsTestClient.o \
- SlicingExceptionsTestServer.o
-
-COBJS = Client.o \
- AllTests.o \
- SlicingExceptionsTestClient.o
-
-SOBJS = TestI.o \
- Server.o \
- SlicingExceptionsTestServer.o
-
-OBJS = $(COBJS) $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../.. -I../../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/slicing/exceptions/Makefile.mk b/objective-c/test/Ice/slicing/exceptions/Makefile.mk
new file mode 100644
index 00000000000..367557c7243
--- /dev/null
+++ b/objective-c/test/Ice/slicing/exceptions/Makefile.mk
@@ -0,0 +1,13 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = Client.m AllTests.m SlicingExceptionsTestClient.ice
+$(test)_server_sources = Server.m TestI.m SlicingExceptionsTestServer.ice
+
+tests += $(test)
diff --git a/objective-c/test/Ice/slicing/objects/.gitignore b/objective-c/test/Ice/slicing/objects/.gitignore
deleted file mode 100644
index a2c2a1c0974..00000000000
--- a/objective-c/test/Ice/slicing/objects/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-.depend
-SlicingObjectsTestClient.m
-SlicingObjectsForwardClient.m
-SlicingObjectsTestServer.m
-SlicingObjectsForwardServer.m
-SlicingObjectsTestClient.h
-SlicingObjectsForwardClient.h
-SlicingObjectsTestServer.h
-SlicingObjectsForwardServer.h
diff --git a/objective-c/test/Ice/slicing/objects/Makefile b/objective-c/test/Ice/slicing/objects/Makefile
deleted file mode 100644
index ecb4b076570..00000000000
--- a/objective-c/test/Ice/slicing/objects/Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = SlicingObjectsTestClient.o \
- SlicingObjectsForwardClient.o \
- SlicingObjectsTestServer.o \
- SlicingObjectsForwardServer.o
-
-COBJS = SlicingObjectsTestClient.o \
- SlicingObjectsForwardClient.o \
- Client.o \
- AllTests.o
-
-SOBJS = SlicingObjectsTestServer.o \
- SlicingObjectsForwardServer.o \
- TestI.o \
- Server.o
-
-OBJS = $(COBJS) $(SOBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../.. -I../../../include $(CPPFLAGS)
-SLICE2OBJCFLAGS := -I. $(SLICE2OBJCFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/slicing/objects/Makefile.mk b/objective-c/test/Ice/slicing/objects/Makefile.mk
new file mode 100644
index 00000000000..fc51d7abd24
--- /dev/null
+++ b/objective-c/test/Ice/slicing/objects/Makefile.mk
@@ -0,0 +1,13 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = Client.m AllTests.m SlicingObjectsTestClient.ice SlicingObjectsForwardClient.ice
+$(test)_server_sources = Server.m TestI.m SlicingObjectsTestServer.ice SlicingObjectsForwardServer.ice
+
+tests += $(test)
diff --git a/objective-c/test/Ice/stream/.gitignore b/objective-c/test/Ice/stream/.gitignore
deleted file mode 100644
index deeebc026e0..00000000000
--- a/objective-c/test/Ice/stream/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-.depend
-StreamTest.m
-StreamTest.h
diff --git a/objective-c/test/Ice/stream/Makefile b/objective-c/test/Ice/stream/Makefile
deleted file mode 100644
index 7ded898a63c..00000000000
--- a/objective-c/test/Ice/stream/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-
-TARGETS = $(CLIENT)
-
-SLICE_OBJS = StreamTest.o
-
-COBJS = Client.o
-
-OBJS = $(COBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Ice/stream/run.py b/objective-c/test/Ice/stream/run.py
index 21e49d630eb..06bc2ab56a0 100755
--- a/objective-c/test/Ice/stream/run.py
+++ b/objective-c/test/Ice/stream/run.py
@@ -20,7 +20,7 @@ if len(path) == 0:
sys.path.append(os.path.join(path[0], "scripts"))
import TestUtil
-client = os.path.join(os.getcwd(), "client")
+client = os.path.join(os.getcwd(), TestUtil.getTestExecutable("client"))
print("Running test with default encoding...")
TestUtil.simpleTest(client)
diff --git a/objective-c/test/Ice/timeout/.gitignore b/objective-c/test/Ice/timeout/.gitignore
deleted file mode 100644
index 1c18b9822c2..00000000000
--- a/objective-c/test/Ice/timeout/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-server
-.depend
-TimeoutTest.m
-TimeoutTest.h
diff --git a/objective-c/test/Ice/timeout/Makefile b/objective-c/test/Ice/timeout/Makefile
deleted file mode 100644
index adc7d61f1a6..00000000000
--- a/objective-c/test/Ice/timeout/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-SERVER = server
-
-TARGETS = $(CLIENT) $(SERVER)
-
-SLICE_OBJS = TimeoutTest.o
-
-COBJS = Client.o \
- AllTests.o
-
-SOBJS = TestI.o \
- Server.o
-
-OBJS = $(COBJS) $(SOBJS) $(SLICE_OBJS)
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(COBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(COBJS) $(SLICE_OBJS) $(TEST_LIBS)
-
-$(SERVER): $(SOBJS) $(SLICE_OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(SOBJS) $(SLICE_OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Makefile b/objective-c/test/Makefile
deleted file mode 100644
index a3ea860b528..00000000000
--- a/objective-c/test/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = Common Slice Ice
-
-$(EVERYTHING)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
diff --git a/objective-c/test/Slice/Makefile b/objective-c/test/Slice/Makefile
deleted file mode 100644
index 6b8f727d665..00000000000
--- a/objective-c/test/Slice/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = keyword
-
-$(EVERYTHING)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
diff --git a/objective-c/test/Slice/keyword/.gitignore b/objective-c/test/Slice/keyword/.gitignore
deleted file mode 100644
index f5c78eb09c4..00000000000
--- a/objective-c/test/Slice/keyword/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Generated by makegitignore.py
-
-// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-client
-.depend
-Key.m
-Inherit.m
-Key.h
-Inherit.h
diff --git a/objective-c/test/Slice/keyword/Makefile b/objective-c/test/Slice/keyword/Makefile
deleted file mode 100644
index 67bed4487f1..00000000000
--- a/objective-c/test/Slice/keyword/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../../..
-
-CLIENT = client
-
-TARGETS = $(CLIENT)
-
-SLICE_OBJS = Key.o Inherit.o
-
-OBJS = $(SLICE_OBJS) \
- Client.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. -I../../include $(CPPFLAGS)
-
-$(CLIENT): $(OBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(OBJS) $(TEST_LIBS)
diff --git a/objective-c/test/Slice/keyword/Makefile.mk b/objective-c/test/Slice/keyword/Makefile.mk
new file mode 100644
index 00000000000..58b6122dc20
--- /dev/null
+++ b/objective-c/test/Slice/keyword/Makefile.mk
@@ -0,0 +1,12 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(test)_client_sources = Client.m Key.ice Inherit.ice
+
+tests += $(test)
diff --git a/objective-c/test/Slice/keyword/run.py b/objective-c/test/Slice/keyword/run.py
index fa46dd64e11..05a0f95cfcb 100755
--- a/objective-c/test/Slice/keyword/run.py
+++ b/objective-c/test/Slice/keyword/run.py
@@ -20,6 +20,6 @@ if len(path) == 0:
sys.path.append(os.path.join(path[0], "scripts"))
import TestUtil
-client = os.path.join(os.getcwd(), "client")
+client = os.path.join(os.getcwd(), TestUtil.getTestExecutable("client"))
TestUtil.simpleTest(client)
diff --git a/php/Makefile b/php/Makefile
index 35344832dd5..43f9632147c 100644
--- a/php/Makefile
+++ b/php/Makefile
@@ -7,35 +7,44 @@
#
# **********************************************************************
-top_srcdir = .
+top_srcdir := ..
+lang_srcdir := $(top_srcdir)/php
-include $(top_srcdir)/config/Make.rules.php
+include $(top_srcdir)/config/Make.rules
-SUBDIRS = src lib
+#
+# Load C++ dependencies
+#
+$(eval $(call load-translator-dependencies,$(top_srcdir)/cpp/src/slice2php))
+$(eval $(call load-dependencies,$(addprefix $(top_srcdir)/cpp/src/,IceUtil Slice Ice IceSSL IceDiscovery IceLocatorDiscovery)))
+
+#
+# Load php rules after loading C++ dependencies
+#
+include $(lang_srcdir)/config/Make.rules
-ifneq ($(MAKECMDGOALS),install)
-SUBDIRS := $(SUBDIRS) test
+#
+# Load Makefile.mk fragments
+#
+ifeq ($(shell [ $$(php-config --vernum) -lt 70000 ] && echo true),true)
+include $(lang_srcdir)/src/php5/Makefile.mk
+else
+include $(lang_srcdir)/src/php7/Makefile.mk
endif
-INSTALL_SUBDIRS = $(install_phpdir) $(install_libdir)
-
-install:: install-common
- @for subdir in $(INSTALL_SUBDIRS); \
- do \
- if test ! -d $(DESTDIR)$$subdir ; \
- then \
- echo "Creating $(DESTDIR)$$subdir..." ; \
- mkdir -p $(DESTDIR)$$subdir ; \
- chmod a+rx $(DESTDIR)$$subdir ; \
- fi ; \
- done
-
-$(EVERYTHING)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
-
-test::
- @python $(top_srcdir)/allTests.py
+#
+# Make the projects (this expands all the build configuration and defines rules for all
+# the components).
+#
+$(foreach p,$(projects),$(eval $(call make-project,$(p))))
+
+install:: | $(DESTDIR)$(install_phpdir)
+ $(E) "Installing generated code"
+ $(Q)$(INSTALL) $(lang_srcdir)/lib/*.php $(DESTDIR)$(install_phpdir)
+
+$(eval $(call make-php-package,$(slicedir),$(lang_srcdir)/lib,Ice))
+$(eval $(call make-php-package,$(slicedir),$(lang_srcdir)/lib,Glacier2))
+$(eval $(call make-php-package,$(slicedir),$(lang_srcdir)/lib,IceBox))
+$(eval $(call make-php-package,$(slicedir),$(lang_srcdir)/lib,IceGrid))
+$(eval $(call make-php-package,$(slicedir),$(lang_srcdir)/lib,IcePatch2))
+$(eval $(call make-php-package,$(slicedir),$(lang_srcdir)/lib,IceStorm))
diff --git a/php/config/Make.rules b/php/config/Make.rules
new file mode 100644
index 00000000000..8f150ec2271
--- /dev/null
+++ b/php/config/Make.rules
@@ -0,0 +1,84 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+# ----------------------------------------------------------------------
+# Don't change anything below this line!
+# ----------------------------------------------------------------------
+
+ifeq ($(shell php-config --libs /dev/null && echo 0),0)
+ $(error php-config not found review your PHP installation and ensure php-config is in your PATH)
+endif
+
+php_cppflags := $(shell php-config --includes)
+
+ifeq ($(os),Darwin)
+php_ldflags := ${wl}-flat_namespace ${wl}-undefined ${wl}suppress
+endif
+
+#
+# On the default platform, always write/install the module in the lib directory.
+#
+$(foreach p,$(supported-platforms),$(eval $$p_targetdir := /$$p))
+$(firstword $(supported-platforms))_targetdir :=
+$(firstword $(supported-platforms))_installdir :=
+
+#
+# PHP installation directory
+#
+install_phpdir ?= $(if $(usr_dir_install),$(prefix)/share/php,$(prefix)/php)
+install_phplibdir ?= $(if $(usr_dir_install),$(shell php -r "echo(ini_get('extension_dir'));"),$(prefix)/php)
+
+#
+# Rules to build a php module. We just compute the name of the php module
+# and delegate to make-shared-module.
+#
+mkphpmodulename ?= $(patsubst lib%,%,$(call mkshlibname,$(1)))
+make-shared-php-module = $(call make-shared-module,$(call mkphpmodulename,$1),$2,$3,$4,$5,$6,$7)
+get-shared-php-module-targets = $(call get-shared-module-targets,$(call mkphpmodulename,$1),$2)
+install-shared-php-module = $(call install-shared-module,$(call mkphpmodulename,$1),$2,$3)
+
+$(DESTDIR)$(install_phpdir):
+ $(Q)$(MKDIR) -p $@
+installdirs += $(install_phpdir)
+
+#
+# $(call make-php-package,$1=slicedir,$2=generateddir,$3=package,$4=sliceflags)
+#
+# Compile slice files from $(slicedir)/<package> to php/<package>.
+#
+define make-php-package
+
+$2/$3/.depend/%.ice.d: | $2/$3/.depend ;
+
+$2/$3/.depend:
+ $(Q)$(MKDIR) -p $$@
+
+.PRECIOUS: $2/$3/.depend/%.ice.d
+
+ifeq ($(filter %clean,$(MAKECMDGOALS)),)
+ # Include the dependencies
+ -include $(addprefix $2/$3/.depend/,$(call source-to-dependency,$(wildcard $1/$3/*.ice)))
+endif
+
+$2/$3/%.php: $1/$3/%.ice $2/$3/.depend/%.ice.d $(slice2php_path)
+ $(E) "Compiling $$<"
+ $(Q)$(slice2php_path) -I$1 --ice --output-dir $2/$3 $4 --depend $$< | \
+ sed 's/\(.*: \\\)/$(subst /,\/,$2)\/$3\/\1/' > $2/$3/.depend/$$(*F).ice.d
+ $(Q)$(slice2php_path) -I$1 --ice --output-dir $2/$3 $4 $$<
+
+clean::
+ $(E) "Cleaning package $3"
+ $(Q)$(RM) -r $2/$3/.depend
+ $(Q)$(RM) $(patsubst $1/$3/%.ice,$2/$3/%.php,$(wildcard $1/$3/*.ice))
+
+srcs all:: $(patsubst $1/$3/%.ice,$2/$3/%.php,$(wildcard $1/$3/*.ice))
+
+$$(eval $$(call install-data-files,$(patsubst $1/$3/%.ice,$2/$3/%.php,$(wildcard $1/$3/*.ice)),$2,$(install_phpdir),install))
+
+endef
diff --git a/php/config/Make.rules.mak.php b/php/config/Make.rules.mak.php
deleted file mode 100644
index ac6f6cd42fc..00000000000
--- a/php/config/Make.rules.mak.php
+++ /dev/null
@@ -1,246 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-#
-# Select an installation base directory. The directory will be created
-# if it does not exist.
-#
-
-!if "$(PREFIX)" == ""
-prefix = C:\Ice-$(VERSION)
-!else
-prefix = $(PREFIX)
-!endif
-
-#
-# Define OPTIMIZE as yes if you want to build with optimization.
-# Otherwise the Ice extension is built with debug information.
-#
-
-OPTIMIZE = yes
-
-#
-# Specify your C++ compiler. The only value currently supported to
-# build IcePHP is VC110. Leave unset for auto-detection.
-#
-#CPP_COMPILER = VCxxx
-
-#
-# Determines whether the extension uses PHP namespaces (requires
-# PHP 5.3 or later).
-#
-!if "$(USE_NAMESPACES)" == ""
-USE_NAMESPACES = no
-!endif
-
-#
-# Set PHP_HOME to your PHP source directory.
-#
-!if "$(PHP_HOME)" == ""
-PHP_HOME = C:\php-7.0.3
-!endif
-
-#
-# Set PHP_BIN_HOME to your PHP binary installation directory.
-#
-!if "$(PHP_BIN_HOME)" == ""
-!if "$(PROCESSOR_ARCHITECTURE)" == "AMD64"
-PHP_BIN_HOME = $(PROGRAMFILES) (x86)\PHP
-!else
-PHP_BIN_HOME = $(PROGRAMFILES)\PHP
-!endif
-!endif
-
-#
-# Set PHP_ZTS to "no" (or comment it out) to disable Zend Thread Safety.
-#
-!if "$(PHP_ZTS)" == ""
-PHP_ZTS = yes
-!endif
-
-#
-# If third party libraries are not installed in the default location
-# or THIRDPARTY_HOME is not set in your environment variables then
-# change the following setting to reflect the installation location.
-#
-!if "$(THIRDPARTY_HOME)" == ""
-!if "$(PROCESSOR_ARCHITECTURE)" == "AMD64"
-THIRDPARTY_HOME = $(PROGRAMFILES) (x86)\ZeroC\Ice-$(VERSION)-ThirdParty
-!else
-THIRDPARTY_HOME = $(PROGRAMFILES)\ZeroC\Ice-$(VERSION)-ThirdParty
-!endif
-!endif
-
-
-# ----------------------------------------------------------------------
-# Don't change anything below this line!
-# ----------------------------------------------------------------------
-
-#
-# Common definitions
-#
-ice_language = php
-ice_require_cpp = yes
-slice_translator = slice2php.exe
-
-!if exist ($(top_srcdir)\..\config\Make.common.rules.mak)
-!include $(top_srcdir)\..\config\Make.common.rules.mak
-!else
-!include $(top_srcdir)\config\Make.common.rules.mak
-!endif
-
-libdir = $(top_srcdir)\lib
-install_phpdir = $(prefix)\php
-install_libdir = $(prefix)\php
-
-!if exist ($(top_srcdir)\..\cpp\config\Make.rules.msvc)
-!include $(top_srcdir)\..\cpp\config\Make.rules.msvc
-!else
-!include $(top_srcdir)\config\Make.rules.msvc
-!endif
-
-libsuff = $(x64suffix)
-
-!if "$(OPTIMIZE)" != "yes"
-LIBSUFFIX = $(LIBSUFFIX)d
-RCFLAGS = -D_DEBUG
-!endif
-
-#
-# Import libraries are located automatically
-#
-ICE_LIBS =
-
-!if "$(ice_src_dist)" != ""
-ICE_CPPFLAGS = -I"$(ice_cpp_dir)\include"
-!if "$(ice_cpp_dir)" == "$(ice_dir)\cpp"
-ICE_LDFLAGS = /LIBPATH:"$(ice_cpp_dir)\lib"
-!else
-ICE_LDFLAGS = /LIBPATH:"$(ice_cpp_dir)\lib$(libsuff)"
-!endif
-!else
-ICE_CPPFLAGS = -I"$(ice_dir)\include"
-ICE_LDFLAGS = /LIBPATH:"$(ice_dir)\lib$(libsuff)"
-!endif
-
-slicedir = $(ice_dir)\slice
-
-!if "$(PHP_ZTS)" == "yes"
-PHP_LIB_PREFIX = php7ts
-!else
-PHP_LIB_PREFIX = php7
-!endif
-
-!if "$(OPTIMIZE)" != "yes"
-PHP_LDFLAGS = /LIBPATH:"$(PHP_BIN_HOME)"
-PHP_LIBS = $(PHP_LIB_PREFIX)_debug.lib IceDiscoveryd.lib IceLocatorDiscoveryd.lib
-PHP_ZEND_DEBUG = 1
-!else
-PHP_LDFLAGS = /LIBPATH:"$(PHP_BIN_HOME)\dev"
-PHP_LIBS = $(PHP_LIB_PREFIX).lib IceDiscovery.lib IceLocatorDiscovery.lib
-PHP_ZEND_DEBUG = 0
-!endif
-
-PHP_CPPFLAGS = -I"$(PHP_HOME)" -I"$(PHP_HOME)\main" -I"$(PHP_HOME)\TSRM" -I"$(PHP_HOME)\Zend" -DPHP_WIN32 -DZEND_WIN32 -DZEND_DEBUG=$(PHP_ZEND_DEBUG) -DWIN32 -DZEND_WIN32_KEEP_INLINE
-!if "$(PHP_ZTS)" == "yes"
-PHP_CPPFLAGS = $(PHP_CPPFLAGS) -DZTS
-!endif
-
-ICECPPFLAGS = -I"$(slicedir)"
-SLICE2PHPFLAGS = $(ICECPPFLAGS) $(SLICE2PHPFLAGS)
-
-!if "$(USE_NAMESPACES)" == "yes"
-CPPFLAGS = $(CPPFLAGS) -DICEPHP_USE_NAMESPACES
-SLICE2PHPFLAGS = $(SLICE2PHPFLAGS) -n
-!endif
-
-!if "$(ice_src_dist)" != ""
-!if "$(ice_cpp_dir)" == "$(ice_dir)\cpp"
-SLICE2PHP = $(ice_cpp_dir)\bin\slice2php.exe
-SLICEPARSERLIB = $(ice_cpp_dir)\lib\slice.lib
-!if !exist ("$(SLICEPARSERLIB)")
-SLICEPARSERLIB = $(ice_cpp_dir)\lib\sliced.lib
-!endif
-!else
-SLICE2PHP = $(ice_cpp_dir)\bin$(x64suffix)\slice2php.exe
-SLICEPARSERLIB = $(ice_cpp_dir)\lib$(x64suffix)\slice.lib
-!if !exist ("$(SLICEPARSERLIB)")
-SLICEPARSERLIB = $(ice_cpp_dir)\lib$(x64suffix)\sliced.lib
-!endif
-!endif
-!else
-SLICE2PHP = $(ice_dir)\bin\slice2php.exe
-SLICEPARSERLIB = $(ice_dir)\lib\slice.lib
-!endif
-
-EVERYTHING = all clean install depend
-EVERYTHING_EXCEPT_INSTALL = all clean depend
-
-.SUFFIXES:
-.SUFFIXES: .cpp .obj .php .res .rc .d .ice
-
-DEPEND_DIR = .depend.mak
-
-depend::
-
-!if exist(.depend.mak)
-depend::
- @del /q .depend.mak
-
-!include .depend.mak
-!endif
-
-!if "$(OBJS)" != ""
-
-OBJS_DEPEND = $(OBJS:.obj=.d)
-OBJS_DEPEND = $(OBJS_DEPEND:.\=.depend.mak\)
-
-depend:: $(OBJS_DEPEND)
-
-!endif
-
-!if "$(SLICE_SRCS)" != ""
-
-depend:: $(SLICE_SRCS:.ice=.d)
-
-$(SLICE_SRCS:.ice=.php): "$(SLICE2PHP)" "$(SLICEPARSERLIB)"
-
-all:: $(SLICE_SRCS:.ice=.php)
-
-clean::
- del /q $(SLICE_SRCS:.ice=.php)
-
-!endif
-
-.ice.php:
- "$(SLICE2PHP)" $(SLICE2PHPFLAGS) $<
-
-.ice.d:
- @echo Generating dependencies for $<
- @"$(SLICE2PHP)" $(SLICE2PHPFLAGS) --depend $< | \
- cscript /NoLogo $(top_srcdir)\..\config\makedepend-slice.vbs $(*F).ice
-
-.cpp{$(DEPEND_DIR)}.d:
- @echo Generating dependencies for $<
- @$(CXX) /E $(CPPFLAGS) $(CXXFLAGS) /showIncludes $< 1>$(*F).i 2>$(*F).d && \
- cscript /NoLogo $(top_srcdir)\..\config\makedepend.vbs $(*F).cpp $(top_srcdir)
- @del /q $(*F).d $(*F).i
-
-.cpp.obj::
- $(CXX) /c $(CPPFLAGS) $(CXXFLAGS) $<
-
-.rc.res:
- rc $(RCFLAGS) $<
-
-clean::
- del /q $(TARGETS) *.obj *.bak
-
-all:: $(TARGETS)
-
-install::
diff --git a/php/config/Make.rules.php b/php/config/Make.rules.php
deleted file mode 100644
index 277be398661..00000000000
--- a/php/config/Make.rules.php
+++ /dev/null
@@ -1,183 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-#
-# Select an installation base directory. The directory will be created
-# if it does not exist.
-#
-
-prefix ?= /opt/Ice-$(VERSION)
-
-#
-# The "root directory" for runpath embedded in executables. Can be set
-# to change the runpath added to Ice executables. The default is
-# platform dependent (Linux only, on OS X the embedded runpath is always
-# based on @loader_path).
-#
-#embedded_runpath_prefix ?= /opt/Ice-$(VERSION_MAJOR).$(VERSION_MINOR)
-
-#
-# Define embedded_runpath as no if you don't want any RPATH added to
-# the executables (Linux only, on OS X we always add a runpath).
-#
-embedded_runpath ?= yes
-
-#
-# Define OPTIMIZE as yes if you want to build with optimization.
-# Otherwise the Ice extension is built with debug information.
-#
-
-#OPTIMIZE = yes
-
-#
-# Define LP64 as yes if you want to build in 64 bit mode on a platform
-# that supports both 32 and 64 bit.
-#
-#LP64 := yes
-
-#
-# The values below can be overridden by defining them as environment
-# variables.
-#
-
-#
-# Determines whether the extension uses PHP namespaces (requires
-# PHP 5.3 or later).
-#
-#USE_NAMESPACES ?= yes
-
-# ----------------------------------------------------------------------
-# Don't change anything below this line!
-# ----------------------------------------------------------------------
-
-#
-# Common definitions
-#
-ice_language = php
-ice_require_cpp = yes
-slice_translator = slice2php
-
-ifeq ($(shell php-config --libs /dev/null && echo 0),0)
- $(error php-config not found review your PHP installation and ensure php-config is in your PATH)
-endif
-
-ifeq ($(shell test -f $(top_srcdir)/config/Make.common.rules && echo 0),0)
- include $(top_srcdir)/config/Make.common.rules
-else
- include $(top_srcdir)/../config/Make.common.rules
-endif
-
-libdir = $(top_srcdir)/lib
-
-ifndef usr_dir_install
- install_phpdir = $(prefix)/php
- install_libdir = $(prefix)/php
-else
- install_phpdir = $(prefix)/share/php
- install_libdir = $(shell php -r "echo(ini_get('extension_dir'));")
-endif
-
-ifdef ice_src_dist
- RPATH_DIR = $(LOADER_PATH)/../../cpp/$(libsubdir)
-else
- RPATH_DIR = $(ice_dir)/$(libdir)
-endif
-
-install_bindir = $(prefix)/$(binsubdir)
-
-#
-# Platform specific definitions
-#
-ifeq ($(shell test -f $(top_srcdir)/config/Make.rules.$(UNAME) && echo 0),0)
- configdir = $(top_srcdir)/config
-else
- configdir = $(top_srcdir)/../cpp/config
-endif
-include $(configdir)/Make.rules.$(UNAME)
-
-ifdef ice_src_dist
- ICE_LIB_DIR = -L$(ice_cpp_dir)/$(libsubdir)
- ICE_FLAGS = -I$(ice_cpp_dir)/include
-else
- ICE_LIB_DIR = -L$(ice_dir)/lib$(lp64suffix)
- ICE_FLAGS = -I$(ice_dir)/include
-endif
-ICE_LIBS = $(ICE_LIB_DIR) -lIce -lIceSSL -lIceDiscovery -lIceLocatorDiscovery -lSlice -lIceUtil
-
-ifneq ($(embedded_runpath_prefix),)
- runpath_libdir := $(embedded_runpath_prefix)/lib$(lp64suffix)
-endif
-
-CPPFLAGS =
-ICECPPFLAGS = -I$(slicedir)
-SLICE2PHPFLAGS := $(SLICE2PHPFLAGS) $(ICECPPFLAGS)
-LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)
-
-ifeq ("$(USE_NAMESPACES)","yes")
- CPPFLAGS := $(CPPFLAGS) -DICEPHP_USE_NAMESPACES
- SLICE2PHPFLAGS := $(SLICE2PHPFLAGS) -n
-endif
-
-ifdef ice_src_dist
- SLICE2PHP = $(ice_cpp_dir)/$(binsubdir)/slice2php
- SLICEPARSERLIB = $(ice_cpp_dir)/$(libsubdir)/$(call mklibfilename,Slice,$(VERSION))
- ifeq ($(wildcard $(SLICEPARSERLIB)),)
- SLICEPARSERLIB = $(ice_cpp_dir)/$(lib64subdir)/$(call mklibfilename,Slice,$(VERSION))
- endif
-else
- SLICE2PHP = $(ice_dir)/$(binsubdir)/slice2php
- SLICEPARSERLIB = $(ice_dir)/$(libsubdir)/$(call mksoname,Slice)
- ifeq ($(wildcard $(SLICEPARSERLIB)),)
- SLICEPARSERLIB = $(ice_dir)/$(lib64subdir)/$(call mksoname,Slice)
- endif
-endif
-
-ifeq ($(installphplib),)
- installphplib = $(INSTALL) $(1) $(2); \
- chmod a+rx $(2)/$(notdir $(1))
-endif
-
-#
-# We don't need the "lib" prefix.
-#
-mkphplibname = $(subst lib,,$(call mklibname,$(1)))
-
-EVERYTHING = all clean install
-
-.SUFFIXES:
-.SUFFIXES: .cpp .o .ice .php
-
-$(SLICE_SRCS:.ice=.php): $(SLICE2PHP) $(SLICEPARSERLIB)
-all:: $(SLICE_SRCS:.ice=.php)
-
-%.php: %.ice
- $(SLICE2PHP) $(SLICE2PHPFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2PHP) $(SLICE2PHPFLAGS) --depend $< > .depend/$(*F).ice.d
-
-.cpp.o:
- $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $<
- @mkdir -p .depend
- @$(CXX) -DMAKEDEPEND -MM $(CXXFLAGS) $(CPPFLAGS) $< > .depend/$(*F).d
-
-clean::
- -rm -f $(TARGETS)
- -rm -f core *.o *.bak
- -rm -rf .depend
-
-ifneq ($(SLICE_SRCS),)
-clean::
- -rm -f $(SLICE_SRCS:.ice=.php)
-endif
-
-all:: $(TARGETS)
-
-include $(wildcard .depend/*.d)
-
-install::
diff --git a/php/lib/Makefile b/php/lib/Makefile
deleted file mode 100644
index ec28cc056f1..00000000000
--- a/php/lib/Makefile
+++ /dev/null
@@ -1,172 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ..
-
-include $(top_srcdir)/config/Make.rules.php
-
-#
-# IMPORTANT: If you add or remove Slice files, you also need to check Ice.php!
-#
-ICE_SRCS = Ice/LocalException.php \
- Ice/Communicator.php \
- Ice/CommunicatorF.php \
- Ice/Logger.php \
- Ice/LoggerF.php \
- Ice/BuiltinSequences.php \
- Ice/ObjectAdapterF.php \
- Ice/PropertiesAdmin.php \
- Ice/Properties.php \
- Ice/PropertiesF.php \
- Ice/ObjectFactory.php \
- Ice/Identity.php \
- Ice/Current.php \
- Ice/ImplicitContextF.php \
- Ice/ImplicitContext.php \
- Ice/RemoteLogger.php \
- Ice/Router.php \
- Ice/RouterF.php \
- Ice/Plugin.php \
- Ice/PluginF.php \
- Ice/Locator.php \
- Ice/LocatorF.php \
- Ice/Process.php \
- Ice/ProcessF.php \
- Ice/FacetMap.php \
- Ice/Connection.php \
- Ice/ConnectionF.php \
- Ice/SliceChecksumDict.php \
- Ice/Endpoint.php \
- Ice/EndpointF.php \
- Ice/EndpointTypes.php \
- Ice/Version.php \
- Ice/InstrumentationF.php \
- Ice/Instrumentation.php \
- Ice/Metrics.php \
- Ice/ValueFactory.php
-
-#
-# IMPORTANT: If you add or remove Slice files, you also need to check Glacier2.php!
-#
-GLACIER2_SRCS = Glacier2/RouterF.php \
- Glacier2/Router.php \
- Glacier2/Session.php \
- Glacier2/PermissionsVerifierF.php \
- Glacier2/PermissionsVerifier.php \
- Glacier2/SSLInfo.php \
- Glacier2/Metrics.php
-
-#
-# IMPORTANT: If you add or remove Slice files, you also need to check IceBox.php!
-#
-ICEBOX_SRCS = IceBox/IceBox.php
-
-#
-# IMPORTANT: If you add or remove Slice files, you also need to check IceGrid.php!
-#
-ICEGRID_SRCS = IceGrid/Admin.php \
- IceGrid/Descriptor.php \
- IceGrid/Exception.php \
- IceGrid/FileParser.php \
- IceGrid/Registry.php \
- IceGrid/Session.php \
- IceGrid/UserAccountMapper.php
-
-#
-# IMPORTANT: If you add or remove Slice files, you also need to check IcePatch2.php!
-#
-ICEPATCH2_SRCS = IcePatch2/FileInfo.php \
- IcePatch2/FileServer.php
-
-#
-# IMPORTANT: If you add or remove Slice files, you also need to check IceStorm.php!
-#
-ICESTORM_SRCS = IceStorm/IceStorm.php \
- IceStorm/Metrics.php
-
-ALL_SRCS = $(ICE_SRCS) \
- $(GLACIER2_SRCS) \
- $(ICEBOX_SRCS) \
- $(ICEGRID_SRCS) \
- $(ICEPATCH2_SRCS) \
- $(ICESTORM_SRCS)
-
-ICE_SLICE = $(patsubst %.php,$(slicedir)/%.ice,$(ICE_SRCS))
-GLACIER2_SLICE = $(patsubst %.php,$(slicedir)/%.ice,$(GLACIER2_SRCS))
-ICEBOX_SLICE = $(patsubst %.php,$(slicedir)/%.ice,$(ICEBOX_SRCS))
-ICEGRID_SLICE = $(patsubst %.php,$(slicedir)/%.ice,$(ICEGRID_SRCS))
-ICEPATCH2_SLICE = $(patsubst %.php,$(slicedir)/%.ice,$(ICEPATCH2_SRCS))
-ICESTORM_SLICE = $(patsubst %.php,$(slicedir)/%.ice,$(ICESTORM_SRCS))
-
-MODULES = Glacier2 Ice IceBox IceGrid IcePatch2 IceStorm
-ifeq ("$(USE_NAMESPACES)","yes")
-MODULE_SRCS = Glacier2.php Ice_ns.php IceBox.php IceGrid.php IcePatch2.php IceStorm.php
-else
-MODULE_SRCS = Glacier2.php Ice.php IceBox.php IceGrid.php IcePatch2.php IceStorm.php
-endif
-
-all:: $(ALL_SRCS)
-
-SLICE2PHPFLAGS += --ice
-
-Ice/%.php: $(slicedir)/Ice/%.ice $(SLICE2PHP) $(SLICEPARSERLIB)
- @mkdir -p $(notdir $(<D))
- $(SLICE2PHP) --output-dir Ice $(SLICE2PHPFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2PHP) --output-dir Ice $(SLICE2PHPFLAGS) --depend $< \
- | sed 's/\(.*: \\\)/Ice\/\1/' > .depend/Ice_$(*F).ice.d
-
-Glacier2/%.php: $(slicedir)/Glacier2/%.ice $(SLICE2PHP) $(SLICEPARSERLIB)
- @mkdir -p $(notdir $(<D))
- $(SLICE2PHP) --output-dir Glacier2 $(SLICE2PHPFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2PHP) --output-dir Glacier2 $(SLICE2PHPFLAGS) --depend $< \
- | sed 's/\(.*: \\\)/Glacier2\/\1/' > .depend/Glacier2_$(*F).ice.d
-
-IceBox/%.php: $(slicedir)/IceBox/%.ice $(SLICE2PHP) $(SLICEPARSERLIB)
- @mkdir -p $(notdir $(<D))
- $(SLICE2PHP) --output-dir IceBox $(SLICE2PHPFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2PHP) --output-dir IceBox $(SLICE2PHPFLAGS) --depend $< \
- | sed 's/\(.*: \\\)/IceBox\/\1/' > .depend/IceBox_$(*F).ice.d
-
-IceGrid/%.php: $(slicedir)/IceGrid/%.ice $(SLICE2PHP) $(SLICEPARSERLIB)
- @mkdir -p $(notdir $(<D))
- $(SLICE2PHP) --output-dir IceGrid $(SLICE2PHPFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2PHP) --output-dir IceGrid $(SLICE2PHPFLAGS) --depend $< \
- | sed 's/\(.*: \\\)/IceGrid\/\1/' > .depend/IceGrid_$(*F).ice.d
-
-IcePatch2/%.php: $(slicedir)/IcePatch2/%.ice $(SLICE2PHP) $(SLICEPARSERLIB)
- @mkdir -p $(notdir $(<D))
- $(SLICE2PHP) --output-dir IcePatch2 $(SLICE2PHPFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2PHP) --output-dir IcePatch2 $(SLICE2PHPFLAGS) --depend $< \
- | sed 's/\(.*: \\\)/IcePatch2\/\1/' > .depend/IcePatch2_$(*F).ice.d
-
-IceStorm/%.php: $(slicedir)/IceStorm/%.ice $(SLICE2PHP) $(SLICEPARSERLIB)
- @mkdir -p $(notdir $(<D))
- $(SLICE2PHP) --output-dir $(notdir $(<D)) $(SLICE2PHPFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2PHP) --output-dir IceStorm $(SLICE2PHPFLAGS) --depend $< \
- | sed 's/\(.*: \\\)/IceStorm\/\1/' > .depend/IceStorm_$(*F).ice.d
-
-install:: $(ALL_SRCS)
- @echo "Installing generated code"
- @for i in $(MODULES) ; \
- do \
- $(INSTALL_DATA) -r $$i $(DESTDIR)$(install_phpdir) ; \
- done
- @for i in $(MODULE_SRCS) ; \
- do \
- $(INSTALL_DATA) $$i $(DESTDIR)$(install_phpdir) ; \
- done
-
-clean::
- rm -rf $(MODULES)
diff --git a/php/src/Makefile b/php/src/Makefile
deleted file mode 100644
index 35c7560b47d..00000000000
--- a/php/src/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ..
-
-include $(top_srcdir)/config/Make.rules.php
-
-ifeq ($(shell echo $(shell php-config --vernum)\>=70000 | bc),1)
-SUBDIRS = php7
-else
-SUBDIRS = php5
-endif
-
-$(EVERYTHING)::
- @for subdir in $(SUBDIRS); \
- do \
- if test -d $$subdir ; \
- then \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- fi; \
- done
diff --git a/php/src/php5/Makefile b/php/src/php5/Makefile
deleted file mode 100644
index 8f1f7fe3bae..00000000000
--- a/php/src/php5/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBNAME = $(call mkphplibname,IcePHP)
-SONAME = $(LIBNAME)
-
-TARGETS = $(libdir)/$(LIBNAME)
-
-OBJS = Communicator.o \
- Connection.o \
- Endpoint.o \
- Init.o \
- Logger.o \
- Operation.o \
- Properties.o \
- Proxy.o \
- Types.o \
- Util.o
-
-include $(top_srcdir)/config/Make.rules.php
-
-CPPFLAGS := -I. $(CPPFLAGS) $(ICE_FLAGS) $(shell php-config --includes)
-
-LINKWITH := $(ICE_LIBS) $(CXXLIBS)
-
-$(libdir)/$(LIBNAME): $(OBJS)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-install:: all
- $(call installphplib,$(libdir)/$(LIBNAME),$(DESTDIR)$(install_libdir))
diff --git a/php/src/php5/Makefile.mk b/php/src/php5/Makefile.mk
new file mode 100644
index 00000000000..12b4b0003c0
--- /dev/null
+++ b/php/src/php5/Makefile.mk
@@ -0,0 +1,21 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries := IcePHP
+
+IcePHP_target := php-module
+IcePHP_targetname := IcePHP
+IcePHP_targetdir := $(lang_srcdir)/lib
+IcePHP_installdir := $(install_phplibdir)
+IcePHP_cppflags := -I$(project) -I$(top_srcdir)/cpp/include -I$(top_srcdir)/cpp/include/generated $(php_cppflags)
+IcePHP_ldflags := $(php_ldflags)
+IcePHP_dependencies := IceDiscovery IceLocatorDiscovery IceSSL Ice Slice IceUtil
+
+projects += $(project)
+srcs:: $(project) \ No newline at end of file
diff --git a/php/src/php7/Makefile.mk b/php/src/php7/Makefile.mk
new file mode 100644
index 00000000000..12b4b0003c0
--- /dev/null
+++ b/php/src/php7/Makefile.mk
@@ -0,0 +1,21 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries := IcePHP
+
+IcePHP_target := php-module
+IcePHP_targetname := IcePHP
+IcePHP_targetdir := $(lang_srcdir)/lib
+IcePHP_installdir := $(install_phplibdir)
+IcePHP_cppflags := -I$(project) -I$(top_srcdir)/cpp/include -I$(top_srcdir)/cpp/include/generated $(php_cppflags)
+IcePHP_ldflags := $(php_ldflags)
+IcePHP_dependencies := IceDiscovery IceLocatorDiscovery IceSSL Ice Slice IceUtil
+
+projects += $(project)
+srcs:: $(project) \ No newline at end of file
diff --git a/python/Makefile b/python/Makefile
index c97dfb8e75f..6234987fe37 100644
--- a/python/Makefile
+++ b/python/Makefile
@@ -7,31 +7,44 @@
#
# **********************************************************************
-top_srcdir = .
+top_srcdir := ..
+lang_srcdir := $(top_srcdir)/python
include $(top_srcdir)/config/Make.rules
-SUBDIRS = modules python
-
-INSTALL_SUBDIRS = $(install_pythondir) $(install_libdir)
-
-install:: install-common
- @for subdir in $(INSTALL_SUBDIRS); \
- do \
- if test ! -d $(DESTDIR)$$subdir ; \
- then \
- echo "Creating $(DESTDIR)$$subdir..." ; \
- mkdir -p $(DESTDIR)$$subdir ; \
- chmod a+rx $(DESTDIR)$$subdir ; \
- fi ; \
- done
-
-$(EVERYTHING)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
-
-test::
- @python $(top_srcdir)/allTests.py
+#
+# Load C++ dependencies
+#
+$(eval $(call load-dependencies,$(addprefix $(top_srcdir)/cpp/src/,IceUtil Slice Ice IceSSL)))
+
+#
+# Load python rules after loading C++ dependencies
+#
+include $(lang_srcdir)/config/Make.rules
+
+#
+# Load Makefile.mk fragments
+#
+include $(shell find $(lang_srcdir) -name Makefile.mk)
+
+#
+# Make the projects (this expands all the build configuration and defines rules for all
+# the components).
+#
+$(foreach p,$(projects),$(eval $(call make-project,$(p))))
+
+#
+# We use a separate Makefile for building the python packages because their building
+# requires .NOTPARALLEL
+#
+all::
+ $(Q)$(MAKE) -C python all
+
+clean::
+ $(Q)$(MAKE) -C python clean
+
+distclean::
+ $(Q)$(MAKE) -C python clean
+
+install::
+ $(Q)$(MAKE) -C python install
diff --git a/python/config/Make.rules b/python/config/Make.rules
index cb359c5a547..e53a271c9de 100644
--- a/python/config/Make.rules
+++ b/python/config/Make.rules
@@ -8,184 +8,93 @@
# **********************************************************************
#
-# Select an installation base directory. The directory will be created
-# if it does not exist.
+# If multiple versions of Python are installed and you want a specific
+# version to be used for building the Ice extension, set PYTHON to the
+# location of the python interpreter.
#
-prefix ?= /opt/Ice-$(VERSION)
+PYTHON ?= python
-#
-# The "root directory" for runpath embedded in executables. Can be set
-# to change the runpath added to Ice executables. The default is
-# platform dependent (Linux only, on OS X the embedded runpath is always
-# based on @loader_path).
-#
-#embedded_runpath_prefix ?= /opt/Ice-$(VERSION_MAJOR).$(VERSION_MINOR)
+# ----------------------------------------------------------------------
+# Don't change anything below this line!
+# ----------------------------------------------------------------------
-#
-# Define embedded_runpath as no if you don't want any RPATH added to
-# the executables (Linux only, on OS X we always add a runpath).
-#
-embedded_runpath ?= yes
+python-call = $(shell $(PYTHON) -c "import sys; import distutils.sysconfig as ds; sys.stdout.write($1)")
-#
-# Define OPTIMIZE as yes if you want to build with optimization.
-# Otherwise the Ice extension is built with debug information.
-#
+PYTHON_VERSION ?= python$(PYTHON_BASE_VERSION)
+PYTHON_BASE_VERSION ?= $(call python-call,ds.get_python_version())
+PYTHON_INCLUDE_DIR ?= $(call python-call,ds.get_python_inc())
+PYTHON_LIB_DIR ?= $(call python-call,ds.get_config_var('LIBPL'))
+PYTHON_LIB_SUFFIX ?= $(call python-call,sys.__dict__['abiflags'] if 'abiflags' in sys.__dict__ else '')
+PYTHON_LIB_NAME ?= $(PYTHON_VERSION)$(PYTHON_LIB_SUFFIX)
-#OPTIMIZE = yes
+python_cppflags := -I$(PYTHON_INCLUDE_DIR)
+python_ldflags := -L$(PYTHON_LIB_DIR) -l$(PYTHON_LIB_NAME)
#
-# Define LP64 as yes if you want to build in 64 bit mode on a platform
-# that supports both 32 and 64 bit.
+# On the default platform, always write the module in the python directory.
#
-#LP64 := yes
+$(foreach p,$(supported-platforms),$(eval $$p_targetdir := /$$p))
+$(firstword $(supported-platforms))_targetdir :=
#
-# The values below can be overridden by defining them as environment
-# variables.
+# Python installation directory
#
+install_pythondir = $(if $(usr_dir_install),$(shell $(PYTHON) $(lang_srcdir)/config/install_dir),$(prefix)/python)
#
-# If multiple versions of Python are installed and you want a specific
-# version used for building the Ice extension, then set PYTHON to
-# the specific to the location of the python interpreter.
+# Rules to build a python module. We just compute the name of the python module
+# and delegate to make-shared-module.
#
-PYTHON ?= python
-
-PYTHON_VERSION ?= python$(shell $(PYTHON) -c "import sys; import distutils.sysconfig as ds; sys.stdout.write(ds.get_python_version())")
-
-PYTHON_BASE_VERSION ?= $(shell $(PYTHON) -c "import sys; import distutils.sysconfig as ds; sys.stdout.write(ds.get_python_version())")
-
-PYTHON_INCLUDE_DIR ?= $(shell $(PYTHON) -c "import sys; import distutils.sysconfig as ds; sys.stdout.write(ds.get_python_inc())")
+mkpymodulename ?= $(patsubst lib%,%,$(call mkshlibname,$(1)))
+make-shared-python-module = $(call make-shared-module,$(call mkpymodulename,$1),$2,$3,$4,$5,$6,$7)
+get-shared-python-module-targets = $(call get-shared-module-targets,$(call mkpymodulename,$1),$2)
+install-shared-python-module = $(call install-shared-module,$(call mkpymodulename,$1),$2,$3)
-PYTHON_LIB_DIR ?= $(shell $(PYTHON) -c "import sys; import distutils.sysconfig as ds; sys.stdout.write(ds.get_config_var('LIBPL'))")
-
-PYTHON_LIB_SUFFIX ?= $(shell $(PYTHON) -c "import sys; sys.stdout.write(sys.__dict__['abiflags'] if 'abiflags' in sys.__dict__ else '')")
-
-PYTHON_LIB_NAME ?= $(PYTHON_VERSION)$(PYTHON_LIB_SUFFIX)
-
-PYTHON_FLAGS ?= -I$(PYTHON_INCLUDE_DIR)
-PYTHON_LIBS ?= -L$(PYTHON_LIB_DIR) -l$(PYTHON_LIB_NAME)
+$(DESTDIR)$(install_pythondir):
+ $(Q)$(MKDIR) -p $@
+installdirs += $(install_pythondir)
#
-# The build architectures for gcc based builds. The format of these
-# build flags are OS dependent. For example, under OS X to build
-# binaries which support both i386 and x86_64 you would use "-arch
-# i386 -arch x86_64". The default is OS version dependent. Be aware
-# that this value may conflict with the setting of LP64 above.
-#
-#CXXARCHFLAGS = -arch i386 -arch x86_64
-
-# ----------------------------------------------------------------------
-# Don't change anything below this line!
-# ----------------------------------------------------------------------
-
+# $(call make-python-package,$1=slicedir,$2=generateddir,$3=package,$4=sliceflags)
#
-# Common definitions
+# Compile slice files from $(slicedir)/<package> to python/<package>.
#
-ice_language = python
-ice_require_cpp = yes
+define make-python-package
-ifeq ($(shell test -f $(top_srcdir)/config/Make.common.rules && echo 0),0)
- include $(top_srcdir)/config/Make.common.rules
-else
- include $(top_srcdir)/../config/Make.common.rules
-endif
+$2/$3/.depend/%.ice.d: | $2/$3/.depend ;
-install_bindir = $(prefix)/$(binsubdir)
+$2/$3/.depend:
+ $(Q)$(MKDIR) -p $$@
-#
-# Platform specific definitions
-#
-ifeq ($(shell test -f $(top_srcdir)/config/Make.rules.$(UNAME) && echo 0),0)
- include $(top_srcdir)/config/Make.rules.$(UNAME)
-else
- include $(top_srcdir)/../cpp/config/Make.rules.$(UNAME)
-endif
+.PRECIOUS: $2/$3/.depend/%.ice.d
-libdir = $(top_srcdir)/python
-
-ifndef usr_dir_install
- install_pythondir = $(prefix)/python
- install_libdir = $(prefix)/python
-else
- #
- # The install_dir script says where python wants site-packages installed.
- #
- install_pythondir = $(shell $(PYTHON) $(top_srcdir)/config/install_dir)
- install_libdir = $(install_pythondir)
+ifeq ($(filter %clean,$(MAKECMDGOALS)),)
+ # Include the dependencies
+ -include $(addprefix $2/.depend/,$(call source-to-dependency,$(wildcard $1/$3/*.ice)))
endif
-ifeq ($(UNAME),SunOS)
- ifeq ($(LP64),yes)
- libdir = $(top_srcdir)/python$(lp64suffix)
- install_libdir = $(prefix)/python$(lp64suffix)
- endif
-endif
+$$(eval $$(call make-python-slice,$1,$2,$3,,$4))
-ifdef ice_src_dist
- ICE_LIB_DIR = -L$(ice_cpp_dir)/$(libsubdir)
- ICE_FLAGS = -I$(ice_cpp_dir)/include
-else
- ICE_LIB_DIR = -L$(ice_dir)/$(libsubdir)
- ICE_FLAGS = -I$(ice_dir)/include
-endif
-ICE_LIBS = $(ICE_LIB_DIR) -lIceSSL -lIce -lSlice -lIceUtil
-
-CPPFLAGS =
-ICECPPFLAGS = -I$(slicedir)
-SLICE2PYFLAGS = $(ICECPPFLAGS)
-LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)
-
-ifdef ice_src_dist
- SLICE2PY = $(PYTHON) $(top_srcdir)/config/s2py.py
- SLICEPARSERLIB = $(ice_cpp_dir)/$(libsubdir)/$(call mklibfilename,Slice,$(VERSION))
- ifeq ($(wildcard $(SLICEPARSERLIB)),)
- SLICEPARSERLIB = $(ice_cpp_dir)/$(lib64subdir)/$(call mklibfilename,Slice,$(VERSION))
- endif
-else
- ifeq ($(UNAME),Darwin)
- SLICE2PY = /usr/local/bin/slice2py
- else
- SLICE2PY = $(shell $(PYTHON) -c "import os, sys, slice2py; sys.stdout.write(os.path.normpath(os.path.join(slice2py.__file__, '..', '..', '..', '..', 'bin', 'slice2py')))")
- endif
- SLICEPARSERLIB =
-endif
-
-#
-# A Python extension library cannot have a "lib" prefix, so Python-specific
-# functions are defined that strip "lib" from the regular library name.
-#
-mkpylibfilename = $(subst dy,dylib,$(subst lib,,$(call mklibfilename,$(1),$(2))))
-mkpysoname = $(subst dy,dylib,$(subst lib,,$(call mksoname,$(1),$(2))))
-mkpylibname = $(subst dy,dylib,$(subst lib,,$(call mklibname,$(1))))
-
-EVERYTHING = all depend clean install
-
-.SUFFIXES:
-.SUFFIXES: .cpp .o .py
-
-all:: $(SRCS)
+clean::
+ $(E) "Cleaning package $3"
+ $(Q)$(RM) -r $2/$3/.depend
+ $(Q)$(if $(findstring --no-package,$4),,$(RM) $2/$3/.__init__.py)
+ $(Q)$(RM) $(patsubst $1/$3/%.ice,$2/$3_%_ice.py,$(wildcard $1/$3/*.ice))
-%_ice.py: $(slicedir)/%.ice
- rm -f $(*F).py
- $(SLICE2PY) $(SLICE2PYFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2PY) $(SLICE2PYFLAGS) $< > .depend/$(*F).ice.d
+srcs all:: $(patsubst $1/$3/%.ice,$2/$3_%_ice.py,$(wildcard $1/$3/*.ice))
-.cpp.o:
- $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $<
- @mkdir -p .depend
- @$(CXX) -DMAKEDEPEND -MM $(CPPFLAGS) $< > .depend/$(*F).d
+$$(eval $$(call install-data-files,$(patsubst $1/$3/%.ice,$2/$3_%_ice.py,$(wildcard $1/$3/*.ice)),$2,$(install_pythondir),install))
-clean::
- -rm -f $(TARGETS)
- -rm -f core *.o *.pyc *.bak
- -rm -rf __pycache__
- -rm -rf .depend
+endef
-all:: $(SRCS) $(TARGETS)
+#
+# $(call make-python-slice,$1=slicedir,$2=generateddir,$3=package,$4=file,$5=sliceflags)
+#
+define make-python-slice
-include $(wildcard .depend/*.d)
+$2/$3_$(or $4,%)_ice.py: $1/$3/$(or $4,%).ice $2/$3/.depend/$(or $4,%).ice.d $(slice2py_path)
+ $(E) "Compiling $$<"
+ $(Q)$(slice2py_path) -I$1 --ice --output-dir $2 $5 --depend $$< > $2/$3/.depend/$(or $4,$$(*F)).ice.d
+ $(Q)$(slice2py_path) -I$1 --ice --output-dir $2 --prefix $3_ --checksum $5 $$<
-install::
+endef
diff --git a/python/config/Make.rules.Darwin b/python/config/Make.rules.Darwin
deleted file mode 100644
index f75dd963278..00000000000
--- a/python/config/Make.rules.Darwin
+++ /dev/null
@@ -1,48 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-#
-# This file is included by Make.rules when uname is Darwin.
-#
-
-include $(top_srcdir)/../cpp/config/Make.rules.$(UNAME)
-
-shlibldflags += $(LDEXEFLAGS)
-
-mksoname = $(if $(2),lib$(1).$(2).so,lib$(1).so)
-mklibname = lib$(1).so
-
-mkshlib = $(CXX) -dynamiclib $(shlibldflags) -o $(1) -install_name @rpath/$(2) $(3) $(4)
-
-ifneq ($(STATICLIBS),yes)
- #
- # Set RPATH to the cpp/lib directory or Ice installation lib directory. Note that unlike Linux
- # platforms, we always set the RPATH for source builds on OS X. This is required because we
- # can no longer rely on DYLD_LIBRARY_PATH on El Capitan. The RPATH is updated when the library
- # is installed (see cpp/config/Make.rules.Darwin).
- #
- ifdef ice_src_dist
- RPATH_DIR = @loader_path/../../cpp/$(libsubdir)
- else
- RPATH_DIR = $(ice_dir)/$(libsubdir)
- endif
-
- #
- # Update the RPATH to the installation lib directory when installing a library instead
- # of relying on the RPATH set during the build (which isn't correct anymore for the
- # installation directly layout).
- #
- ifneq ($(embedded_runpath_prefix),)
- installlib += ; install_name_tool -rpath $(RPATH_DIR) $(embedded_runpath_prefix)/lib $(1)/$(3)
- else ifdef usr_dir_install
- installlib += ; install_name_tool -delete_rpath $(RPATH_DIR) $(1)/$(3)
- else ifdef ice_src_dist
- installlib += ; install_name_tool -rpath $(RPATH_DIR) @loader_path/../$(libsubdir) $(1)/$(3)
- endif
-endif
diff --git a/python/config/Make.rules.Linux b/python/config/Make.rules.Linux
deleted file mode 100644
index baf7eac507f..00000000000
--- a/python/config/Make.rules.Linux
+++ /dev/null
@@ -1,27 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-#
-# This file is itself included by Make.rules
-#
-
-include $(top_srcdir)/../cpp/config/Make.rules.$(UNAME)
-
-ifeq ($(CXX),g++)
- ifeq ($(OPTIMIZE),yes)
- #
- # Necessary to avoid warnings for Python < 3.x
- #
- ifneq ($(findstring $(PYTHON_BASE_VERSION),2.6 2.7),)
- CXXFLAGS += -fno-strict-aliasing
- endif
- endif
-endif
-
-mkshlib = $(CXX) -shared $(LDFLAGS) $(LDEXEFLAGS) -o $(1) -Wl,-h,$(2) $(3) $(4) -lpthread
diff --git a/python/modules/IcePy/Makefile b/python/modules/IcePy/Makefile
deleted file mode 100644
index a5dc3eaa6b3..00000000000
--- a/python/modules/IcePy/Makefile
+++ /dev/null
@@ -1,58 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mkpylibfilename,IcePy,$(VERSION))
-SONAME = $(call mkpysoname,IcePy,$(SOVERSION))
-LIBNAME = $(call mkpylibname,IcePy)
-
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME))
-
-OBJS = BatchRequestInterceptor.o \
- Communicator.o \
- Connection.o \
- ConnectionInfo.o \
- Current.o \
- Endpoint.o \
- EndpointInfo.o \
- ImplicitContext.o \
- Init.o \
- Logger.o \
- ObjectAdapter.o \
- Operation.o \
- Properties.o \
- PropertiesAdmin.o \
- Proxy.o \
- Slice.o \
- Thread.o \
- Types.o \
- Util.o \
- ValueFactoryManager.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. $(CPPFLAGS) $(ICE_FLAGS) $(PYTHON_FLAGS)
-
-LINKWITH := $(ICE_LIBS) $(PYTHON_LIBS) $(CXXLIBS)
-
-$(libdir)/$(LIBFILENAME): $(OBJS)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)/$(LIBNAME): $(libdir)/$(SONAME)
- rm -f $@
- ln -s $(SONAME) $@
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/python/modules/IcePy/Makefile.mk b/python/modules/IcePy/Makefile.mk
new file mode 100644
index 00000000000..641e749363e
--- /dev/null
+++ b/python/modules/IcePy/Makefile.mk
@@ -0,0 +1,21 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries := IcePy
+
+IcePy_target := python-module
+IcePy_targetname := IcePy
+IcePy_targetdir := $(lang_srcdir)/python
+IcePy_installdir := $(install_pythondir)
+IcePy_cppflags := -I$(project) -I$(top_srcdir)/cpp/include -I$(top_srcdir)/cpp/include/generated $(python_cppflags)
+IcePy_ldflags := $(python_ldflags)
+IcePy_dependencies := IceSSL Ice Slice IceUtil
+
+projects += $(project)
+srcs:: $(project) \ No newline at end of file
diff --git a/python/modules/Makefile b/python/modules/Makefile
deleted file mode 100644
index bafd6fcbd5a..00000000000
--- a/python/modules/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = IcePy
-
-$(EVERYTHING)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
diff --git a/python/python/Makefile b/python/python/Makefile
index 23ff20cdd3b..4c14002bfe6 100644
--- a/python/python/Makefile
+++ b/python/python/Makefile
@@ -7,147 +7,32 @@
#
# **********************************************************************
-top_srcdir = ..
+top_srcdir := ../..
+lang_srcdir := $(top_srcdir)/python
include $(top_srcdir)/config/Make.rules
+include $(lang_srcdir)/config/Make.rules
#
-# Parallel builds are not supported because multiple executions of slice2py could
-# attempt to modify the __init__.py file simultaneously.
+# Load C++ dependencies
#
-.NOTPARALLEL:
-
-ICE_SRCS = Ice_BuiltinSequences_ice.py \
- Ice_Communicator_ice.py \
- Ice_CommunicatorF_ice.py \
- Ice_Connection_ice.py \
- Ice_ConnectionF_ice.py \
- Ice_Current_ice.py \
- Ice_Endpoint_ice.py \
- Ice_EndpointF_ice.py \
- Ice_EndpointTypes_ice.py \
- Ice_FacetMap_ice.py \
- Ice_Identity_ice.py \
- Ice_ImplicitContext_ice.py \
- Ice_ImplicitContextF_ice.py \
- Ice_Instrumentation_ice.py \
- Ice_InstrumentationF_ice.py \
- Ice_LocalException_ice.py \
- Ice_Locator_ice.py \
- Ice_LocatorF_ice.py \
- Ice_Logger_ice.py \
- Ice_LoggerF_ice.py \
- Ice_Metrics_ice.py \
- Ice_ObjectAdapter_ice.py \
- Ice_ObjectAdapterF_ice.py \
- Ice_ObjectFactory_ice.py \
- Ice_Plugin_ice.py \
- Ice_PluginF_ice.py \
- Ice_Process_ice.py \
- Ice_ProcessF_ice.py \
- Ice_Properties_ice.py \
- Ice_PropertiesAdmin_ice.py \
- Ice_PropertiesF_ice.py \
- Ice_RemoteLogger_ice.py \
- Ice_Router_ice.py \
- Ice_RouterF_ice.py \
- Ice_ServantLocator_ice.py \
- Ice_ServantLocatorF_ice.py \
- Ice_SliceChecksumDict_ice.py \
- Ice_ValueFactory_ice.py \
- Ice_Version_ice.py
-
-GLACIER2_SRCS = Glacier2_Metrics_ice.py \
- Glacier2_PermissionsVerifier_ice.py \
- Glacier2_PermissionsVerifierF_ice.py \
- Glacier2_Router_ice.py \
- Glacier2_RouterF_ice.py \
- Glacier2_Session_ice.py \
- Glacier2_SSLInfo_ice.py
-
-ICEBOX_SRCS = IceBox_IceBox_ice.py
-
-ICEGRID_SRCS = IceGrid_Admin_ice.py \
- IceGrid_Descriptor_ice.py \
- IceGrid_Exception_ice.py \
- IceGrid_FileParser_ice.py \
- IceGrid_Registry_ice.py \
- IceGrid_Session_ice.py \
- IceGrid_UserAccountMapper_ice.py
-
-ICEPATCH2_SRCS = IcePatch2_FileInfo_ice.py \
- IcePatch2_FileServer_ice.py
-
-ICESTORM_SRCS = IceStorm_IceStorm_ice.py \
- IceStorm_Metrics_ice.py
-
-ALL_SRCS = $(ICE_SRCS) \
- $(GLACIER2_SRCS) \
- $(ICEBOX_SRCS) \
- $(ICEGRID_SRCS) \
- $(ICEPATCH2_SRCS) \
- $(ICESTORM_SRCS)
-
-ICE_SLICE = $(patsubst Ice_%_ice.py,$(slicedir)/Ice/%.ice,$(ICE_SRCS))
-GLACIER2_SLICE = $(patsubst Glacier2_%_ice.py,$(slicedir)/Glacier2/%.ice,$(GLACIER2_SRCS))
-ICEBOX_SLICE = $(patsubst IceBox_%_ice.py,$(slicedir)/IceBox/%.ice,$(ICEBOX_SRCS))
-ICEGRID_SLICE = $(patsubst IceGrid_%_ice.py,$(slicedir)/IceGrid/%.ice,$(ICEGRID_SRCS))
-ICEPATCH2_SLICE = $(patsubst IcePatch2_%_ice.py,$(slicedir)/IcePatch2/%.ice,$(ICEPATCH2_SRCS))
-ICESTORM_SLICE = $(patsubst IceStorm_%_ice.py,$(slicedir)/IceStorm/%.ice,$(ICESTORM_SRCS))
+$(eval $(call load-translator-dependencies,$(top_srcdir)/cpp/src/slice2py))
-PACKAGES = IceBox IceGrid IcePatch2 IceStorm IceMX
-
-all:: $(ALL_SRCS)
-
-SLICE2PYFLAGS += --ice
-
-Ice_%_ice.py: $(slicedir)/Ice/%.ice $(SLICEPARSERLIB)
- $(SLICE2PY) --prefix Ice_ --no-package $(SLICE2PYFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2PY) --prefix Ice_ --no-package $(SLICE2PYFLAGS) --depend $< > .depend/$(*F).ice.d
-
-Ice_Metrics_ice.py: $(slicedir)/Ice/Metrics.ice $(SLICEPARSERLIB)
- $(SLICE2PY) --prefix Ice_ --checksum $(SLICE2PYFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2PY) --prefix Ice_ --checksum $(SLICE2PYFLAGS) --depend $< > .depend/$(*F).ice.d
-
-Glacier2_%_ice.py: $(slicedir)/Glacier2/%.ice $(SLICEPARSERLIB)
- $(SLICE2PY) --prefix Glacier2_ --no-package --checksum $(SLICE2PYFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2PY) --prefix Glacier2_ --no-package --checksum $(SLICE2PYFLAGS) --depend $< > .depend/$(*F).ice.d
-
-Glacier2_Metrics_ice.py: $(slicedir)/Glacier2/Metrics.ice $(SLICEPARSERLIB)
- $(SLICE2PY) --prefix Glacier2_ --checksum $(SLICE2PYFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2PY) --prefix Glacier2_ --checksum $(SLICE2PYFLAGS) --depend $< > .depend/$(*F).ice.d
-
-IceBox_%_ice.py: $(slicedir)/IceBox/%.ice $(SLICEPARSERLIB)
- $(SLICE2PY) --prefix IceBox_ --checksum $(SLICE2PYFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2PY) --prefix IceBox_ --checksum $(SLICE2PYFLAGS) --depend $< > .depend/$(*F).ice.d
-
-IceGrid_%_ice.py: $(slicedir)/IceGrid/%.ice $(SLICEPARSERLIB)
- $(SLICE2PY) --prefix IceGrid_ --checksum $(SLICE2PYFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2PY) --prefix IceGrid_ --checksum $(SLICE2PYFLAGS) --depend $< > .depend/$(*F).ice.d
+.NOTPARALLEL:
-IcePatch2_%_ice.py: $(slicedir)/IcePatch2/%.ice $(SLICEPARSERLIB)
- $(SLICE2PY) --prefix IcePatch2_ --checksum $(SLICE2PYFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2PY) --prefix IcePatch2_ --checksum $(SLICE2PYFLAGS) --depend $< > .depend/$(*F).ice.d
+install:: | $(DESTDIR)$(install_pythondir)
+ $(E) "Installing generated code"
+ $(Q)$(INSTALL) *.py $(DESTDIR)$(install_pythondir)
-IceStorm_%_ice.py: $(slicedir)/IceStorm/%.ice $(SLICEPARSERLIB)
- $(SLICE2PY) --prefix IceStorm_ --checksum $(SLICE2PYFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2PY) --prefix IceStorm_ --checksum $(SLICE2PYFLAGS) --depend $< > .depend/$(*F).ice.d
+$(eval $(call make-python-package,$(slicedir),$(lang_srcdir)/python,Ice,--no-package))
+$(eval $(call make-python-package,$(slicedir),$(lang_srcdir)/python,Glacier2,--no-package))
+$(eval $(call make-python-package,$(slicedir),$(lang_srcdir)/python,IceBox))
+$(eval $(call make-python-package,$(slicedir),$(lang_srcdir)/python,IceGrid))
+$(eval $(call make-python-package,$(slicedir),$(lang_srcdir)/python,IcePatch2))
+$(eval $(call make-python-package,$(slicedir),$(lang_srcdir)/python,IceStorm))
-install:: $(ALL_SRCS)
- @echo "Installing generated code"
- $(INSTALL_DATA) *.py $(DESTDIR)$(install_pythondir)
- @for i in $(PACKAGES) ; \
- do \
- $(INSTALL_DATA) -r $$i $(DESTDIR)$(install_pythondir) ; \
- done
+# Generate this two files individually without the --no-package option to ensure the
+# IceMX package is updated.
+$(eval $(call make-python-slice,$(slicedir),$(lang_srcdir)/python,Ice,Metrics))
+$(eval $(call make-python-slice,$(slicedir),$(lang_srcdir)/python,Glacier2,Metrics))
-clean::
- rm -rf $(PACKAGES) *_ice.py
diff --git a/ruby/Makefile b/ruby/Makefile
index fd6b54b730e..db1ac0eb7a4 100644
--- a/ruby/Makefile
+++ b/ruby/Makefile
@@ -7,31 +7,39 @@
#
# **********************************************************************
-top_srcdir = .
+top_srcdir := ..
+lang_srcdir := $(top_srcdir)/ruby
include $(top_srcdir)/config/Make.rules
-SUBDIRS = src ruby
-
-INSTALL_SUBDIRS = $(install_rubydir) $(install_libdir)
-
-install:: install-common
- @for subdir in $(INSTALL_SUBDIRS); \
- do \
- if test ! -d $(DESTDIR)$$subdir ; \
- then \
- echo "Creating $(DESTDIR)$$subdir..." ; \
- mkdir -p $(DESTDIR)$$subdir ; \
- chmod a+rx $(DESTDIR)$$subdir ; \
- fi ; \
- done
-
-$(EVERYTHING)::
- @for subdir in $(SUBDIRS); \
- do \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- done
-
-test::
- @python $(top_srcdir)/allTests.py
+#
+# Load C++ dependencies
+#
+$(eval $(call load-dependencies,$(addprefix $(top_srcdir)/cpp/src/,IceUtil Slice Ice IceSSL)))
+
+#
+# Load ruby rules after loading C++ dependencies
+#
+include $(lang_srcdir)/config/Make.rules
+
+#
+# Load Makefile.mk fragments
+#
+include $(shell find $(lang_srcdir) -name Makefile.mk)
+
+#
+# Make the projects (this expands all the build configuration and defines rules for all
+# the components).
+#
+$(foreach p,$(projects),$(eval $(call make-project,$(p))))
+
+install:: | $(DESTDIR)$(install_rubydir)
+ $(E) "Installing generated code"
+ $(Q)$(INSTALL) $(lang_srcdir)/ruby/*.rb $(DESTDIR)$(install_rubydir)
+
+$(eval $(call make-ruby-package,$(slicedir),$(lang_srcdir)/ruby,Ice))
+$(eval $(call make-ruby-package,$(slicedir),$(lang_srcdir)/ruby,Glacier2))
+$(eval $(call make-ruby-package,$(slicedir),$(lang_srcdir)/ruby,IceBox))
+$(eval $(call make-ruby-package,$(slicedir),$(lang_srcdir)/ruby,IceGrid))
+$(eval $(call make-ruby-package,$(slicedir),$(lang_srcdir)/ruby,IcePatch2))
+$(eval $(call make-ruby-package,$(slicedir),$(lang_srcdir)/ruby,IceStorm))
diff --git a/ruby/config/Make.rules b/ruby/config/Make.rules
index de8f5b9acc0..4d9eb1a7c17 100644
--- a/ruby/config/Make.rules
+++ b/ruby/config/Make.rules
@@ -8,221 +8,91 @@
# **********************************************************************
#
-# Select an installation base directory. The directory will be created
-# if it does not exist.
+# Override to use another ruby version
#
+RUBY ?= ruby
-prefix ?= /opt/Ice-$(VERSION)
-
-#
-# The "root directory" for runpath embedded in executables. Can be set
-# to change the runpath added to Ice executables. The default is
-# platform dependent (Linux only, on OS X the embedded runpath is always
-# based on @loader_path).
-#
-#embedded_runpath_prefix ?= /opt/Ice-$(VERSION_MAJOR).$(VERSION_MINOR)
+# ----------------------------------------------------------------------
+# Don't change anything below this line!
+# ----------------------------------------------------------------------
-#
-# Define embedded_runpath as no if you don't want any RPATH added to
-# the executables (Linux only, on OS X we always add a runpath).
-#
-embedded_runpath ?= yes
+ruby-call = $(shell $(RUBY) -e 'require "rbconfig"; puts RbConfig::expand("$1")')
-#
-# Define OPTIMIZE as yes if you want to build with optimization.
-# Otherwise the Ice extension is built with debug information.
-#
+# Ruby compiler flags
+ruby_cppflags := -I$(call ruby-call,$$(rubyhdrdir))
+ruby_config_dir := $(call ruby-call,$$(includedir)/$$(arch)/ruby-$$(ruby_version))
+ruby_arch := $(call ruby-call,$$(arch))
+ifeq ($(wildcard $(ruby_config_dir)/ruby/config.h),)
+ ruby_config_dir := $(call ruby-call,$$(rubyhdrdir)/$$(arch))
+endif
+ifneq ($(wildcard $(ruby_config_dir)/ruby/config.h),)
+ ruby_cppflags += -I$(ruby_config_dir)
+endif
-#OPTIMIZE = yes
+# Ruby linker flags
+ruby_ldflags := $(call ruby-call,$$(LIBRUBYARG))
+ruby_libdir := $(call ruby-call,$(if $(findstring MINGW,$(shell uname)),$$(bindir),$$(libdir)))
+ifneq ($(ruby_libdir),)
+ ruby_ldflags := -L$(call ruby-call,$$(libdir)) $(ruby_ldflags)
+endif
#
-# Define LP64 as yes if you want to build in 64 bit mode on a platform
-# that supports both 32 and 64 bit.
+# On the default platform, always write the module in the ruby directory.
#
-#LP64 := yes
+$(foreach p,$(supported-platforms),$(eval $$p_targetdir := /$$p))
+$(firstword $(supported-platforms))_targetdir :=
#
-# If you have not built Ice for C++ from the cpp subdirectory or if
-# you have installed the Ice for C++ development kit in a
-# non-standard location, set the ICE_HOME to the installation directory.
+# Ruby installation directory
#
-#ICE_HOME = C:\Program Files\ZeroC\Ice-$(VERSION)
+install_rubydir = $(if $(usr_dir_install),$(ruby_libdir),$(prefix)/ruby)
+install_rubylibdir = $(if $(usr_dir_install),$(ruby_libdir)/$(ruby_arch),$(prefix)/ruby)
#
-# If the Ruby interpreter is in your PATH, the settings below will
-# work properly in most cases. If you want to use a particular
-# installation of Ruby, set RUBY_HOME with the installation directory.
+# Rules to build a ruby module. We just compute the name of the ruby module
+# and delegate to make-shared-module.
#
+mkrbmodulename ?= $(patsubst lib%,%,$(call mkshlibname,$(1)))
+make-shared-ruby-module = $(call make-shared-module,$(call mkrbmodulename,$1),$2,$3,$4,$5,$6,$7)
+get-shared-ruby-module-targets = $(call get-shared-module-targets,$(call mkrbmodulename,$1),$2)
+install-shared-ruby-module = $(call install-shared-module,$(call mkrbmodulename,$1),$2,$3)
-ifneq ($(RUBY_HOME),)
- RUBY = $(RUBY_HOME)/bin/ruby
-else
- RUBY = ruby
-endif
+$(DESTDIR)$(install_rubydir):
+ $(Q)$(MKDIR) -p $@
+installdirs += $(install_rubydir)
-ifeq ($(RUBY18), yes)
- RUBY_MAJOR_VERSION = $(shell $(RUBY) -e 'require "rbconfig"; puts Config::expand("$$(MAJOR)")')
- RUBY_MINOR_VERSION = $(shell $(RUBY) -e 'require "rbconfig"; puts Config::expand("$$(MINOR)")')
- ifeq ("$(RUBY_MAJOR_VERSION).$(RUBY_MINOR_VERSION)", "1.8")
- RUBY_FLAGS = -I$(shell $(RUBY) -e 'require "rbconfig"; puts Config::expand("$$(archdir)")')
- else
- RUBY_FLAGS = -I$(shell $(RUBY) -e 'require "rbconfig"; puts Config::expand("$$(rubyhdrdir)")') \
- -I$(shell $(RUBY) -e 'require "rbconfig"; puts Config::expand("$$(rubyhdrdir)/$$(arch)")')
- endif
-
- LIB_DIR = $(shell $(RUBY) -e 'require "rbconfig"; puts Config::expand("$$(libdir)")')
-
- RUBY_SHARED = $(shell $(RUBY) -e 'require "rbconfig"; puts Config::MAKEFILE_CONFIG["ENABLE_SHARED"]')
-
- ifeq ("$(RUBY_SHARED)","yes")
- RUBY_LIB = $(shell $(RUBY) -e 'require "rbconfig"; puts Config::expand("-l$$(RUBY_SO_NAME)")')
- else
- RUBY_LIB = $(shell $(RUBY) -e 'require "rbconfig"; puts Config::expand("-l$$(RUBY_SO_NAME)-static")')
- endif
- RUBY_LIBS = -L$(LIB_DIR) $(RUBY_LIB)
-else
- RUBY_MAJOR_VERSION = $(shell $(RUBY) -e 'require "rbconfig"; puts RbConfig::expand("$$(MAJOR)")')
- RUBY_MINOR_VERSION = $(shell $(RUBY) -e 'require "rbconfig"; puts RbConfig::expand("$$(MINOR)")')
-
- RUBY_LIB_DIR = $(shell $(RUBY) -e 'require "rbconfig"; puts RbConfig::expand("$$(rubylibdir)")')
- RUBY_ARCH = $(shell $(RUBY) -e 'require "rbconfig"; puts RbConfig::expand("$$(arch)")')
-
- ifeq ("$(RUBY_MAJOR_VERSION).$(RUBY_MINOR_VERSION)", "1.8")
- RUBY_FLAGS = -I$(shell $(RUBY) -e 'require "rbconfig"; puts RbConfig::expand("$$(archdir)")')
- else
- RUBY_FLAGS = -I$(shell $(RUBY) -e 'require "rbconfig"; puts RbConfig::expand("$$(rubyhdrdir)")')
- RUBY_CONFIG_DIR = $(shell $(RUBY) -e 'require "rbconfig"; puts RbConfig::expand("$$(includedir)/$$(arch)/ruby-$$(ruby_version)")')
- ifneq ($(wildcard $(RUBY_CONFIG_DIR)/ruby/config.h),)
- RUBY_FLAGS := $(RUBY_FLAGS) -I$(RUBY_CONFIG_DIR)
- else
- RUBY_CONFIG_DIR = $(shell $(RUBY) -e 'require "rbconfig"; puts RbConfig::expand("$$(rubyhdrdir)/$$(arch)")')
- ifneq ($(wildcard $(RUBY_CONFIG_DIR)/ruby/config.h),)
- RUBY_FLAGS := $(RUBY_FLAGS) -I$(RUBY_CONFIG_DIR)
- endif
- endif
- endif
-
- RUBY_LIBS = $(shell $(RUBY) -e 'require "rbconfig"; puts RbConfig::expand("$$(LIBRUBYARG)")')
-
- ifneq ($(findstring MINGW, $(shell uname)),)
- RUBY_BIN_DIR = $(shell $(RUBY) -e 'require "rbconfig"; puts RbConfig::expand("$$(bindir)")')
- RUBY_LIBS := -L$(RUBY_BIN_DIR) $(RUBY_LIBS)
- else
- LIB_DIR = $(shell $(RUBY) -e 'require "rbconfig"; puts RbConfig::expand("$$(libdir)")')
- ifneq ($(LIB_DIR),)
- RUBY_LIBS := -L$(LIB_DIR) $(RUBY_LIBS)
- endif
- endif
-endif
-
-#
-# The build architectures for gcc based builds. The format of these
-# build flags are OS dependent. For example, under OS X to build
-# binaries which support both i386 and x86_64 you would use "-arch
-# i386 -arch x86_64". The default is OS version dependent. Be aware
-# that this value may conflict with the setting of LP64 above.
#
-#CXXARCHFLAGS = -arch i386 -arch x86_64
-
-# ----------------------------------------------------------------------
-# Don't change anything below this line!
-# ----------------------------------------------------------------------
-
+# $(call make-ruby-package,$1=slicedir,$2=generateddir,$3=package,$4=sliceflags)
#
-# Common definitions
+# Compile slice files from $(slicedir)/<package> to ruby/<package>.
#
-ice_language = ruby
-ice_require_cpp = yes
+define make-ruby-package
-ifeq ($(shell test -f $(top_srcdir)/config/Make.common.rules && echo 0),0)
- include $(top_srcdir)/config/Make.common.rules
-else
- include $(top_srcdir)/../config/Make.common.rules
-endif
+$2/$3/.depend/%.ice.d: | $2/$3/.depend ;
-libdir = $(top_srcdir)/ruby
-ifeq ($(UNAME),MINGW)
-ifneq ($(findstring x64,$(RUBY_ARCH)),)
-install_rubydir = $(prefix)/ruby/x64
-install_libdir = $(prefix)/ruby/x64
-else
-install_rubydir = $(prefix)/ruby
-install_libdir = $(prefix)/ruby
-endif
-else
-ifndef usr_dir_install
-install_rubydir = $(prefix)/ruby
-install_libdir = $(prefix)/ruby
-else
-install_rubydir = $(RUBY_LIB_DIR)
-install_libdir = $(RUBY_LIB_DIR)/$(RUBY_ARCH)
-endif
-endif
+$2/$3/.depend:
+ $(Q)$(MKDIR) -p $$@
-install_bindir = $(prefix)/$(binsubdir)
+.PRECIOUS: $2/$3/.depend/%.ice.d
-#
-# Platform specific definitions
-#
-ifeq ($(shell test -f $(top_srcdir)/config/Make.rules.$(UNAME) && echo 0),0)
- configdir = $(top_srcdir)/config
-else
- configdir = $(top_srcdir)/../cpp/config
+ifeq ($(filter %clean,$(MAKECMDGOALS)),)
+ # Include the dependencies
+ -include $(addprefix $2/$3/.depend/,$(call source-to-dependency,$(wildcard $1/$3/*.ice)))
endif
-ifndef usr_dir_install
- RPATH_DIR = $(prefix)/$(libsubdir)
-endif
-
-include $(configdir)/Make.rules.$(UNAME)
-
-ifdef ice_src_dist
- ICE_LIB_DIR = -L$(ice_cpp_dir)/$(libsubdir)
- ICE_FLAGS = -I$(ice_cpp_dir)/include
-else
- ICE_LIB_DIR = -L$(ice_dir)/$(libsubdir)
- ICE_FLAGS = -I$(ice_dir)/include
-endif
-ICE_LIBS = $(ICE_LIB_DIR) -lIceDiscovery -lIce -lIceSSL -lSlice -lIceUtil
-
-CPPFLAGS =
-ICECPPFLAGS = -I$(slicedir)
-SLICE2RBFLAGS = $(ICECPPFLAGS)
-LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)
-
-ifdef ice_src_dist
- SLICEPARSERLIB = $(ice_cpp_dir)/$(libsubdir)/$(call mklibfilename,Slice,$(VERSION))
- SLICE2RB = $(top_srcdir)/config/s2rb.rb
-else
- SLICEPARSERLIB =
- SLICE2RB = slice2rb
-endif
-
-EVERYTHING = all depend clean install
-
-.SUFFIXES:
-.SUFFIXES: .cpp .o .rb
-
-all:: $(SRCS)
-
-%.rb: $(SDIR)/%.ice
- rm -f $(*F).rb
- $(SLICE2RB) $(SLICE2RBFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2RB) $(SLICE2RBFLAGS) $< > .depend/$(*F).ice.d
-
-.cpp.o:
- $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $<
- @mkdir -p .depend
- @$(CXX) -DMAKEDEPEND -MM $(CPPFLAGS) $< > .depend/$(*F).d
+$2/$3/%.rb: $1/$3/%.ice $2/$3/.depend/%.ice.d IceRuby[$(firstword $(platforms))-shared]
+ $(E) "Compiling $$<"
+ $(Q)$(RUBY) $(lang_srcdir)/config/s2rb.rb -I$1 --ice --output-dir $2/$3 $4 --depend $$< | \
+ sed 's/\(.*: \\\)/$(subst /,\/,$2)\/$3\/\1/' > $2/$3/.depend/$$(*F).ice.d
+ $(Q)$(RUBY) $(lang_srcdir)/config/s2rb.rb -I$1 --ice --output-dir $2/$3 $4 $$<
clean::
- -rm -f $(TARGETS)
- -rm -f core *.o *.bak
- -rm -rf .depend
+ $(E) "Cleaning package $3"
+ $(Q)$(RM) -r $2/$3/.depend
+ $(Q)$(RM) $(patsubst $1/$3/%.ice,$2/$3/%.rb,$(wildcard $1/$3/*.ice))
-all:: $(SRCS) $(TARGETS)
+srcs all:: $(patsubst $1/$3/%.ice,$2/$3/%.rb,$(wildcard $1/$3/*.ice))
-include $(wildcard .depend/*.d)
+$$(eval $$(call install-data-files,$(patsubst $1/$3/%.ice,$2/$3/%.rb,$(wildcard $1/$3/*.ice)),$2,$(install_rubydir),install))
-install::
+endef
diff --git a/ruby/config/Make.rules.Darwin b/ruby/config/Make.rules.Darwin
deleted file mode 100644
index 58aab7dd6b8..00000000000
--- a/ruby/config/Make.rules.Darwin
+++ /dev/null
@@ -1,51 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-#
-# This file is included by Make.rules when uname is Darwin.
-#
-
-include $(top_srcdir)/../cpp/config/Make.rules.$(UNAME)
-
-shlibldflags = $(CXXFLAGS) -L$(libdir) $(LDEXEFLAGS)
-
-mkrblibfilename = $(if $(2),$(1).$(2).bundle,$(1).bundle)
-mkrbsoname = $(if $(2),$(1).$(2).bundle,$(1).bundle)
-mkrblibname = $(1).bundle
-
-RUBY_FLAGS += -Wno-unknown-pragmas
-
-mkshlib = $(CXX) -dynamic -bundle $(shlibldflags) -o $(1) $(3) $(4)
-
-ifneq ($(STATICLIBS),yes)
- #
- # Set RPATH to the cpp/lib directory or Ice installation lib directory. Note that unlike Linux
- # platforms, we always set the RPATH for source builds on OS X. This is required because we
- # can no longer rely on DYLD_LIBRARY_PATH on El Capitan. The RPATH is updated when the library
- # is installed (see cpp/config/Make.rules.Darwin).
- #
- ifdef ice_src_dist
- RPATH_DIR = @loader_path/../../cpp/$(libsubdir)
- else
- RPATH_DIR = $(ice_dir)/$(libsubdir)
- endif
-
- #
- # Update the RPATH to the installation lib directory when installing a library instead
- # of relying on the RPATH set during the build (which isn't correct anymore for the
- # installation directly layout).
- #
- ifneq ($(embedded_runpath_prefix),)
- installlib += ; install_name_tool -rpath $(RPATH_DIR) $(embedded_runpath_prefix)/lib $(1)/$(3)
- else ifdef usr_dir_install
- installlib += ; install_name_tool -delete_rpath $(RPATH_DIR) $(1)/$(3)
- else ifdef ice_src_dist
- installlib += ; install_name_tool -rpath $(RPATH_DIR) @loader_path/../$(libsubdir) $(1)/$(3)
- endif
-endif
diff --git a/ruby/config/Make.rules.Linux b/ruby/config/Make.rules.Linux
deleted file mode 100644
index 5f61b7904b0..00000000000
--- a/ruby/config/Make.rules.Linux
+++ /dev/null
@@ -1,23 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-#
-# This file is included by Make.rules when uname is Linux.
-#
-include $(top_srcdir)/../cpp/config/Make.rules.$(UNAME)
-
-#
-# A Ruby extension library cannot have a "lib" prefix, so Ruby-specific
-# functions are defined that strip "lib" from the regular library name.
-#
-mkrblibfilename = $(subst lib,,$(call mklibfilename,$(1),$(2)))
-mkrbsoname = $(subst lib,,$(call mksoname,$(1),$(2)))
-mkrblibname = $(subst lib,,$(call mklibname,$(1)))
-
-mkshlib = $(CXX) -shared $(LDFLAGS) $(LDEXEFLAGS) -o $(1) -Wl,-h,$(2) $(3) $(4) -lpthread \ No newline at end of file
diff --git a/ruby/ruby/Makefile b/ruby/ruby/Makefile
deleted file mode 100644
index 729a9f7ef6d..00000000000
--- a/ruby/ruby/Makefile
+++ /dev/null
@@ -1,169 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ..
-
-include $(top_srcdir)/config/Make.rules
-
-#
-# Disable parallel builds
-#
-.NOTPARALLEL:
-
-#
-# IMPORTANT: If you add or remove Slice files, you also need to check Ice.rb!
-#
-ICE_SRCS = Ice/LocalException.rb \
- Ice/Communicator.rb \
- Ice/CommunicatorF.rb \
- Ice/Logger.rb \
- Ice/LoggerF.rb \
- Ice/BuiltinSequences.rb \
- Ice/ObjectAdapterF.rb \
- Ice/PropertiesAdmin.rb \
- Ice/Properties.rb \
- Ice/PropertiesF.rb \
- Ice/ObjectFactory.rb \
- Ice/Identity.rb \
- Ice/Current.rb \
- Ice/ImplicitContextF.rb \
- Ice/ImplicitContext.rb \
- Ice/RemoteLogger.rb \
- Ice/Router.rb \
- Ice/RouterF.rb \
- Ice/Plugin.rb \
- Ice/PluginF.rb \
- Ice/Locator.rb \
- Ice/LocatorF.rb \
- Ice/Process.rb \
- Ice/ProcessF.rb \
- Ice/FacetMap.rb \
- Ice/Connection.rb \
- Ice/ConnectionF.rb \
- Ice/SliceChecksumDict.rb \
- Ice/Endpoint.rb \
- Ice/EndpointF.rb \
- Ice/EndpointTypes.rb \
- Ice/Version.rb \
- Ice/InstrumentationF.rb \
- Ice/Instrumentation.rb \
- Ice/Metrics.rb \
- Ice/ValueFactory.rb
-
-#
-# IMPORTANT: If you add or remove Slice files, you also need to check Glacier2.rb!
-#
-GLACIER2_SRCS = Glacier2/RouterF.rb \
- Glacier2/Router.rb \
- Glacier2/Session.rb \
- Glacier2/PermissionsVerifierF.rb \
- Glacier2/PermissionsVerifier.rb \
- Glacier2/SSLInfo.rb \
- Glacier2/Metrics.rb
-
-#
-# IMPORTANT: If you add or remove Slice files, you also need to check IceBox.rb!
-#
-ICEBOX_SRCS = IceBox/IceBox.rb
-
-#
-# IMPORTANT: If you add or remove Slice files, you also need to check IceGrid.rb!
-#
-ICEGRID_SRCS = IceGrid/Admin.rb \
- IceGrid/Descriptor.rb \
- IceGrid/Exception.rb \
- IceGrid/FileParser.rb \
- IceGrid/Registry.rb \
- IceGrid/Session.rb \
- IceGrid/UserAccountMapper.rb
-
-#
-# IMPORTANT: If you add or remove Slice files, you also need to check IcePatch2.rb!
-#
-ICEPATCH2_SRCS = IcePatch2/FileInfo.rb \
- IcePatch2/FileServer.rb
-
-#
-# IMPORTANT: If you add or remove Slice files, you also need to check IceStorm.rb!
-#
-ICESTORM_SRCS = IceStorm/IceStorm.rb \
- IceStorm/Metrics.rb
-
-ALL_SRCS = $(ICE_SRCS) \
- $(GLACIER2_SRCS) \
- $(ICEBOX_SRCS) \
- $(ICEGRID_SRCS) \
- $(ICEPATCH2_SRCS) \
- $(ICESTORM_SRCS)
-
-ICE_SLICE = $(patsubst %.rb,$(slicedir)/%.ice,$(ICE_SRCS))
-GLACIER2_SLICE = $(patsubst %.rb,$(slicedir)/%.ice,$(GLACIER2_SRCS))
-ICEBOX_SLICE = $(patsubst %.rb,$(slicedir)/%.ice,$(ICEBOX_SRCS))
-ICEGRID_SLICE = $(patsubst %.rb,$(slicedir)/%.ice,$(ICEGRID_SRCS))
-ICEPATCH2_SLICE = $(patsubst %.rb,$(slicedir)/%.ice,$(ICEPATCH2_SRCS))
-ICESTORM_SLICE = $(patsubst %.rb,$(slicedir)/%.ice,$(ICESTORM_SRCS))
-
-MODULES = Glacier2 Ice IceBox IceGrid IcePatch2 IceStorm
-
-all:: $(ALL_SRCS)
-
-SLICE2RBFLAGS += --ice
-
-Ice/%.rb: $(slicedir)/Ice/%.ice $(SLICE2RB) $(SLICEPARSERLIB)
- @mkdir -p $(notdir $(<D))
- $(SLICE2RB) --output-dir $(notdir $(<D)) $(SLICE2RBFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2RB) --output-dir $(notdir $(<D)) $(SLICE2RBFLAGS) --depend $< | \
- sed 's/\(.*: \\\)/Ice\/\1/' > .depend/Ice_$(*F).ice.d
-
-Glacier2/%.rb: $(slicedir)/Glacier2/%.ice $(SLICE2RB) $(SLICEPARSERLIB)
- @mkdir -p $(notdir $(<D))
- $(SLICE2RB) --output-dir $(notdir $(<D)) $(SLICE2RBFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2RB) --output-dir $(notdir $(<D)) $(SLICE2RBFLAGS) --depend $< | \
- sed 's/\(.*: \\\)/Glacier2\/\1/' > .depend/Glacier2_$(*F).ice.d
-
-IceBox/%.rb: $(slicedir)/IceBox/%.ice $(SLICE2RB) $(SLICEPARSERLIB)
- @mkdir -p $(notdir $(<D))
- $(SLICE2RB) --output-dir $(notdir $(<D)) $(SLICE2RBFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2RB) --output-dir $(notdir $(<D)) $(SLICE2RBFLAGS) --depend $< | \
- sed 's/\(.*: \\\)/IceBox\/\1/' > .depend/IceBox_$(*F).ice.d
-
-IceGrid/%.rb: $(slicedir)/IceGrid/%.ice $(SLICE2RB) $(SLICEPARSERLIB)
- @mkdir -p $(notdir $(<D))
- $(SLICE2RB) --output-dir $(notdir $(<D)) $(SLICE2RBFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2RB) --output-dir $(notdir $(<D)) $(SLICE2RBFLAGS) --depend $< | \
- sed 's/\(.*: \\\)/IceGrid\/\1/' > .depend/IceGrid_$(*F).ice.d
-
-IcePatch2/%.rb: $(slicedir)/IcePatch2/%.ice $(SLICE2RB) $(SLICEPARSERLIB)
- @mkdir -p $(notdir $(<D))
- $(SLICE2RB) --output-dir $(notdir $(<D)) $(SLICE2RBFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2RB) --output-dir $(notdir $(<D)) $(SLICE2RBFLAGS) --depend $< | \
- sed 's/\(.*: \\\)/IcePatch2\/\1/' > .depend/IcePatch2_$(*F).ice.d
-
-IceStorm/%.rb: $(slicedir)/IceStorm/%.ice $(SLICE2RB) $(SLICEPARSERLIB)
- @mkdir -p $(notdir $(<D))
- $(SLICE2RB) --output-dir $(notdir $(<D)) $(SLICE2RBFLAGS) $<
- @mkdir -p .depend
- @$(SLICE2RB) --output-dir $(notdir $(<D)) $(SLICE2RBFLAGS) --depend $< | \
- sed 's/\(.*: \\\)/IceStorm\/\1/' > .depend/IceStorm_$(*F).ice.d
-
-install:: $(ALL_SRCS)
- @echo "Installing generated code"
- @for i in $(MODULES) ; \
- do \
- $(INSTALL_DATA) $${i}.rb $(DESTDIR)$(install_rubydir) ; \
- $(INSTALL_DATA) -r $$i $(DESTDIR)$(install_rubydir) ; \
- done
-
-clean::
- rm -rf $(MODULES)
diff --git a/ruby/src/IceRuby/Makefile b/ruby/src/IceRuby/Makefile
deleted file mode 100644
index ccbdc362991..00000000000
--- a/ruby/src/IceRuby/Makefile
+++ /dev/null
@@ -1,50 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ../..
-
-LIBFILENAME = $(call mkrblibfilename,IceRuby,$(VERSION))
-SONAME = $(call mkrbsoname,IceRuby,$(SOVERSION))
-LIBNAME = $(call mkrblibname,IceRuby)
-TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME))
-
-OBJS = Communicator.o \
- Connection.o \
- Endpoint.o \
- ImplicitContext.o \
- Init.o \
- Logger.o \
- Operation.o \
- Properties.o \
- Proxy.o \
- Slice.o \
- Types.o \
- Util.o \
- ValueFactoryManager.o
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I.. $(CPPFLAGS) $(ICE_FLAGS) $(RUBY_FLAGS)
-LINKWITH := -L"$(libdir)" $(ICE_LIBS) $(RUBY_LIBS) $(CXXLIBS)
-
-$(libdir)/$(LIBFILENAME): $(OBJS)
- rm -f $@
- $(call mkshlib,$@,$(SONAME),$(OBJS),$(LINKWITH))
-
-$(libdir)/$(SONAME): $(libdir)/$(LIBFILENAME)
- rm -f $@
- ln -s $(LIBFILENAME) $@
-
-$(libdir)/$(LIBNAME): $(libdir)/$(SONAME)
- rm -f $@
- ln -s $(SONAME) $@
-
-install:: all
- $(call installlib,$(DESTDIR)$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
-
diff --git a/ruby/src/IceRuby/Makefile.mk b/ruby/src/IceRuby/Makefile.mk
new file mode 100644
index 00000000000..47b10468eae
--- /dev/null
+++ b/ruby/src/IceRuby/Makefile.mk
@@ -0,0 +1,21 @@
+# **********************************************************************
+#
+# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+$(project)_libraries := IceRuby
+
+IceRuby_target := ruby-module
+IceRuby_targetname := IceRuby
+IceRuby_targetdir := $(lang_srcdir)/ruby
+IceRuby_installdir := $(install_rubylibdir)
+IceRuby_cppflags := -I$(project) -I$(top_srcdir)/cpp/include -I$(top_srcdir)/cpp/include/generated $(ruby_cppflags)
+IceRuby_ldflags := $(ruby_ldflags)
+IceRuby_dependencies := IceSSL Ice Slice IceUtil
+
+projects += $(project)
+srcs:: $(project) \ No newline at end of file
diff --git a/ruby/src/Makefile b/ruby/src/Makefile
deleted file mode 100644
index 76a7f755971..00000000000
--- a/ruby/src/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-top_srcdir = ..
-
-include $(top_srcdir)/config/Make.rules
-
-SUBDIRS = IceRuby
-
-$(EVERYTHING)::
- @for subdir in $(SUBDIRS); \
- do \
- if test -d $$subdir ; \
- then \
- echo "making $@ in $$subdir"; \
- ( cd $$subdir && $(MAKE) $@ ) || exit 1; \
- fi; \
- done
diff --git a/scripts/IceStormUtil.py b/scripts/IceStormUtil.py
index 73192509c3a..a619fe5809c 100644
--- a/scripts/IceStormUtil.py
+++ b/scripts/IceStormUtil.py
@@ -87,7 +87,7 @@ class Replicated(IceStormUtil):
replicaPublishEndpoints = ''
for replica in range(0, 3):
replicaProperties = replicaProperties + \
- ' --IceStorm.Nodes.%d="%s/node%d:default -p %d"' % (
+ ' --IceStorm.Nodes.%d="%s/node%d:default -t 10000 -p %d"' % (
replica, instanceName, replica, self.nendpoints[replica])
replicaTopicManagerEndpoints = replicaTopicManagerEndpoints + "%sdefault -p %d" % (
sep, self.isendpoints[replica])
diff --git a/scripts/TestUtil.py b/scripts/TestUtil.py
index f622ab5fc44..65ee2a1dfe3 100755
--- a/scripts/TestUtil.py
+++ b/scripts/TestUtil.py
@@ -26,6 +26,7 @@ x86 = False # Binary distribution is 32-bit
global armv7l
armv7l = False # Binary distribution is armv7l
cpp11 = False # Binary distribution is c++11
+static = False # Static build
global buildMode
buildMode = None
@@ -389,11 +390,8 @@ else:
#
iceVersion = None
try:
- if isWin32():
- config = open(os.path.join(toplevel, "config", "Make.common.rules.mak"), "r")
- else:
- config = open(os.path.join(toplevel, "config", "Make.common.rules"), "r")
- iceVersion = re.search("VERSION[\t\s]*= ([0-9]+\.[0-9]+(\.[0-9]+|[ab][0-9]*))", config.read()).group(1)
+ config = open(os.path.join(toplevel, "config", "Make.rules"), "r")
+ iceVersion = re.search("version[\t\s]*= ([0-9]+\.[0-9]+(\.[0-9]+|[ab][0-9]*))", config.read()).group(1)
config.close()
except:
print("error: couldn't figure Ice version")
@@ -467,6 +465,7 @@ def run(tests, root = False):
--x86 Binary distribution is 32-bit.
--x64 Binary distribution is 64-bit.
--c++11 Binary distribution is c++11.
+ --static Binary distribution is static.
--cross=lang Run cross language test.
--client-home=<dir> Run cross test clients from the given Ice source distribution.
--script Generate a script to run the tests.
@@ -487,7 +486,7 @@ def run(tests, root = False):
"debug", "protocol=", "compress", "valgrind", "host=", "serialize", "continue",
"ipv6", "no-ipv6", "socks", "ice-home=", "mode=", "cross=", "client-home=", "x64", "x86",
"script", "env", "arg=", "service-dir=", "appverifier", "compact",
- "winrt", "server", "mx", "c++11", "controller=", "configName="])
+ "winrt", "server", "mx", "c++11", "static", "controller=", "configName="])
except getopt.GetoptError:
usage()
@@ -558,6 +557,9 @@ def run(tests, root = False):
elif o == "--c++11":
global cpp11
cpp11 = True
+ elif o == "--static":
+ global static
+ static = True
elif o == "--x86":
global x86
x86 = True
@@ -565,7 +567,7 @@ def run(tests, root = False):
global x64
x64 = True
if o in ( "--cross", "--protocol", "--host", "--debug", "--compress", "--valgrind", "--serialize", "--ipv6", \
- "--socks", "--ice-home", "--mode", "--x86", "--x64", "--c++11", "--env", \
+ "--socks", "--ice-home", "--mode", "--x86", "--x64", "--c++11", "--static", "--env", \
"--service-dir", "--appverifier", "--compact", "--winrt", \
"--server", "--mx", "--client-home", "--controller", "--configName"):
arg += " " + o
@@ -980,6 +982,7 @@ class DriverConfig:
x64 = False
x86 = False
cpp11 = False
+ static = False
serviceDir = None
mx = False
controller = None
@@ -998,6 +1001,7 @@ class DriverConfig:
global x64
global x86
global cpp11
+ global static
global serviceDir
global compact
global mx
@@ -1017,6 +1021,7 @@ class DriverConfig:
self.x64 = x64
self.x86 = x86
self.cpp11 = cpp11
+ self.static = static
self.serviceDir = serviceDir
self.compact = compact
self.mx = mx
@@ -1242,9 +1247,9 @@ def directoryToPackage():
def getDefaultServerFile(baseDir = os.getcwd()):
lang = getDefaultMapping()
- if lang in ["cpp", "js", "ruby", "php"]:
+ if lang in ["cpp", "objective-c", "js", "ruby", "php"]:
return getTestExecutable("server", baseDir)
- if lang in ["csharp", "objective-c"]:
+ if lang in ["csharp"]:
return "server"
if lang == "python":
return "Server.py"
@@ -1258,13 +1263,13 @@ def getDefaultServerFile(baseDir = os.getcwd()):
def getDefaultClientFile(lang = None):
if lang is None:
lang = getDefaultMapping()
- if lang == "cpp":
+ if lang in ["cpp", "objective-c"]:
return getTestExecutable("client")
if lang == "ruby":
return "Client.rb"
if lang == "php":
return "Client.php"
- if lang in ["cpp", "csharp", "objective-c"]:
+ if lang in ["csharp"]:
return "client"
if lang == "python":
return "Client.py"
@@ -1279,13 +1284,13 @@ def getDefaultClientFile(lang = None):
def getDefaultCollocatedFile():
lang = getDefaultMapping()
- if lang == "cpp":
+ if lang in ["cpp", "objective-c"]:
return getTestExecutable("collocated")
if lang == "ruby":
return "Collocated.rb"
if lang == "php":
return "Collocated.php"
- if lang in ["csharp", "objective-c"]:
+ if lang in ["csharp"]:
return "collocated"
if lang == "python":
return "Collocated.py"
@@ -1489,8 +1494,8 @@ def clientServerTest(cfgName = None, additionalServerOptions = "", additionalCli
if client is None:
client = getDefaultClientFile()
- serverDesc = server
- clientDesc = client
+ serverDesc = os.path.basename(server)
+ clientDesc = os.path.basename(client)
if lang != "java":
server = os.path.join(serverdir, server)
@@ -1520,6 +1525,7 @@ def clientServerTest(cfgName = None, additionalServerOptions = "", additionalCli
clientCfg.lang = clientLang
client = getDefaultClientFile(clientLang)
+ clientDesc = client
if clientHome:
clientdir = getMirrorDir(getClientCrossTestDir(testdir), clientLang)
else:
@@ -2051,6 +2057,7 @@ def processCmdLine():
--x86 Binary distribution is 32-bit.
--x64 Binary distribution is 64-bit.
--c++11 Binary distribution is c++11.
+ --static Binary distribution is static.
--env Print important environment variables.
--cross=lang Run cross language test.
--client-home=<dir> Run cross test clients from the given Ice source distribution.
@@ -2069,7 +2076,7 @@ def processCmdLine():
sys.argv[1:], "", ["debug", "trace=", "protocol=", "compress", "valgrind", "host=", "serialize", "ipv6", \
"socks", "ice-home=", "mode=", "x86", "x64", "cross=", "client-home=", "env", \
"service-dir=", "appverifier", "arg=", \
- "compact", "winrt", "server", "mx", "c++11", "controller=", "configName="])
+ "compact", "winrt", "server", "mx", "c++11", "static", "controller=", "configName="])
except getopt.GetoptError:
usage()
@@ -2109,6 +2116,9 @@ def processCmdLine():
elif o == "--c++11":
global cpp11
cpp11 = True
+ elif o == "--static":
+ global static
+ static = True
elif o == "--compress":
global compress
compress = True
@@ -2306,6 +2316,10 @@ def runTests(start, expanded, num = 0, script = False):
print("%s*** test not supported with C++11%s" % (prefix, suffix))
continue
+ if static and "nostatic" in config:
+ print("%s*** test not supported with static%s" % (prefix, suffix))
+ continue
+
if x86 and iceHome and "nomultiarch" in config:
print("%s*** test not supported with x86 in multiarch%s" % (prefix, suffix))
continue
@@ -2511,22 +2525,26 @@ if os.path.split(frame.f_code.co_filename)[1] == "run.py":
def getTestDirectory(name, baseDir = os.getcwd()):
if isWin32():
+ buildDir = "msbuild"
platform = "x64" if x64 else "Win32"
if cpp11:
configuration = "Cpp11-Debug" if buildMode == "debug" else "Cpp11-Release"
else:
configuration = "Debug" if buildMode == "debug" else "Release"
+ else:
+ buildDir = "build"
+ if isDarwin():
+ platform = "osx"
+ elif isUbuntu() or isDebian():
+ platform = "x86_64-linux-gnu" if x64 else "i386-linux-gnu"
+ else:
+ platform = "x64" if x64 else "x86"
+ configuration = ("cpp11-" if cpp11 else "") + ("static" if static else "shared")
- if isWin32():
- if os.path.isdir(os.path.join(baseDir, "msbuild", name)):
- return os.path.join(baseDir, "msbuild", name, platform, configuration)
- else:
- return os.path.join(baseDir, "msbuild", platform, configuration)
+ if os.path.isdir(os.path.join(baseDir, buildDir, name)):
+ return os.path.join(buildDir, name, platform, configuration)
else:
- return "."
+ return os.path.join(buildDir, platform, configuration)
def getTestExecutable(name, baseDir = os.getcwd()):
- if isWin32():
- return os.path.join(getTestDirectory(name, baseDir), name)
- else:
- return name
+ return os.path.join(getTestDirectory(name, baseDir), name)