1# This Makefile is free software; the Free Software Foundation
2# gives unlimited permission to copy, distribute and modify it.
3
4CC = gcc
5CXX = g++
6RANLIB = /usr/bin/ranlib
7CXXCPP = g++ -E
8YACC = bison -o y.tab.c
9LEX = flex --nounistd
10AWK = gawk
11PREFIX = /usr
12EXEC_PREFIX = ${prefix}
13GREP_FLAGS = --binary-files=text
14HELPURL=/usr/share/doc/wdune-docs/docs
15
16RESOURCE_FILES = dune.english.rc singleResources.rc dune.french.rc dune.german.rc dune.italian.rc dune.portuguese.rc
17
18LIBEFENCE_A =
19EFENCE_EXTRA_LIBS =
20
21LIBDUMA_A =
22DUMA_EXTRA_LIBS =
23
24LD_OPTIONS =
25
26EGREP_PROBLEMS = no
27
28# gcc Warning flags (a lot of -Wno- comes from vcglib usage)
29# WARNINGS = -Wall -D_FORTIFY_SOURCE=2 -Werror -Wno-error=strict-overflow \
30#            -Wno-error=unused-function -Wno-error=ignored-attributes \
31#            -Wno-error=deprecated-declarations -Wno-ignored-attributes \
32#            -Wno-deprecated-declarations -Wno-misleading-indentation \
33#            -Wno-error=int-in-bool-context -Wno-error=sign-compare \
34#            -Wno-sign-compare -Wno-error=nonnull-compare
35
36# IRIX cc flags
37# WARNINGS = -woff 3303
38# LFLAGS = -woff 1167 -woff 1110 -woff 3322
39
40# use -DYYDEBUG=1 for yacc/bison debugging
41#(also change int yydebug = 1; in parser.cpp)
42
43CPPFLAGS= -I. -Iswt/include  -I/usr/local/include -I/usr/local/include/eigenlib -I/usr/include/vcglib -I.//src -I.//vcglib -I.//vcglib/eigenlib -I/root/vcglib -I.//../vcglib -I/root/vcglib/eigenlib -I.//../vcglib/eigenlib -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/ffmpeg/   -I/usr/X11R6/include/ -I/usr/X11R6/LessTif/Motif1.2/include -I/usr/local/include -I/usr/local/include
44COMMON_FLAGS = $(WARNINGS) -I. -Iswt/include  -I/usr/local/include -I/usr/local/include/eigenlib -I/usr/include/vcglib -I.//src -I.//vcglib -I.//vcglib/eigenlib -I/root/vcglib -I.//../vcglib -I/root/vcglib/eigenlib -I.//../vcglib/eigenlib -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/ffmpeg/   -I/usr/X11R6/include/ -I/usr/X11R6/LessTif/Motif1.2/include -I/usr/local/include -I/usr/local/include
45CFLAGS_BIG = -O2 -g $(COMMON_FLAGS) -g -O0 -fopenmp -g -O0  -fopenmp
46CFLAGS = $(COMMON_FLAGS) -g -O0 -fopenmp
47CXXFLAGS = -O2 -g $(COMMON_FLAGS) -g -O0  -fopenmp
48LIBS =    -L/usr/local/lib  -L/usr/lib/X11 -L/usr/lib -L/usr/X11R6/LessTif/Motif1.2/lib -L/usr/local/lib -L/usr/local/lib -O2 -g -L/usr/lib/X11 -Lswt/lib -lswt -LSDLjoystick  -lusb -lswresample -lswscale -lavformat -lavutil -lavcodec -ljpeg -lpng -lz -lexpat -lGLU -lGL -lcurl -lXi -lmpfr -lgmp -lfreetype -lXm -lXt -lXmu -lX11 -lm -lgomp   -L/usr/local/lib  -L/usr/lib/X11 -L/usr/lib -L/usr/X11R6/LessTif/Motif1.2/lib -lCGAL -losdCPU
49NEBULA =
50PARSER_CPP_CFLAG =
51
52.SUFFIXES: .cpp
53
54.cpp.o:
55	$(CXX) $(CXXFLAGS) -c $<
56
57NODECLASSES = \
58        NodeAnchor.o \
59	NodeAppearance.o \
60	NodeAudioClip.o \
61	NodeArc2D.o \
62	NodeArcClose2D.o \
63	NodeBackground.o \
64	NodeBallJoint.o \
65	NodeBillboard.o \
66        NodeBlendedVolumeStyle.o \
67	NodeBooleanFilter.o \
68	NodeBooleanSequencer.o \
69	NodeBooleanToggle.o \
70	NodeBooleanTrigger.o \
71        NodeBoundaryEnhancementVolumeStyle.o \
72        NodeBoundedPhysicsModel.o \
73	NodeBox.o \
74        NodeCADAssembly.o \
75        NodeCADFace.o \
76        NodeCADLayer.o \
77        NodeCADPart.o \
78        NodeCartoonVolumeStyle.o \
79	NodeCircle2D.o \
80	NodeClipPlane.o \
81        NodeCollidableShape.o \
82        NodeCollidableOffset.o \
83	NodeCollision.o \
84        NodeCollisionCollection.o \
85        NodeCollisionSensor.o \
86        NodeCollisionSpace.o \
87	NodeColor.o \
88        NodeColorChaser.o \
89        NodeColorDamper.o \
90	NodeColorRGBA.o \
91	NodeColorInterpolator.o \
92        NodeCommonSurfaceShader.o \
93        NodeComposedCubeMapTexture.o \
94        NodeComposedShader.o \
95        NodeComposedTexture3D.o \
96        NodeComposedVolumeStyle.o \
97	NodeCone.o \
98        NodeConeEmitter.o \
99	NodeContact.o \
100	NodeContour2D.o \
101	NodeContourPolyline2D.o \
102	NodeCoordinate.o \
103        NodeCoordinateChaser.o \
104        NodeCoordinateDamper.o \
105	NodeCoordinateDeformer.o \
106	NodeCoordinateDouble.o \
107	NodeCoordinateInterpolator.o \
108	NodeCoordinateInterpolator2D.o \
109	NodeCylinder.o \
110	NodeCylinderSensor.o \
111        NodeDISEntityManager.o \
112        NodeDISEntityTypeMapping.o \
113	NodeDirectionalLight.o \
114	NodeDisk2D.o \
115        NodeDoubleAxisHingeJoint.o \
116        NodeEaseInEaseOut.o \
117	NodeElevationGrid.o \
118        NodeEspduTransform.o \
119        NodeExplosionEmitter.o \
120	NodeExtrusion.o \
121        NodeFillProperties.o \
122        NodeFloatVertexAttribute.o \
123	NodeFog.o \
124        NodeFogCoordinate.o \
125	NodeFontStyle.o \
126        NodeForcePhysicsModel.o \
127	NodeGeoCoordinate.o \
128	NodeGeoElevationGrid.o \
129        NodeGeoMetadata.o \
130        NodeGeoLocation.o \
131        NodeGeoLOD.o \
132        NodeGeoPositionInterpolator.o \
133        NodeGeoProximitySensor.o \
134        NodeGeoOrigin.o \
135        NodeGeoTouchSensor.o \
136        NodeGeoTransform.o \
137        NodeGeoViewpoint.o \
138        NodeGeneratedCubeMapTexture.o \
139	NodeGroup.o \
140        NodeHAnimDisplacer.o \
141        NodeHAnimHumanoid.o \
142        NodeHAnimJoint.o \
143        NodeHAnimMotion.o \
144        NodeHAnimSegment.o \
145        NodeHAnimSite.o \
146        NodeImageCubeMapTexture.o \
147	NodeImageTexture.o \
148        NodeImageTexture3D.o \
149	NodeIndexedLineSet.o \
150        NodeIndexedQuadSet.o \
151	NodeIndexedTriangleFanSet.o \
152	NodeIndexedTriangleSet.o \
153	NodeIndexedTriangleStripSet.o \
154	NodeInline.o \
155        NodeInlineLoadControl.o \
156	NodeIntegerSequencer.o \
157	NodeIntegerTrigger.o \
158        NodeKeySensor.o \
159        NodeLayer.o \
160        NodeLayerSet.o \
161        NodeLayout.o \
162        NodeLayoutGroup.o \
163        NodeLayoutLayer.o \
164        NodeLinePickSensor.o \
165        NodeLineProperties.o \
166        NodeLineSet.o \
167        NodeLoadSensor.o \
168        NodeLocalFog.o \
169	NodeLOD.o \
170	NodeMaterial.o \
171        NodeMatrix3VertexAttribute.o \
172        NodeMatrix4VertexAttribute.o \
173        NodeMetadataBoolean.o \
174	NodeMetadataDouble.o \
175	NodeMetadataFloat.o \
176	NodeMetadataInteger.o \
177	NodeMetadataSet.o \
178	NodeMetadataString.o \
179        NodeMotorJoint.o \
180	NodeMultiTexture.o \
181	NodeMultiTextureCoordinate.o \
182	NodeMultiTextureTransform.o \
183	NodeNavigationInfo.o \
184	NodeNormal.o \
185	NodeNormalInterpolator.o \
186	NodeNurbsCurve.o \
187	NodeNurbsCurve2D.o \
188	NodeNurbsGroup.o \
189	NodeNurbsOrientationInterpolator.o \
190	NodeNurbsPositionInterpolator.o \
191	NodeNurbsSet.o \
192	NodeNurbsSurface.o \
193	NodeNurbsSurfaceInterpolator.o \
194        NodeNurbsSweptSurface.o \
195        NodeNurbsSwungSurface.o \
196        NodeNurbsTextureCoordinate.o \
197	NodeNurbsTextureSurface.o \
198        NodeNurbsTrimmedSurface.o \
199        NodeOrientationChaser.o \
200        NodeOrientationDamper.o \
201	NodeOrientationInterpolator.o \
202        NodeOrthoViewpoint.o \
203        NodePackagedShader.o \
204        NodeParticleSystem.o \
205        NodePickableGroup.o \
206	NodePixelTexture.o \
207        NodePixelTexture3D.o \
208	NodePlaneSensor.o \
209        NodePointEmitter.o \
210	NodePointLight.o \
211        NodePointPickSensor.o \
212        NodePointProperties.o \
213	NodePointSet.o \
214	NodePolyline2D.o \
215        NodePolylineEmitter.o \
216	NodePolypoint2D.o \
217        NodePositionChaser.o \
218        NodePositionChaser2D.o \
219        NodePositionDamper.o \
220        NodePositionDamper2D.o \
221	NodePositionInterpolator.o \
222	NodePositionInterpolator2D.o \
223        NodePrimitivePickSensor.o \
224        NodeProgramShader.o \
225        NodeProjectionVolumeStyle.o \
226	NodeProximitySensor.o \
227        NodeQuadSet.o \
228        NodeReceiverPdu.o \
229	NodeRectangle2D.o \
230        NodeRigidBody.o \
231        NodeRigidBodyCollection.o \
232        NodeScalarChaser.o \
233        NodeScalarDamper.o \
234	NodeScalarInterpolator.o \
235        NodeScreenFontStyle.o \
236        NodeScreenGroup.o \
237	NodeScript.o \
238        NodeShaderPart.o \
239        NodeShaderProgram.o \
240	NodeShape.o \
241        NodeSignalPdu.o \
242        NodeSingleAxisHingeJoint.o \
243        NodeSliderJoint.o \
244	NodeSound.o \
245	NodeSphere.o \
246	NodeSphereSensor.o \
247        NodeSplinePositionInterpolator.o \
248        NodeSplinePositionInterpolator2D.o \
249        NodeSplineScalarInterpolator.o \
250	NodeSpotLight.o \
251        NodeSquadOrientationInterpolator.o \
252	NodeStaticGroup.o \
253	NodeStringSensor.o \
254        NodeSurfaceEmitter.o \
255	NodeSwitch.o \
256        NodeTexCoordChaser2D.o \
257        NodeTexCoordDamper2D.o \
258	NodeText.o \
259	NodeTextureBackground.o \
260	NodeTextureCoordinate.o \
261        NodeTextureCoordinate3D.o \
262        NodeTextureCoordinate4D.o \
263	NodeTextureCoordinateGenerator.o \
264	NodeTextureProperties.o \
265	NodeTextureTransform.o \
266        NodeTextureTransform3D.o \
267        NodeTextureTransformMatrix3D.o \
268	NodeTimeSensor.o \
269        NodeTimeTrigger.o \
270	NodeTouchSensor.o \
271	NodeTransform.o \
272        NodeTransformSensor.o \
273        NodeTransmitterPdu.o \
274        NodeTriangleFanSet.o \
275        NodeTriangleSet.o \
276        NodeTriangleSet2D.o \
277        NodeTriangleStripSet.o \
278        NodeTrimmedSurface.o \
279        NodeTwoSidedMaterial.o \
280        NodeUniversalJoint.o \
281	NodeViewpoint.o \
282        NodeViewpointGroup.o \
283        NodeViewport.o \
284	NodeVisibilitySensor.o \
285        NodeVolumeEmitter.o \
286        NodeVolumePickSensor.o \
287        NodeWindPhysicsModel.o \
288        NodeEdgeEnhancementVolumeStyle.o \
289        NodeIsoSurfaceVolumeData.o \
290        NodeOpacityMapVolumeStyle.o \
291        NodeSegmentedVolumeData.o \
292        NodeShadedVolumeStyle.o \
293        NodeSilhouetteEnhancementVolumeStyle.o \
294        NodeToneMappedVolumeStyle.o \
295        NodeVolumeData.o \
296	NodeWorldInfo.o \
297        NodeComment.o \
298        NodeImport.o \
299        NodeExport.o
300
301EXTRACLASSES = \
302        NodeSuperEllipsoid.o \
303	NodeVrmlCut.o \
304        NodeGeneratedShadowMap.o \
305        NodeMatrixTransform.o \
306        NodeMultiGeneratedTextureCoordinate.o \
307        NodeRenderedTexture.o \
308        NodeSuperShape.o \
309	NodeVrmlScene.o \
310	NodeKambiAppearance.o \
311	NodeKambiHeadLight.o \
312        NodeKambiInline.o \
313        NodeKambiNavigationInfo.o \
314        NodeKambiOctreeProperties.o \
315	NodeKambiTriangulation.o \
316	NodeProjectedTextureCoordinate.o \
317        NodeSuperRevolver.o \
318        NodeScreenEffect.o \
319        NodeTeapot.o \
320	NodeText3D.o \
321        NodeShaderTexture.o \
322        NodeVectorInterpolator.o \
323        NodeCurveAnimation.o \
324        NodeSuperExtrusion.o \
325	NodeCOVER.o \
326	NodeSpaceSensor.o \
327	NodeCubeTexture.o \
328	NodeWave.o \
329        NodeJoystickSensor.o \
330        NodeLabView.o \
331        NodeSteeringWheel.o \
332        NodeVehicle.o \
333        NodeARSensor.o \
334        NodeSky.o \
335        NodeTUIButton.o \
336        NodeTUIComboBox.o \
337        NodeTUIFloatSlider.o \
338        NodeTUIFrame.o \
339        NodeTUILabel.o \
340        NodeTUIListBox.o \
341        NodeTUIMap.o \
342        NodeTUIProgressBar.o \
343        NodeTUISlider.o \
344        NodeTUISplitter.o \
345        NodeTUITab.o \
346        NodeTUITabFolder.o \
347        NodeTUIToggleButton.o \
348        NodeVirtualAcoustics.o \
349        NodeVirtualSoundSource.o \
350        NodeCubicBezier2DOrientationInterpolator.o \
351        NodeCubicBezierPositionInterpolator.o \
352        NodeBlendMode.o \
353        NodeColorSetInterpolator.o \
354        NodeEffect.o \
355        NodeEffectPart.o \
356        NodeBinaryGeometry.o \
357        NodeBlock.o \
358        NodeColorMaskMode.o \
359        NodeDepthMode.o \
360        NodeDish.o \
361        NodeDynamicLOD.o \
362        NodeEnvironment.o \
363        NodeExternalGeometry.o \
364        NodeField.o \
365        NodeImageGeometry.o \
366        NodeImageTextureAtlas.o \
367        NodeNozzle.o \
368        NodeMesh.o \
369        NodeMPRVolumeStyle.o \
370        NodeMultiPart.o \
371        NodeParam.o \
372        NodeParticleSet.o \
373        NodePlane.o \
374        NodePopGeometry.o \
375        NodePopGeometryLevel.o \
376        NodePyramid.o \
377        NodeRadarVolumeStyle.o \
378        NodeRectangularTorus.o \
379        NodeRefinementTexture.o \
380        NodeRemoteSelectionGroup.o \
381        NodeSlopedCylinder.o \
382        NodeSnout.o \
383        NodeSolidOfRevolution.o \
384        NodeSphereSegment.o \
385        NodeStippleVolumeStyle.o \
386        NodeSurfaceShaderTexture.o \
387        NodeTorus.o \
388        NodeUniform.o \
389        NodeViewfrustum.o \
390        NodeCattExportRec.o \
391        NodeCattExportSrc.o \
392        NodeLdrawDatExport.o \
393        NodeWonderlandImportJava.o
394
395NODEPARENTCLASSES = \
396        BasicTransformNode.o \
397        TransformNode.o \
398        DynamicFieldsNode.o \
399        GeoNode.o \
400        GroupNode.o \
401        StaticGroupNode.o \
402        MeshBasedNode.o \
403        MeshMorphingNode.o \
404        ChainBasedNode.o \
405        EmitterNode.o \
406        GeometryNode.o \
407        IndexedTriangleSetNode.o \
408        X3DNBodyCollidableNode.o \
409        X3DNBodyCollisionSpaceNode.o \
410        X3DRigidJointNode.o \
411        AnchoredJointNode.o \
412        Texture3DNode.o \
413        FontStyleNode.o \
414        ViewpointNode.o \
415        DamperNode.o \
416        ChaserNode.o
417
418TYPECLASSES = \
419	SFBool.o \
420        SFBoolItem.o \
421	SFColor.o \
422        SFColorItem.o \
423	SFColorRGBA.o \
424        SFColorRGBAItem.o \
425	SFDouble.o \
426        SFDoubleItem.o \
427	SFFloat.o \
428        SFFloatItem.o \
429	SFImage.o \
430        SFImageItem.o \
431	SFInt32.o \
432        SFInt32Item.o \
433	SFMatrix3f.o \
434        SFMatrix3fItem.o \
435	SFMatrix4f.o \
436        SFMatrix4fItem.o \
437	SFNode.o \
438        SFNodeItem.o \
439	SFRotation.o \
440        SFRotationItem.o \
441	SFString.o \
442        SFStringItem.o \
443	SFTime.o \
444        SFTimeItem.o \
445	SFVec2f.o \
446        SFVec2fItem.o \
447	SFVec2d.o \
448        SFVec2dItem.o \
449	SFVec3f.o \
450        SFVec3fItem.o \
451	SFVec3d.o \
452        SFVec3dItem.o \
453	SFVec4f.o \
454        SFVec4fItem.o \
455	MFBool.o \
456        MFBoolItem.o \
457	MFColor.o \
458        MFColorItem.o \
459	MFColorRGBA.o \
460        MFColorRGBAItem.o \
461	MFDouble.o \
462        MFDoubleItem.o \
463	MFInt32.o \
464        MFInt32Item.o \
465	MFFloat.o \
466        MFFloatItem.o \
467	MFNode.o \
468        MFNodeItem.o \
469	MFRotation.o \
470        MFRotationItem.o \
471	MFString.o \
472        MFStringItem.o \
473	MFTime.o \
474        MFTimeItem.o \
475	MFVec2f.o \
476        MFVec2fItem.o \
477	MFVec2d.o \
478        MFVec2dItem.o \
479	MFVec3f.o \
480        MFVec3fItem.o \
481	MFVec3d.o \
482        MFVec3dItem.o \
483	MFVec4f.o \
484        MFVec4fItem.o \
485        MFMatrix3f.o \
486        MFMatrix3fItem.o \
487        MFMatrix4f.o \
488        MFMatrix4fItem.o
489
490DIALOGCLASSES = \
491	Dialog.o \
492	ElevationGridDialog.o \
493        ScriptDialog.o \
494	NurbsCurveDialog.o \
495	NurbsPlaneDialog.o \
496	ModellingSettingsDialog.o \
497        RenderSettingsDialog.o \
498        DefDialog.o \
499        CoverDefDialog.o \
500	Box2NurbsDialog.o \
501	Cone2NurbsDialog.o \
502	Cylinder2NurbsDialog.o \
503	Sphere2NurbsDialog.o \
504        NurbsCurve2NurbsSurfDialog.o \
505        InteractionDialog.o \
506        InteractionDialog2.o \
507        InteractionDialog3.o \
508        AnimationDialog.o \
509        CurveAnimationDialog.o \
510        URLDialog.o \
511        ArrayDialog.o \
512        FieldPipeDialog.o \
513        OneBoolDialog.o \
514        OneFloatDialog.o \
515        OneVec3fDialog.o \
516        OneIntDialog.o \
517        OneTextDialog.o \
518        TwoRadioButtonsDialog.o \
519	EcmaScriptSettingsDialog.o \
520	PreviewSettingsDialog.o \
521	UploadSettingsDialog.o \
522	HelpSettingsDialog.o \
523	TexteditSettingsDialog.o \
524	StereoViewSettingsDialog.o \
525        OutputSettingsDialog.o \
526        InputDeviceSelectionDialog.o \
527        InputDeviceNameSelectionDialog.o \
528        InputDeviceSettingsDialog.o \
529        AflockSettingsDialog.o \
530        RouteViewSettingsDialog.o \
531        WonderlandModuleExportDialog.o \
532        ProtoNameDialog.o \
533        ScriptEventDialog.o \
534        CattExportDialog.o \
535        ProtoDialog.o \
536        SplitFacesDialog.o \
537        ToIndexedFaceSetDialog.o \
538        HAnimJointDialog.o \
539        ViewpointDialog.o \
540        NurbsCurve2DDialog.o \
541        InsertToNurbsCurveDialog.o \
542        InsertToNurbsSurfaceDialog.o \
543        SliderFloatDialog.o \
544        SceneDialog.o \
545	QuadInsetDialog.o
546
547APPCLASSES = \
548	DuneApp.o \
549        PreferencesApp.o \
550        EcmaScriptApp.o \
551        StereoViewApp.o \
552        InputDeviceApp.o \
553        OutputApp.o \
554        RouteViewApp.o \
555        StartWithApp.o \
556        ExportNamesApp.o \
557        ModellingApp.o \
558        RenderApp.o
559
560DUNECLASSES = \
561	AboutDialog.o \
562	CommandList.o \
563	Element.o \
564	EventIn.o \
565	EventOut.o \
566	ExposedField.o \
567	Field.o \
568	FieldCommand.o \
569	MFieldCommand.o \
570        TUIElement.o \
571	FaceData.o \
572	FieldValue.o \
573	Image.o \
574	Interpolator.o \
575	Matrix.o \
576	Metadata.o \
577	MoveCommand.o \
578	NodeList.o \
579	Path.o \
580	Proto.o \
581	RouteCommand.o \
582	MyString.o \
583	UnRouteCommand.o \
584	MyMesh.o \
585	SelectionCommand.o \
586	Quaternion.o \
587	RenderState.o \
588	SceneTreeView.o \
589	SceneGraphView.o \
590	Scene3DView.o \
591	SceneView.o \
592	FieldView.o \
593	FieldViewItem.o \
594	URL.o \
595	PanedWindow.o \
596	StatusBar.o \
597	ChannelView.o \
598	ToolbarWindow.o \
599	EulerAngles.o \
600        xerrorhandler.o \
601        InputDevice.o \
602        TransformMode.o \
603        ColorCircle.o \
604        Aflock.o \
605        ScriptEdit.o \
606        Types.o \
607        Commandline.o \
608	NurbsArc.o\
609	NurbsCurveDegreeElevate.o \
610	NurbsSurfaceDegreeElevate.o \
611	NurbsMakeRevolvedSurface.o \
612        CheckBoxWindow.o \
613        GpsMathLib.o \
614        WonderlandModuleExport.o \
615        WriteWonderlandCellRenderCode.o \
616        NurbsCurve.o \
617        Vec3x.o \
618        VertexModifier.o \
619        illegal2vrml.o $(NEBULA)
620
621BIGDUNECLASSES = \
622	Util.o \
623        quadric_simp.o \
624	NodeMovieTexture.o \
625        MeshSubdivide.o \
626        Scene.o \
627        SceneProtoMap.o \
628	Node.o \
629        MainWindow.o \
630	NodeIndexedFaceSet.o
631
632FONT23DCLASSES = \
633        advancing_front.o \
634        sweep.o \
635        sweep_context.o \
636        cdt.o \
637        shapes.o \
638        Contour.o \
639        PointFtgl.o \
640        Vectoriser.o
641
642CLASSES = \
643        $(DUNECLASSES) \
644        $(APPCLASSES) \
645        $(DIALOGCLASSES) \
646        $(TYPECLASSES) \
647        $(NODEPARENTCLASSES) \
648        $(NODECLASSES) \
649        $(EXTRACLASSES) \
650        $(FONT23DCLASSES) \
651	parser.o \
652	lexer.o
653
654OBJSC = \
655        resource.o \
656        mysnprintf.o \
657        buf.o \
658        mathx.o \
659        subd_mesh.o \
660        subd.o \
661        openglutfont.o \
662	jpegLoad.o \
663	pngLoad.o gif.o
664
665OBJS = $(BIGDUNECLASSES) $(CLASSES) $(OBJSC)
666
667OBJS_LOW_MEM = $(CLASSES) $(OBJSC)
668
669ARCHIVES = MainWindow.o SceneProtoMap.o Scene.o parser.o lexer.o \
670           libdune_extra.a libdune_nodes.a libdune_nodeparents.a \
671           libdune_dialogs.a libdune_app.a libdune_dune.a \
672           Node.o libdune_type.a libdune_c.a resource.o mysnprintf.o
673
674SRCSC = $(OBJSC:.o=.c) resource.c mysnprintf.c
675SRCSDUNECLASSES = $(DUNECLASSES:.o=.cpp)
676SRCSAPPCLASSES = $(APPCLASSES:.o=.cpp)
677SRCSDIALOGCLASSES = $(DIALOGCLASSES:.o=.cpp)
678SRCSBIGDUNECLASSES = $(BIGDUNECLASSES:.o=.cpp)
679SRCSTYPECLASSES = $(TYPECLASSES:.o=.cpp)
680SRCSNODEPARENTCLASSES = $(NODEPARENTCLASSES:.o=.cpp)
681SRCSNODECLASSES = $(NODECLASSES:.o=.cpp)
682SRCSEXTRACLASSES = $(EXTRACLASSES:.o=.cpp)
683
684TESTOJBS = selftest.o allNodesTest.o allNodesTestX3d.o \
685           allNodesTestCover.o allNodesTestKambi.o \
686           allNodesTestX3dom.o \
687           printFieldType.o printNodeType.o printFieldNumber.o \
688           testzeroclass.o testprotos.o
689
690YFLAGS = -d
691
692target: mysnprintf.o
693	if test "X_" = "X_SDLjoystick/libSDLjoystick.a" ;then cd SDLjoystick;$(MAKE); fi
694	$(MAKE) SFMFTypes.h
695	(cd swt ; $(MAKE))
696#	$(MAKE) ../bin/png2PixelTexture
697	$(MAKE) ../bin/dune
698
699install: target
700	install -m 755 -p ../bin/dune $(PREFIX)/bin
701	install -m 755 -p ../tools/run_dune_and_aqsis_freebsd.sh $(PREFIX)/bin/run_dune_and_aqsis.sh
702	install -m 755 -p ../tools/run_dune_and_povray_freebsd.sh $(PREFIX)/bin/run_dune_and_povray.sh
703	mkdir -p $(PREFIX)/include/white_dune
704	install -m 644 -p ../include/white_dune/libC++RWD.h $(PREFIX)/include/white_dune/libC++RWD.h
705	install -m 644 -p ../include/white_dune/libC++RWD_namespace.h $(PREFIX)/include/white_dune/libC++RWD_namespace.h
706	install -m 644 -p ../include/white_dune/libCRWD.h $(PREFIX)/include/white_dune/libCRWD.h
707	mkdir -p $(PREFIX)/share/man/man1
708	install -m 644 -p ../man/dune.1 $(PREFIX)/share/man/man1
709	mkdir -p $(PREFIX)/share/applications/
710	install -m 644 -p ../desktop/kde/dune.desktop $(PREFIX)/share/applications/dune.desktop
711	mkdir -p $(PREFIX)/share/pixmaps
712	install -m 644 -p ../desktop/kde/dune.png $(PREFIX)/share/pixmaps/dune.png
713	install -m 644 -p ../desktop/kde/dune4kids.desktop $(PREFIX)/share/applications/dune4kids.desktop
714	install -m 644 -p ../desktop/kde/dune4kids.png $(PREFIX)/share/pixmaps/dune4kids.png
715	mkdir -p `dirname $(HELPURL)`
716	cp -rn ../docs/* `dirname $(HELPURL)`
717
718mysnprintf.o: mysnprintf.c
719	$(CC) -g $(CFLAGS) -std=c99 -c -o $@ mysnprintf.c
720
721debug_mysnprintf.o: mysnprintf.c
722	$(CC) -g $(CFLAGS) -DDEBUG=1 -std=c99 -c -o mysnprintf.o mysnprintf.c
723
724debug_Path.o: Path.cpp
725	$(CXX) $(CFLAGS) -DDEBUG=1 -c -o Path.o Path.cpp
726
727Node.o: Node.cpp
728	$(CXX) $(CFLAGS_BIG) -c -o $@ Node.cpp
729
730Scene.o: Scene.cpp
731	$(CXX) $(CFLAGS_BIG) -c -o $@ Scene.cpp
732
733SceneProtoMap.o: SceneProtoMap.cpp
734	$(CXX) $(CFLAGS_BIG) -c -o $@ SceneProtoMap.cpp
735
736nebula/ExportNebula.o: nebula/ExportNebula.cpp
737	$(CXX) $(CXXFLAGS) -c -o $@ nebula/ExportNebula.cpp
738
739objc: $(SRCSC)
740	$(CC) $(CFLAGS) -c $(SRCSC)
741
742# special target to compile in low memory/no swap situtations
743duneLowMem: main.o objc $(CLASSES)
744	if test "X_" = "X_SDLjoystick/libSDLjoystick.a" ;then cd SDLjoystick;$(MAKE); fi
745	$(MAKE) SFMFTypes.h
746	(cd swt ; $(MAKE))
747	make -j2 $(BIGDUNECLASSES)
748	$(CXX) main.o $(OBJS) $(LIBS) -o ../bin/dune
749	sh -c "if test `uname` = IRIX64 ; then tag 0x00ff1a00 ../bin/dune ; fi"
750	sh -c "if test `uname` = IRIX   ; then tag 0x00ff1a00 ../bin/dune ; fi"
751	sh -c "if test `uname` = Darwin ; then (if test -d ../desktop/macosx; then cd ../desktop/macosx/ && tar -xf white_dune_high_sierra.app.tar && cd white_dune.app/Contents/MacOS && ln -sf ../../../../../bin/dune . ; fi) ; fi"
752
753../bin/dune: main.o $(OBJS)  swt/lib/libswt.a
754	(cd swt ; $(MAKE))
755	$(CXX) main.o $(OBJS) $(LIBS) -o $@
756	sh -c "if test `uname` = IRIX64 ; then tag 0x00ff1a00 $@ ; fi"
757	sh -c "if test `uname` = IRIX   ; then tag 0x00ff1a00 $@ ; fi"
758	sh -c "if test `uname` = Darwin ; then (if test -d ../desktop/macosx; then cd ../desktop/macosx/ && tar -xf white_dune_high_sierra.app.tar && cd white_dune.app/Contents/MacOS && ln -sf ../../../../../bin/dune . ; fi) ; fi"
759
760../bin/efencedune:  main.o $(OBJS)
761	(cd swt ; $(MAKE))
762	(cd swt ; $(MAKE) efence)
763	rm -f /tmp/efencedune.o
764	echo no way to extract strdup efence may fail in strdup
765	ld $(LD_OPTIONS) -r -o /tmp/efencedune.o  main.o $(OBJS)  $(LIBEFENCE_A)
766	perl ../batch/bin_gsub.pl /tmp/efencedune.o malloc madune
767	perl ../batch/bin_gsub.pl /tmp/efencedune.o calloc cadune
768	perl ../batch/bin_gsub.pl /tmp/efencedune.o valloc vadune
769	perl ../batch/bin_gsub.pl /tmp/efencedune.o realloc readune
770	perl ../batch/bin_gsub.pl /tmp/efencedune.o free dune
771	perl ../batch/bin_gsub.pl /tmp/efencedune.o memalign memadune
772	$(CXX) $(CXXFLAGS) /tmp/efencedune.o $(LIBS) $(EFENCE_EXTRA_LIBS) -o $@
773	rm -f /tmp/efencedune.o
774
775../bin/dumadune:  main.o $(OBJS)
776	(cd swt ; $(MAKE) efence)
777	rm -f /tmp/dumadune.o
778	echo no way to extract strdup efence may fail in strdup
779	ld $(LD_OPTIONS) -r -o /tmp/dumadune.o  main.o $(OBJS) swt/lib/libswt.a  $(LIBDUMA_A)
780	perl ../batch/bin_gsub.pl /tmp/dumadune.o malloc madune
781	perl ../batch/bin_gsub.pl /tmp/dumadune.o calloc cadune
782	perl ../batch/bin_gsub.pl /tmp/dumadune.o valloc vadune
783	perl ../batch/bin_gsub.pl /tmp/dumadune.o realloc readune
784	perl ../batch/bin_gsub.pl /tmp/dumadune.o free dune
785	perl ../batch/bin_gsub.pl /tmp/dumadune.o memalign memadune
786	$(CXX) $(CXXFLAGS) /tmp/dumadune.o $(LIBS) $(DUMA_EXTRA_LIBS) -o $@
787	rm -f /tmp/dumadune.o
788
789libdune_nodeparents.a: $(NODEPARENTCLASSES)
790	ar -r libdune_nodeparents.a $(NODEPARENTCLASSES)
791	$(RANLIB) libdune_nodeparents.a
792
793libdune_nodes.a: $(NODECLASSES)
794	ar -r libdune_nodes.a $(NODECLASSES)
795	$(RANLIB) libdune_nodes.a
796
797libdune_extra.a: $(EXTRACLASSES)
798	ar -r libdune_extra.a $(EXTRACLASSES)
799	$(RANLIB) libdune_extra.a
800
801libdune_type.a: $(TYPECLASSES)
802	ar -r libdune_type.a $(TYPECLASSES)
803	$(RANLIB) libdune_type.a
804
805libdune_app.a: $(APPCLASSES)
806	ar -r libdune_app.a $(APPCLASSES)
807	$(RANLIB) libdune_app.a
808
809libdune_dialogs.a: $(DIALOGCLASSES)
810	ar -r libdune_dialogs.a $(DIALOGCLASSES)
811	$(RANLIB) libdune_dialogs.a
812
813libdune_dune.a: $(DUNECLASSES)
814	ar -r libdune_dune.a $(DUNECLASSES)
815	$(RANLIB) libdune_dune.a
816
817libdune_c.a: $(OBJSC)
818	ar -r libdune_c.a $(OBJSC)
819	$(RANLIB) libdune_c.a
820
821catt_test/material.geo:
822	echo '; file to store absorption and scattering coefficients and RGB-Color' > $@
823	echo 'ABS unknown = <15 13 10 9 9 7 > L <30 30 30 30 30 30> { 255 255 0 }' >> $@
824
825selftest: mysnprintf.o
826	if test "X_" = "X_SDLjoystick/libSDLjoystick.a" ;then cd SDLjoystick;$(MAKE); fi
827	(cd swt ; $(MAKE))
828	$(MAKE) ../test/dune_selftest
829
830selftest.o: ../test/selftest.cpp
831	$(CXX) $(CXXFLAGS) -c ../test/selftest.cpp -o $@
832
833../test/dune_selftest: selftest.o  $(OBJS) swt/lib/libswt.a
834	$(CXX) $(CXXFLAGS) selftest.o $(OBJS) $(LIBS)  -o $@
835
836allNodesTest: mysnprintf.o
837	if test "X_" = "X_SDLjoystick/libSDLjoystick.a" ;then cd SDLjoystick;$(MAKE); fi
838	$(MAKE) SFMFTypes.h
839	(cd swt ; $(MAKE))
840	$(MAKE) ../test/dune_allNodesTest
841
842allNodesTest.o: ../test/allNodesTest.cpp
843	$(CXX) $(CXXFLAGS) -c ../test/allNodesTest.cpp -o $@
844
845../test/dune_allNodesTest: allNodesTest.o  $(OBJS) swt/lib/libswt.a
846	$(CXX) $(CXXFLAGS) allNodesTest.o $(OBJS) $(LIBS)  -o $@
847
848allNodesTestX3d: mysnprintf.o
849	if test "X_" = "X_SDLjoystick/libSDLjoystick.a" ;then cd SDLjoystick;$(MAKE); fi
850	$(MAKE) SFMFTypes.h
851	(cd swt ; $(MAKE))
852	$(MAKE) ../test/dune_allNodesTestX3d
853
854allNodesTestX3d.o: ../test/allNodesTestX3d.cpp
855	$(CXX) $(CXXFLAGS) -c ../test/allNodesTestX3d.cpp -o $@
856
857../test/dune_allNodesTestX3d: allNodesTestX3d.o  $(OBJS) swt/lib/libswt.a
858	$(CXX) $(CXXFLAGS) allNodesTestX3d.o $(OBJS) $(LIBS)  -o $@
859
860allNodesTestCover: mysnprintf.o
861	if test "X_" = "X_SDLjoystick/libSDLjoystick.a" ;then cd SDLjoystick;$(MAKE); fi
862	$(MAKE) SFMFTypes.h
863	(cd swt ; $(MAKE))
864	$(MAKE) ../test/dune_allNodesTestCover
865
866allNodesTestCover.o: ../test/allNodesTestCover.cpp
867	$(CXX) $(CXXFLAGS) -c ../test/allNodesTestCover.cpp -o $@
868
869../test/dune_allNodesTestCover: allNodesTestCover.o  $(OBJS) swt/lib/libswt.a
870	$(CXX) $(CXXFLAGS) allNodesTestCover.o $(OBJS) $(LIBS)  -o $@
871
872allNodesTestKambi: mysnprintf.o
873	if test "X_" = "X_SDLjoystick/libSDLjoystick.a" ;then cd SDLjoystick;$(MAKE); fi
874	$(MAKE) SFMFTypes.h
875	(cd swt ; $(MAKE))
876	$(MAKE) ../test/dune_allNodesTestKambi
877
878allNodesTestKambi.o: ../test/allNodesTestKambi.cpp
879	$(CXX) $(CXXFLAGS) -c ../test/allNodesTestKambi.cpp -o $@
880
881../test/dune_allNodesTestKambi: allNodesTestKambi.o  $(OBJS) swt/lib/libswt.a
882	$(CXX) $(CXXFLAGS) allNodesTestKambi.o $(OBJS) $(LIBS)  -o $@
883
884allNodesTestX3dom: mysnprintf.o
885	if test "X_" = "X_SDLjoystick/libSDLjoystick.a" ;then cd SDLjoystick;$(MAKE); fi
886	$(MAKE) SFMFTypes.h
887	(cd swt ; $(MAKE))
888	$(MAKE) ../test/dune_allNodesTestX3dom
889
890allNodesTestX3dom.o: ../test/allNodesTestX3dom.cpp
891	$(CXX) $(CXXFLAGS) -c ../test/allNodesTestX3dom.cpp -o $@
892
893../test/dune_allNodesTestX3dom: allNodesTestX3dom.o  $(OBJS) swt/lib/libswt.a
894	$(CXX) $(CXXFLAGS) allNodesTestX3dom.o $(OBJS) $(LIBS)  -o $@
895
896printFieldType.o: ../test/printFieldType.cpp
897	$(CXX) $(CXXFLAGS) -c ../test/printFieldType.cpp -o $@
898
899../test/printFieldType: printFieldType.o $(OBJS) swt/lib/libswt.a
900	$(CXX) $(CXXFLAGS) printFieldType.o $(OBJS) $(LIBS) -o $@
901
902printNodeType.o: ../test/printNodeType.cpp
903	$(CXX) $(CXXFLAGS) -c ../test/printNodeType.cpp -o $@
904
905../test/printNodeType: printNodeType.o $(OBJS) swt/lib/libswt.a
906	$(CXX) $(CXXFLAGS) printNodeType.o $(OBJS) $(LIBS) -o $@
907
908printFieldNumber.o: ../test/printFieldNumber.cpp
909	$(CXX) $(CXXFLAGS) -c ../test/printFieldNumber.cpp -o $@
910
911../test/printFieldNumber: printFieldNumber.o $(OBJS) swt/lib/libswt.a
912	$(CXX) $(CXXFLAGS) printFieldNumber.o $(OBJS) $(LIBS) -o $@
913
914testzeroclass.o: ../test/testzeroclass.cpp
915	$(CXX) $(CXXFLAGS) -c ../test/testzeroclass.cpp -o $@
916
917testzeroclass: mysnprintf.o
918	if test "X_" = "X_SDLjoystick/libSDLjoystick.a" ;then cd SDLjoystick;$(MAKE); fi
919	(cd swt ; $(MAKE))
920	$(MAKE) ../test/testzeroclass
921
922../test/testzeroclass: testzeroclass.o  $(OBJS) swt/lib/libswt.a
923	$(CXX) $(CXXFLAGS) testzeroclass.o $(OBJS) $(LIBS)  -o $@
924
925testprotos: mysnprintf.o
926	if test "X_" = "X_SDLjoystick/libSDLjoystick.a" ;then cd SDLjoystick;$(MAKE); fi
927	(cd swt ; $(MAKE))
928	$(MAKE) ../test/dune_testprotos
929
930testprotos.o: ../test/testprotos.cpp
931	$(CXX) $(CXXFLAGS) -c ../test/testprotos.cpp -o $@
932
933../test/dune_testprotos: testprotos.o  $(OBJS) swt/lib/libswt.a
934	$(CXX) testprotos.o $(OBJS) $(LIBS)  -o $@
935
936SFMFTypes.h: ../batch/mkSFMFTypes.sh
937	sh ../batch/mkSFMFTypes.sh
938
939#SFMFTypes.h SFMFTypesItem.h Types.h Types.cpp: ../batch/mkSFMFTypes.sh
940#	sh ../batch/mkSFMFTypes.sh
941
942
943lexer.o: lexer.cpp
944	$(CXX) $(CXXFLAGS) $(LFLAGS) -c lexer.cpp
945
946lexer.cpp: lexer.l
947	echo '#ifndef WIN32' > lexer.cpp
948	echo '#include "unistd.h"' >> lexer.cpp
949	echo '#endif' >> lexer.cpp
950	if test "X_$(EGREP_PROBLEMS)" = "X_no"; then $(LEX) -t lexer.l | egrep -v '#include *.unistd\.h.' >> lexer.cpp ; else echo // remove include of unistd.h manually when compiling on Windows >> lexer.cpp ; $(LEX) -t lexer.l >> lexer.cpp ; fi
951
952parser.o: parser.cpp
953	$(CXX) $(CXXFLAGS) $(PARSER_CPP_CFLAG) -c parser.cpp
954
955parser.cpp: parser.y
956	$(YACC) $(YFLAGS) parser.y
957	cp y.tab.c parser.cpp
958
959ICONS= res/standard_toolbar.bmp res/node_icons.bmp res/vcr.bmp \
960       res/emptySocketSquare.bmp res/halftone.bmp res/fullSocketSquare.bmp \
961       res/recommendedSocketSquare.bmp \
962       res/recommendedWonderlandSocketSquare.bmp \
963       res/wonderlandSocketSquare.bmp
964
965resource.h: resource.h.m4 swt/include/languages.m4 swt/include/resource.m4
966	m4 swt/include/languages.m4 resource.h.m4 > $@
967
968CommandlineLanguages.h: CommandlineLanguages.h.m4 \
969                        swt/include/languages.m4 swt/include/resource.m4
970	m4 swt/include/languages.m4 CommandlineLanguages.h.m4 > $@
971
972SceneViewDebugOnUpdate.cpp: SceneViewDebugOnUpdate.cpp.m4
973	m4 SceneViewDebugOnUpdate.cpp.m4 > $@
974
975dune.rc: $(RESOURCE_FILES)
976	cat singleResources.rc $(RESOURCE_FILES) > $@
977
978resource.c: dune.rc swt/rc/rc $(ICONS) resource.h
979	LANG=C sed 's.\\\\./.' < dune.rc > dune1.rc.c
980	$(CXXCPP) dune1.rc.c > dune2.rc.c
981	grep $(GREP_FLAGS) -v '//' dune2.rc.c > dune3.rc.c
982	if swt/rc/rc < dune3.rc.c > resource.c ; then echo > /dev/null; else rm  resource.c ; exit 1 ; fi
983	rm dune1.rc.c dune2.rc.c dune3.rc.c
984
985swt/rc/rc: swt/rc/rc.c
986	(cd swt/rc && make)
987
988configure: configure.in
989	autoconf
990
991clean:
992	cd swt ; $(MAKE) clean
993	cd SDLjoystick ; $(MAKE) clean
994	rm -rf .git y.tab.c $(OBJS) main.o $(TESTOJBS) *.bak \
995        gmon.out config.cache config.log core iifiles ii_files \
996	mysnprintftest joysticktest spaceballtest aflocktest \
997	Makefile.depend_* cxx_repository allNodesTest*.o
998
999ntclean:
1000	rm -f dune.aps dune.opt dune.ncb dune.plg dune.dep \
1001	      dune.sln dune.suo dune.vcproj.[0-i]* dune.vcproj.[k-z]* \
1002              swt/win32/Release/*.obj swt/win32/Debug/*.obj \
1003              Release/*.obj Debug/*.obj *.obj *.dep *.pdb *.lib *.aps *.exp
1004	rm -rf Debug/dune.tlog x64/Debug/dune.tlog swt/win32/Debug/dune.tlog .vs
1005
1006ntrealclean: ntclean
1007	rm -f swt/win32/Release/* swt/win32/Debug/* \
1008              Release/* Debug/* x64/Debug/*
1009
1010catt_test_clean:
1011	mv catt_test/material.geo .
1012	rm -f catt_test/*
1013	mv material.geo catt_test
1014
1015realclean: clean ntrealclean catt_test_clean
1016	rm -f *.a swt/lib/*.a swt/lib/*.so* swt/rc/rc */*.obj bison.simple
1017	rm -rf v2x3d/* x3dv2/*
1018	rm -f writeWonderlandModuletest joysticktest spaceballtest aflocktest
1019	rm -f FilesMissingInWindowsProjects.o
1020	cp Makefile Makefile.bak
1021	awk '{ print } /^# DO NOT DELETE THIS LINE/ { print ""; exit }' < Makefile.bak > Makefile
1022	(cd swt ; $(MAKE) realclean)
1023	(cd SDLjoystick ; $(MAKE) realclean)
1024
1025mysnprintftest: mysnprintf.c
1026	$(CC) -g -DTEST_SNPRINTF -DHAVE_SNPRINTF=1 -o $@ mysnprintf.c -lm
1027
1028INPUTTEST_OBJS=EulerAngles.o Quaternion.o Aflock.o
1029
1030joysticktest: InputDevice.cpp mysnprintf.o $(INPUTTEST_OBJS)
1031	$(CXX) -DDEBUG=1 $(CXXFLAGS) -g -DTEST_JOYSTICK -DLINUXJOYSTICK=1 \
1032             -o $@ InputDevice.cpp mysnprintf.o $(INPUTTEST_OBJS) $(LIBS)
1033
1034spaceballtest: InputDevice.cpp mysnprintf.o $(INPUTTEST_OBJS)
1035	$(CXX) $(CXXFLAGS) -g -DTEST_SPACEBALL -DHAVE_LIBSBALL=1 \
1036             -o $@ InputDevice.cpp mysnprintf.o $(INPUTTEST_OBJS) $(LIBS) -lsball
1037
1038aflocktest: InputDevice.cpp $(INPUTTEST_OBJS) mysnprintf.o
1039	$(CXX) $(CXXFLAGS) -g -DTEST_AFLOCK -DHAVE_AFLOCK=1 \
1040             -o $@ InputDevice.cpp $(INPUTTEST_OBJS) mysnprintf.o $(LIBS)
1041
1042writeWonderlandModuletest: writeWonderlandModule.cpp MyString.o mysnprintf.o swt/lib/libswt.a
1043	$(CXX) $(CXXFLAGS) -o $@ -g -DTEST=1  writeWonderlandModule.cpp \
1044             MyString.o mysnprintf.o swt/lib/libswt.a -lGL -lXm -lXi -lXt -lX11 -lXmu
1045
1046# consistency test
1047FilesMissingInWindowsProjects.o: FilesMissingInWindowsProjects.cpp
1048	$(CXX) $(CXXFLAGS) -c FilesMissingInWindowsProjects.cpp
1049	rm -f FilesMissingInWindowsProjects.o
1050
1051clobber:
1052	cd swt ; $(MAKE) clobber
1053	rm -f dune
1054
1055depend:	Makefile.depend_dune Makefile.depend_bigdune Makefile.depend_type \
1056        Makefile.depend_extra Makefile.depend_c Makefile.depend_lexyacc \
1057        Makefile.depend_main Makefile.depend_nodes
1058	cp Makefile Makefile.bak
1059	$(AWK) '{ print } /^# DO NOT DELETE THIS LINE/ { print ""; exit }' < Makefile.bak > Makefile
1060	cat Makefile.depend_dune Makefile.depend_bigdune Makefile.depend_type \
1061            Makefile.depend_extra Makefile.depend_c Makefile.depend_lexyacc \
1062            Makefile.depend_main Makefile.depend_nodes >> Makefile
1063	rm -f Makefile.depend_dune Makefile.depend_bigdune Makefile.depend_type \
1064              Makefile.depend_extra Makefile.depend_c Makefile.depend_lexyacc \
1065              Makefile.depend_main Makefile.depend_nodes
1066
1067Makefile.depend_dune: SceneViewDebugOnUpdate.cpp
1068	sh ../batch/mkdep.sh "$(CXX)" $(CPPFLAGS) $(CXXFLAGS) $(SRCSDUNECLASSES) \
1069           $(SRCSDIALOGCLASSES) $(SRCSAPPCLASSES) > $@
1070
1071Makefile.depend_bigdune:
1072	sh ../batch/mkdep.sh "$(CXX)" $(CPPFLAGS) $(CXXFLAGS) $(SRCSBIGDUNECLASSES) > $@
1073
1074Makefile.depend_type:
1075	sh ../batch/mkdep.sh "$(CXX)" $(CPPFLAGS) $(CXXFLAGS) $(SRCSTYPECLASSES) > $@
1076
1077Makefile.depend_nodes:
1078	sh ../batch/mkdep.sh "$(CXX)" $(CPPFLAGS) $(CXXFLAGS) $(SRCSNODECLASSES) \
1079           $(SRCSNODEPARENTCLASSES) > $@
1080
1081Makefile.depend_extra:
1082	sh ../batch/mkdep.sh "$(CXX)" $(CPPFLAGS) $(CXXFLAGS) $(SRCSEXTRACLASSES) > $@
1083
1084Makefile.depend_c: resource.c
1085	sh ../batch/mkdep.sh "$(CXX)" $(CPPFLAGS) $(CXXFLAGS) $(SRCSC) resource.c > $@
1086
1087Makefile.depend_lexyacc: parser.cpp lexer.cpp
1088	sh ../batch/mkdep.sh "$(CXX)" $(CPPFLAGS) $(CXXFLAGS) parser.cpp lexer.cpp >> $@
1089
1090Makefile.depend_main:
1091	sh ../batch/mkdep.sh "$(CXX)" $(CPPFLAGS) $(CXXFLAGS) main.cpp > $@
1092
1093debug: ../bin/dune
1094	$(CXX) $(CXXFLAGS) -DHAVE_WANT_CORE=1 -c xerrorhandler.cpp
1095	$(CC) $(CFLAGS) -DDEBUG=1 -std=c99 -c -o mysnprintf.o mysnprintf.c
1096#	$(CXX) $(CXXFLAGS) -DDEBUG=1 -c Path.cpp
1097#	$(CXX) $(CXXFLAGS) -DDEBUG=1 -c SceneTreeView.cpp
1098	make ../bin/dune
1099
1100../bin/png2PixelTexture: png2PixelTexture.cpp pngLoad.c
1101	$(CXX) $(CXXFLAGS) -g -o $@ png2PixelTexture.cpp pngLoad.c $(LDFLAGS) -L/usr/local/lib -lpng
1102
1103tar.bz2:
1104	sh ../batch/mktarbz2.sh
1105
1106
1107# DO NOT DELETE THIS LINE -- make depend depends on it.
1108
1109