source: trunk/src/Makefile.vc

Last change on this file was 4342, checked in by mloskot, 7 years ago

Add missing .cpp files

  • Property svn:eol-style set to native
File size: 14.9 KB
Line 
1#
2# Building on Win32 with Visual C++ 7.0, 7.1, 8.0 or 9.0
3###############################################################################
4#
5# Produces:
6# geos.lib: static library for use of C or C++ API.
7# geos.dll: DLL - only exports the C API
8# geos_i.lib: stub library to link against for use of geos.dll.
9#
10# geos_d.lib: debug static library for use of C or C++ API.
11# geos_d.dll: debug DLL - only exports the C API
12# geos_i_d.lib: debug stub library to link against for use of geos.dll.
13#
14# This makefile mostly maintained by Frank Warmerdam <warmerdam@pobox.com>
15# with support by Mateusz Loskot <mateusz@loskot.net>
16###############################################################################
17GEOS_ROOT=..
18!INCLUDE $(GEOS_ROOT)\nmake.opt
19!INCLUDE dirlist.mk
20
21###############################################################################
22# Output location
23# TODO: not yet supported
24#OUT_DIR = $(GEOS_ROOT)\bin\$(BUILD_DIR)
25
26###############################################################################
27# List of objects
28
29OBJ_EXT = obj
30EXT = $(OBJ_EXT)
31
32OBJ = \
33 algorithm\Angle.$(EXT) \
34 algorithm\BoundaryNodeRule.$(EXT) \
35 algorithm\Centroid.$(EXT) \
36 algorithm\CentroidArea.$(EXT) \
37 algorithm\CentroidLine.$(EXT) \
38 algorithm\CentroidPoint.$(EXT) \
39 algorithm\CGAlgorithms.$(EXT) \
40 algorithm\ConvexHull.$(EXT) \
41 algorithm\HCoordinate.$(EXT) \
42 algorithm\InteriorPointArea.$(EXT) \
43 algorithm\InteriorPointLine.$(EXT) \
44 algorithm\InteriorPointPoint.$(EXT) \
45 algorithm\LineIntersector.$(EXT) \
46 algorithm\MCPointInRing.$(EXT) \
47 algorithm\MinimumDiameter.$(EXT) \
48 algorithm\NotRepresentableException.$(EXT) \
49 algorithm\PointLocator.$(EXT) \
50 algorithm\RayCrossingCounter.$(EXT) \
51 algorithm\RobustDeterminant.$(EXT) \
52 algorithm\SimplePointInRing.$(EXT) \
53 algorithm\SIRtreePointInRing.$(EXT) \
54 algorithm\distance\DiscreteHausdorffDistance.$(EXT) \
55 algorithm\distance\DiscreteFrechetDistance.$(EXT) \
56 algorithm\distance\DistanceToPoint.$(EXT) \
57 algorithm\locate\IndexedPointInAreaLocator.$(EXT) \
58 algorithm\locate\PointOnGeometryLocator.$(EXT) \
59 algorithm\locate\SimplePointInAreaLocator.$(EXT) \
60 geom\Coordinate.$(EXT) \
61 geom\CoordinateArraySequence.$(EXT) \
62 geom\CoordinateArraySequenceFactory.$(EXT) \
63 geom\CoordinateSequence.$(EXT) \
64 geom\CoordinateSequenceFactory.$(EXT) \
65 geom\Dimension.$(EXT) \
66 geom\Envelope.$(EXT) \
67 geom\Geometry.$(EXT) \
68 geom\GeometryCollection.$(EXT) \
69 geom\GeometryComponentFilter.$(EXT) \
70 geom\GeometryFactory.$(EXT) \
71 geom\GeometryList.$(EXT) \
72 geom\IntersectionMatrix.$(EXT) \
73 geom\LinearRing.$(EXT) \
74 geom\LineSegment.$(EXT) \
75 geom\LineString.$(EXT) \
76 geom\Location.$(EXT) \
77 geom\MultiLineString.$(EXT) \
78 geom\MultiPoint.$(EXT) \
79 geom\MultiPolygon.$(EXT) \
80 geom\Point.$(EXT) \
81 geom\Polygon.$(EXT) \
82 geom\PrecisionModel.$(EXT) \
83 geom\Triangle.$(EXT) \
84 geom\util\ComponentCoordinateExtracter.$(EXT) \
85 geom\util\CoordinateOperation.$(EXT) \
86 geom\util\GeometryEditor.$(EXT) \
87 geom\util\GeometryTransformer.$(EXT) \
88 geom\util\GeometryCombiner.$(EXT) \
89 geom\util\ShortCircuitedGeometryVisitor.$(EXT) \
90 geom\util\SineStarFactory.$(EXT) \
91 geom\util\LinearComponentExtracter.$(EXT) \
92 geom\util\PolygonExtracter.$(EXT) \
93 geom\util\PointExtracter.$(EXT) \
94 geom\prep\AbstractPreparedPolygonContains.$(EXT) \
95 geom\prep\BasicPreparedGeometry.$(EXT) \
96 geom\prep\PreparedGeometry.$(EXT) \
97 geom\prep\PreparedGeometryFactory.$(EXT) \
98 geom\prep\PreparedLineString.$(EXT) \
99 geom\prep\PreparedLineStringIntersects.$(EXT) \
100 geom\prep\PreparedPoint.$(EXT) \
101 geom\prep\PreparedPolygon.$(EXT) \
102 geom\prep\PreparedPolygonContains.$(EXT) \
103 geom\prep\PreparedPolygonContainsProperly.$(EXT) \
104 geom\prep\PreparedPolygonCovers.$(EXT) \
105 geom\prep\PreparedPolygonIntersects.$(EXT) \
106 geom\prep\PreparedPolygonPredicate.$(EXT) \
107 geomgraph\Depth.$(EXT) \
108 geomgraph\DirectedEdge.$(EXT) \
109 geomgraph\DirectedEdgeStar.$(EXT) \
110 geomgraph\Edge.$(EXT) \
111 geomgraph\EdgeEnd.$(EXT) \
112 geomgraph\EdgeEndStar.$(EXT) \
113 geomgraph\EdgeIntersectionList.$(EXT) \
114 geomgraph\EdgeList.$(EXT) \
115 geomgraph\EdgeNodingValidator.$(EXT) \
116 geomgraph\EdgeRing.$(EXT) \
117 geomgraph\GeometryGraph.$(EXT) \
118 geomgraph\GraphComponent.$(EXT) \
119 geomgraph\Label.$(EXT) \
120 geomgraph\Node.$(EXT) \
121 geomgraph\NodeFactory.$(EXT) \
122 geomgraph\NodeMap.$(EXT) \
123 geomgraph\PlanarGraph.$(EXT) \
124 geomgraph\Position.$(EXT) \
125 geomgraph\Quadrant.$(EXT) \
126 geomgraph\TopologyLocation.$(EXT) \
127 geomgraph\index\MonotoneChainEdge.$(EXT) \
128 geomgraph\index\MonotoneChainIndexer.$(EXT) \
129 geomgraph\index\SegmentIntersector.$(EXT) \
130 geomgraph\index\SimpleEdgeSetIntersector.$(EXT) \
131 geomgraph\index\SimpleMCSweepLineIntersector.$(EXT) \
132 geomgraph\index\SimpleSweepLineIntersector.$(EXT) \
133 geomgraph\index\SweepLineEvent.$(EXT) \
134 geomgraph\index\SweepLineSegment.$(EXT) \
135 index\bintree\Bintree.$(EXT) \
136 index\bintree\Interval.$(EXT) \
137 index\bintree\Key.$(EXT) \
138 index\bintree\Node.$(EXT) \
139 index\bintree\NodeBase.$(EXT) \
140 index\bintree\Root.$(EXT) \
141 index\chain\MonotoneChain.$(EXT) \
142 index\chain\MonotoneChainBuilder.$(EXT) \
143 index\chain\MonotoneChainOverlapAction.$(EXT) \
144 index\chain\MonotoneChainSelectAction.$(EXT) \
145 index\intervalrtree\IntervalRTreeBranchNode.$(EXT) \
146 index\intervalrtree\IntervalRTreeLeafNode.$(EXT) \
147 index\intervalrtree\IntervalRTreeNode.$(EXT) \
148 index\intervalrtree\SortedPackedIntervalRTree.$(EXT) \
149 index\quadtree\DoubleBits.$(EXT) \
150 index\quadtree\IntervalSize.$(EXT) \
151 index\quadtree\Key.$(EXT) \
152 index\quadtree\Node.$(EXT) \
153 index\quadtree\NodeBase.$(EXT) \
154 index\quadtree\Root.$(EXT) \
155 index\quadtree\Quadtree.$(EXT) \
156 index\strtree\AbstractNode.$(EXT) \
157 index\strtree\AbstractSTRtree.$(EXT) \
158 index\strtree\BoundablePair.$(EXT) \
159 index\strtree\GeometryItemDistance.$(EXT) \
160 index\strtree\Interval.$(EXT) \
161 index\strtree\ItemBoundable.$(EXT) \
162 index\strtree\SIRtree.$(EXT) \
163 index\strtree\STRtree.$(EXT) \
164 index\sweepline\SweepLineEvent.$(EXT) \
165 index\sweepline\SweepLineIndex.$(EXT) \
166 index\sweepline\SweepLineInterval.$(EXT) \
167 io\ByteOrderDataInStream.$(EXT) \
168 io\ByteOrderValues.$(EXT) \
169 io\CLocalizer.$(EXT) \
170 io\ParseException.$(EXT) \
171 io\StringTokenizer.$(EXT) \
172 io\Unload.$(EXT) \
173 io\WKBReader.$(EXT) \
174 io\WKBWriter.$(EXT) \
175 io\WKTReader.$(EXT) \
176 io\WKTWriter.$(EXT) \
177 io\Writer.$(EXT) \
178 noding\BasicSegmentString.$(EXT) \
179 noding\FastNodingValidator.$(EXT) \
180 noding\FastSegmentSetIntersectionFinder.$(EXT) \
181 noding\GeometryNoder.$(EXT) \
182 noding\IntersectionAdder.$(EXT) \
183 noding\IntersectionFinderAdder.$(EXT) \
184 noding\IteratedNoder.$(EXT) \
185 noding\MCIndexNoder.$(EXT) \
186 noding\MCIndexSegmentSetMutualIntersector.$(EXT) \
187 noding\NodedSegmentString.$(EXT) \
188 noding\NodingValidator.$(EXT) \
189 noding\Octant.$(EXT) \
190 noding\OrientedCoordinateArray.$(EXT) \
191 noding\ScaledNoder.$(EXT) \
192 noding\SegmentIntersectionDetector.$(EXT) \
193 noding\SegmentNode.$(EXT) \
194 noding\SegmentNodeList.$(EXT) \
195 noding\SegmentString.$(EXT) \
196 noding\SegmentStringUtil.$(EXT) \
197 noding\SimpleNoder.$(EXT) \
198 noding\SingleInteriorIntersectionFinder.$(EXT) \
199 noding\snapround\HotPixel.$(EXT) \
200 noding\snapround\MCIndexPointSnapper.$(EXT) \
201 noding\snapround\MCIndexSnapRounder.$(EXT) \
202 noding\snapround\SimpleSnapRounder.$(EXT) \
203 operation\GeometryGraphOperation.$(EXT) \
204 operation\IsSimpleOp.$(EXT) \
205 operation\buffer\BufferBuilder.$(EXT) \
206 operation\buffer\BufferInputLineSimplifier.$(EXT) \
207 operation\buffer\BufferParameters.$(EXT) \
208 operation\buffer\BufferOp.$(EXT) \
209 operation\buffer\BufferSubgraph.$(EXT) \
210 operation\buffer\OffsetCurveBuilder.$(EXT) \
211 operation\buffer\OffsetCurveSetBuilder.$(EXT) \
212 operation\buffer\OffsetSegmentGenerator.$(EXT) \
213 operation\buffer\RightmostEdgeFinder.$(EXT) \
214 operation\buffer\SubgraphDepthLocater.$(EXT) \
215 operation\distance\ConnectedElementLocationFilter.$(EXT) \
216 operation\distance\ConnectedElementPointFilter.$(EXT) \
217 operation\distance\DistanceOp.$(EXT) \
218 operation\distance\FacetSequence.$(EXT) \
219 operation\distance\FacetSequenceTreeBuilder.$(EXT) \
220 operation\distance\GeometryLocation.$(EXT) \
221 operation\distance\IndexedFacetDistance.$(EXT) \
222 operation\intersection\Rectangle.$(EXT) \
223 operation\intersection\RectangleIntersection.$(EXT) \
224 operation\intersection\RectangleIntersectionBuilder.$(EXT) \
225 operation\linemerge\EdgeString.$(EXT) \
226 operation\linemerge\LineMergeDirectedEdge.$(EXT) \
227 operation\linemerge\LineMergeEdge.$(EXT) \
228 operation\linemerge\LineMergeGraph.$(EXT) \
229 operation\linemerge\LineMerger.$(EXT) \
230 operation\linemerge\LineSequencer.$(EXT) \
231 operation\overlay\EdgeSetNoder.$(EXT) \
232 operation\overlay\ElevationMatrix.$(EXT) \
233 operation\overlay\ElevationMatrixCell.$(EXT) \
234 operation\overlay\LineBuilder.$(EXT) \
235 operation\overlay\MaximalEdgeRing.$(EXT) \
236 operation\overlay\MinimalEdgeRing.$(EXT) \
237 operation\overlay\OverlayNodeFactory.$(EXT) \
238 operation\overlay\OverlayOp.$(EXT) \
239 operation\overlay\PointBuilder.$(EXT) \
240 operation\overlay\PolygonBuilder.$(EXT) \
241 operation\overlay\snap\GeometrySnapper.$(EXT) \
242 operation\overlay\snap\LineStringSnapper.$(EXT) \
243 operation\overlay\snap\SnapOverlayOp.$(EXT) \
244 operation\overlay\snap\SnapIfNeededOverlayOp.$(EXT) \
245 operation\overlay\validate\FuzzyPointLocator.$(EXT) \
246 operation\overlay\validate\OffsetPointGenerator.$(EXT) \
247 operation\overlay\validate\OverlayResultValidator.$(EXT) \
248 operation\polygonize\PolygonizeDirectedEdge.$(EXT) \
249 operation\polygonize\PolygonizeEdge.$(EXT) \
250 operation\polygonize\EdgeRing.$(EXT) \
251 operation\polygonize\PolygonizeGraph.$(EXT) \
252 operation\polygonize\Polygonizer.$(EXT) \
253 operation\predicate\RectangleContains.$(EXT) \
254 operation\predicate\RectangleIntersects.$(EXT) \
255 operation\predicate\SegmentIntersectionTester.$(EXT) \
256 operation\relate\EdgeEndBuilder.$(EXT) \
257 operation\relate\EdgeEndBundle.$(EXT) \
258 operation\relate\EdgeEndBundleStar.$(EXT) \
259 operation\relate\RelateComputer.$(EXT) \
260 operation\relate\RelateNode.$(EXT) \
261 operation\relate\RelateNodeFactory.$(EXT) \
262 operation\relate\RelateNodeGraph.$(EXT) \
263 operation\relate\RelateOp.$(EXT) \
264 operation\sharedpaths\SharedPathsOp.$(EXT) \
265 operation\union\CascadedPolygonUnion.$(EXT) \
266 operation\union\CascadedUnion.$(EXT) \
267 operation\union\PointGeometryUnion.$(EXT) \
268 operation\union\UnaryUnionOp.$(EXT) \
269 operation\valid\ConnectedInteriorTester.$(EXT) \
270 operation\valid\ConsistentAreaTester.$(EXT) \
271 operation\valid\IndexedNestedRingTester.$(EXT) \
272 operation\valid\IsValidOp.$(EXT) \
273 operation\valid\QuadtreeNestedRingTester.$(EXT) \
274 operation\valid\RepeatedPointTester.$(EXT) \
275 operation\valid\SimpleNestedRingTester.$(EXT) \
276 operation\valid\SweeplineNestedRingTester.$(EXT) \
277 operation\valid\TopologyValidationError.$(EXT) \
278 planargraph\DirectedEdge.$(EXT) \
279 planargraph\DirectedEdgeStar.$(EXT) \
280 planargraph\Edge.$(EXT) \
281 planargraph\Node.$(EXT) \
282 planargraph\NodeMap.$(EXT) \
283 planargraph\PlanarGraph.$(EXT) \
284 planargraph\Subgraph.$(EXT) \
285 planargraph\algorithm\ConnectedSubgraphFinder.$(EXT) \
286 precision\CommonBits.$(EXT) \
287 precision\CommonBitsOp.$(EXT) \
288 precision\CommonBitsRemover.$(EXT) \
289 precision\EnhancedPrecisionOp.$(EXT) \
290 precision\GeometryPrecisionReducer.$(EXT) \
291 precision\MinimumClearance.$(EXT) \
292 precision\PrecisionReducerCoordinateOperation.$(EXT) \
293 precision\SimpleGeometryPrecisionReducer.$(EXT) \
294 simplify\DouglasPeuckerLineSimplifier.$(EXT) \
295 simplify\DouglasPeuckerSimplifier.$(EXT) \
296 simplify\LineSegmentIndex.$(EXT) \
297 simplify\TaggedLineSegment.$(EXT) \
298 simplify\TaggedLinesSimplifier.$(EXT) \
299 simplify\TaggedLineString.$(EXT) \
300 simplify\TaggedLineStringSimplifier.$(EXT) \
301 simplify\TopologyPreservingSimplifier.$(EXT) \
302 triangulate\DelaunayTriangulationBuilder.$(EXT) \
303 triangulate\IncrementalDelaunayTriangulator.$(EXT) \
304 triangulate\VoronoiDiagramBuilder.$(EXT) \
305 triangulate\quadedge\LastFoundQuadEdgeLocator.$(EXT) \
306 triangulate\quadedge\LocateFailureException.$(EXT) \
307 triangulate\quadedge\QuadEdge.$(EXT) \
308 triangulate\quadedge\QuadEdgeLocator.$(EXT) \
309 triangulate\quadedge\QuadEdgeSubdivision.$(EXT) \
310 triangulate\quadedge\TrianglePredicate.$(EXT) \
311 triangulate\quadedge\TriangleVisitor.$(EXT) \
312 triangulate\quadedge\Vertex.$(EXT) \
313 util\Assert.$(EXT) \
314 util\GeometricShapeFactory.$(EXT) \
315 util\Interrupt.$(EXT) \
316 util\math.$(EXT) \
317 util\Profiler.$(EXT) \
318 linearref\ExtractLineByLocation.$(EXT) \
319 linearref\LengthIndexOfPoint.$(EXT) \
320 linearref\LengthIndexedLine.$(EXT) \
321 linearref\LengthLocationMap.$(EXT) \
322 linearref\LinearGeometryBuilder.$(EXT) \
323 linearref\LinearIterator.$(EXT) \
324 linearref\LinearLocation.$(EXT) \
325 linearref\LocationIndexOfLine.$(EXT) \
326 linearref\LocationIndexOfPoint.$(EXT) \
327 ..\capi\geos_c.$(EXT) \
328 ..\capi\geos_ts_c.$(EXT) \
329 inlines.$(EXT)
330
331TEST_EXE = TestSweepLineSpeed.exe
332
333###############################################################################
334# Build targets
335
336default: $(LIBNAME) $(DLLNAME) $(CDLLNAME)
337
338all: $(LIBNAME) $(DLLNAME) $(CDLLNAME) TestSweepLineSpeed.exe geostest.exe
339
340check: all
341 TestSweepLineSpeed.exe
342
343
344$(LIBNAME): $(GEOS_ROOT)\include\geos\platform.h $(GEOS_ROOT)\include\geos\version.h ..\capi\geos_c.h $(OBJ)
345 if exist $(LIBNAME) del $(LIBNAME)
346 $(LINK) /lib /out:$(LIBNAME) $(OBJ)
347
348$(DLLNAME): $(OBJ)
349 $(LINK) /dll /debug $(LINKER_FLAGS) $(OBJ) /out:$(DLLNAME) /implib:$(SLIBNAME)
350 if exist $(DLLNAME).manifest mt -manifest $(DLLNAME).manifest -outputresource:$(DLLNAME);2
351
352$(CDLLNAME): ..\capi\geos_c.obj ..\capi\geos_ts_c.obj $(DLLNAME)
353 $(LINK) /dll /debug $(LINKER_FLAGS) ..\capi\geos_c.obj ..\capi\geos_ts_c.obj $(LIBNAME) /out:$(CDLLNAME) /implib:$(CLIBNAME)
354 if exist $(CDLLNAME).manifest mt -manifest $(CDLLNAME).manifest -outputresource:$(CDLLNAME);2
355
356$(GEOS_ROOT)\include\geos\platform.h: $(GEOS_ROOT)\include\geos\platform.h.vc
357 $(CP) $(GEOS_ROOT)\include\geos\platform.h.vc $(GEOS_ROOT)\include\geos\platform.h
358
359$(GEOS_ROOT)\include\geos\version.h: $(GEOS_ROOT)\include\geos\version.h.vc
360 if not exist $(GEOS_ROOT)\include\geos\version.h $(CP) $(GEOS_ROOT)\include\geos\version.h.vc $(GEOS_ROOT)\include\geos\version.h
361
362# geos_c.h should already be in distribution, if is not you'll
363# have to run ./configure to recreate
364../capi/geos_c.h: ../capi/geos_c.h.in.
365 $(CP) ..\capi\geos_c.h.in ..\capi\geos_c.h
366
367.cpp.obj:
368 $(CC) $(CFLAGS) /c $*.cpp /Fo$@
369
370{..\capi}.cpp.obj:
371 $(CC) $(CFLAGS) /D "GEOS_DLL_EXPORT" /c $*.cpp /Fo$@
372
373.c.obj:
374 $(CC) $(CFLAGS) /c $*.c /Fo$@
375
376clean:
377 @ECHO "*** Cleaning GEOS source tree"
378 @IF EXIST $(LIBNAME) $(RM) $(LIBNAME)
379 @IF EXIST $(SLIBNAME) $(RM) $(SLIBNAME)
380 @IF EXIST $(DLLNAME) $(RM) $(DLLNAME)
381 @IF EXIST $(SLIBNAME) $(RM) $(SLIBNAME)
382 @IF EXIST $(CLIBNAME) $(RM) $(CLIBNAME)
383 @IF EXIST $(CDLLNAME) $(RM) $(CDLLNAME)
384 -@del /s *.exe
385 -@del /s *.exp
386 -@del /s *.ilk
387 -@del /s *.manifest
388 -@del /s *.obj
389 -@del /s *.pdb
390
391TestSweepLineSpeed.exe: $(LIBNAME) \
392 ..\tests\bigtest\GeometryTestFactory.obj \
393 ..\tests\bigtest\TestSweepLineSpeed.obj
394 $(LINK) /debug /out:TestSweepLineSpeed.exe \
395 ..\tests\bigtest\TestSweepLineSpeed.obj \
396 ..\tests\bigtest\GeometryTestFactory.obj \
397 $(LIBNAME)
398
399geostest.exe: $(CDLLNAME) ..\tests\unit\capi\geostest.obj
400 $(LINK) /debug ..\tests\unit\capi\geostest.obj $(CLIBNAME)
401
402# EOF
Note: See TracBrowser for help on using the repository browser.