##=============================================================
## Makefile to build the EQUINOX-3D plugins
##
## AUTHOR:	Gabor Nagy
## DATE:	2002-Feb-07 00:10:20
##
## Copyright (C) 1995 by Gabor Nagy. All rights reserved.
##=============================================================

EQXDIR =	/usr/local/equinox
DSODIR =	$(EQXDIR)/Plugins

## No separate ".o"s for debug builds...
##
OBJDIR =	$(EQXDIR)/obj/E3D

CFLAGS =	$(OPTFLAG) $(CF) $(CLF) -DUSEOpenGL $(STDINC) $(XINC) -I$(EQXDIR)/src/include

include		IconRules

TARGETS	=	$(DSODIR)/Info.so\
		$(DSODIR)/Camera.so\
		$(DSODIR)/Display.so\
		$(DSODIR)/RenderPOV.so\
		$(DSODIR)/Splines.so\
		$(DSODIR)/Transforms.so\
		$(DSODIR)/Primitives/Cube.so\
		$(DSODIR)/Primitives/Cylinder.so\
		$(DSODIR)/Primitives/Grid.so\
		$(DSODIR)/Primitives/Polyhedra.so\
		$(DSODIR)/Primitives/Torus.so\
		$(DSODIR)/Primitives/Vector.so\
		$(DSODIR)/Animation/Path.so

Plugins all:	$(DSODIR)\
		$(DSODIR)/Animation $(DSODIR)/Primitives $(DSODIR)/Shaders $(DSODIR)/Surface\
		$(OBJDIR)/Icons\
		$(TARGETS)
		lc *.[ch] Animation/*.[ch] Primitives/*.[ch] Surface/*.[ch]


clean:
		rm -f so_locations $(TARGETS) $(OBJDIR)/*.o $(OBJDIR)/Primitives/*.o $(OBJDIR)/Surface/*.o core


## Rules to create the necessary directories if they don't exist yet
##
$(DSODIR):			$(OBJDIR)
				mkdir -p $@;cp Plugins.list $(DSODIR)

$(DSODIR)/Animation:		$(OBJDIR)/Animation
				mkdir -p $@

$(DSODIR)/Primitives:		$(OBJDIR)/Primitives
				mkdir -p $@

$(DSODIR)/Shaders:		$(OBJDIR)/Shaders
				mkdir -p $@

$(DSODIR)/Surface:		$(OBJDIR)/Surface
				mkdir -p $@

$(OBJDIR):
				mkdir -p $@

$(OBJDIR)/Icons:
				mkdir -p $@

$(OBJDIR)/Animation:
				mkdir -p $@

$(OBJDIR)/Primitives:
				mkdir -p $@

$(OBJDIR)/Shaders:
				mkdir -p $@

$(OBJDIR)/Surface:
				mkdir -p $@


## Build rules for the individual plugins
##
EditIcons	=		$(OBJDIR)/Icons/BBoxBig.o\
				$(OBJDIR)/Icons/LinSegment.o $(OBJDIR)/Icons/LinSegmentActive.o $(OBJDIR)/Icons/LinSegmentArm.o\
				$(OBJDIR)/Icons/CrvSegment.o $(OBJDIR)/Icons/CrvSegmentActive.o $(OBJDIR)/Icons/CrvSegmentArm.o

$(DSODIR)/Edit.so:		$(OBJDIR)/Edit.o $(OBJDIR)/EditGeometry.o $(EditIcons)
				ld -shared $(OBJDIR)/Edit.o $(OBJDIR)/EditGeometry.o $(EditIcons) -o $@

$(OBJDIR)/Edit.o:		Edit.c
				$(CC) -c $(CFLAGS) Edit.c -o $@

$(OBJDIR)/EditGeometry.o:	EditGeometry.c
				$(CC) -c $(CFLAGS) EditGeometry.c -o $@

## Rules to build the icons
##
$(OBJDIR)/Icons/LinSegment.o:	Icons/sgi/LinSegment.sgi $(IconRules)
				ids -o 12 12 -b 16 -S 64 64 64 0 Icons/sgi/LinSegment.sgi tmp.sgi
				icr -c $(ICON128_CROP) tmp.sgi tmp.sgi
				is -s 36 36 tmp.sgi Icons/LinSegment.c;rm tmp.sgi
				$(CC) -c Icons/LinSegment.c -o $@;rm Icons/LinSegment.c

$(OBJDIR)/Icons/LinSegmentActive.o:	Icons/sgi/LinSegmentH.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/LinSegmentH.sgi tmp.sgi
				ids $(ICON128_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ACTIVE_CROP) tmp.sgi tmp.sgi
				is -s 36 36 tmp.sgi Icons/LinSegmentActive.c;rm tmp.sgi
				$(CC) -c Icons/LinSegmentActive.c -o $@;rm Icons/LinSegmentActive.c

$(OBJDIR)/Icons/LinSegmentArm.o:Icons/sgi/LinSegmentA.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/LinSegmentA.sgi tmp.sgi
				ids $(ICON128ARM_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ARM_CROP) tmp.sgi tmp.sgi
				is -s 36 36 tmp.sgi Icons/LinSegmentArm.c;rm tmp.sgi
				$(CC) -c Icons/LinSegmentArm.c -o $@;rm Icons/LinSegmentArm.c


$(OBJDIR)/Icons/CrvSegment.o:	Icons/sgi/CrvSegment.sgi $(IconRules)
				ids -o 12 12 -b 16 -S 64 64 64 0 Icons/sgi/CrvSegment.sgi tmp.sgi
				icr -c $(ICON128_CROP) tmp.sgi tmp.sgi
				is -s 36 36 tmp.sgi Icons/CrvSegment.c;rm tmp.sgi
				$(CC) -c Icons/CrvSegment.c -o $@;rm Icons/CrvSegment.c

$(OBJDIR)/Icons/CrvSegmentActive.o:	Icons/sgi/CrvSegmentH.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/CrvSegmentH.sgi tmp.sgi
				ids $(ICON128_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ACTIVE_CROP) tmp.sgi tmp.sgi
				is -s 36 36 tmp.sgi Icons/CrvSegmentActive.c;rm tmp.sgi
				$(CC) -c Icons/CrvSegmentActive.c -o $@;rm Icons/CrvSegmentActive.c

$(OBJDIR)/Icons/CrvSegmentArm.o:Icons/sgi/CrvSegmentA.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/CrvSegmentA.sgi tmp.sgi
				ids $(ICON128ARM_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ARM_CROP) tmp.sgi tmp.sgi
				is -s 36 36 tmp.sgi Icons/CrvSegmentArm.c;rm tmp.sgi
				$(CC) -c Icons/CrvSegmentArm.c -o $@;rm Icons/CrvSegmentArm.c


## Bounding box icon
##
$(OBJDIR)/Icons/BBoxBig.o:	Icons/sgi/BBox.sgi $(IconRules)
				ids $(ICON128BIG_DROPSHADOW) Icons/sgi/BBox.sgi tmp.sgi
				icr -c $(ICON128BIG_CROP) tmp.sgi tmp.sgi
				is -s $(ICONBIG_XSIZE) $(ICONBIG_YSIZE) tmp.sgi Icons/BBoxBig.c;rm -f tmp.sgi
				$(CC) -c Icons/BBoxBig.c -o $@;rm Icons/BBoxBig.c




$(DSODIR)/Info.so:		$(OBJDIR)/Info.o
				ld -shared $(OBJDIR)/Info.o -o $@

$(OBJDIR)/Info.o:		Info.c
				$(CC) -c $(CFLAGS) Info.c -o $@



$(DSODIR)/Camera.so:		$(OBJDIR)/Camera.o
				ld -shared $(OBJDIR)/Camera.o -o $@

$(OBJDIR)/Camera.o:		Camera.c
				$(CC) -c $(CFLAGS) Camera.c -o $@



$(DSODIR)/AppLink.so:		$(OBJDIR)/AppLink.o
				ld -shared $(OBJDIR)/AppLink.o -o $@

$(OBJDIR)/AppLink.o:		AppLink.c
				$(CC) -c $(CFLAGS) AppLink.c -o $@



$(DSODIR)/Clone.so:		$(OBJDIR)/Clone.o\
				$(OBJDIR)/Icons/Mirror.o $(OBJDIR)/Icons/MirrorActive.o $(OBJDIR)/Icons/MirrorArm.o $(OBJDIR)/Icons/MirrorBig.o
				ld -shared $(OBJDIR)/Clone.o $(OBJDIR)/Icons/Mirror.o $(OBJDIR)/Icons/MirrorActive.o $(OBJDIR)/Icons/MirrorArm.o $(OBJDIR)/Icons/MirrorBig.o -o $@

$(OBJDIR)/Clone.o:		Clone.c
				$(CC) -c $(CFLAGS) Clone.c -o $@

## Rules to build the icons
##


$(OBJDIR)/Icons/Mirror.o:	Icons/sgi/Mirror.sgi $(IconRules)
				ids $(ICON128_DROPSHADOW) Icons/sgi/Mirror.sgi tmp.sgi
				icr -c $(ICON128_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/Mirror.c;rm tmp.sgi
				$(CC) -c Icons/Mirror.c -o $@;rm Icons/Mirror.c

$(OBJDIR)/Icons/MirrorActive.o:	Icons/sgi/Mirror.sgi $(IconRules)
				icn -c 1.42 Icons/sgi/Mirror.sgi tmp.sgi
				ids $(ICON128_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ACTIVE_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/MirrorActive.c;rm tmp.sgi
				$(CC) -c Icons/MirrorActive.c -o $@;rm Icons/MirrorActive.c

$(OBJDIR)/Icons/MirrorArm.o:	Icons/sgi/Mirror.sgi $(IconRules)
				icn -c 1.42 Icons/sgi/Mirror.sgi tmp.sgi
				ids $(ICON128ARM_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ARM_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/MirrorArm.c;rm tmp.sgi
				$(CC) -c Icons/MirrorArm.c -o $@;rm Icons/MirrorArm.c

$(OBJDIR)/Icons/MirrorBig.o:	Icons/sgi/Mirror.sgi $(IconRules)
				ids $(ICON128BIG_DROPSHADOW) Icons/sgi/Mirror.sgi tmp.sgi
				icr -c $(ICON128BIG_CROP) tmp.sgi tmp.sgi
				is -s $(ICONBIG_XSIZE) $(ICONBIG_YSIZE) tmp.sgi Icons/MirrorBig.c;rm -f tmp.sgi
				$(CC) -c Icons/MirrorBig.c -o $@;rm Icons/MirrorBig.c



$(DSODIR)/Display.so:		$(OBJDIR)/Display.o
				ld -shared $(OBJDIR)/Display.o -o $@

$(OBJDIR)/Display.o:		Display.c
				$(CC) -c $(CFLAGS) Display.c -o $@




$(DSODIR)/Files.so:		$(OBJDIR)/Files.o
				ld -shared $(OBJDIR)/Files.o -o $@

$(OBJDIR)/Files.o:		Files.c
				$(CC) -c $(CFLAGS) Files.c -o $@




$(DSODIR)/HoledPoly.so:		$(OBJDIR)/HoledPoly.o
				ld -shared $(OBJDIR)/HoledPoly.o -o $@

$(OBJDIR)/HoledPoly.o:		HoledPoly.c
				$(CC) -c $(CFLAGS) HoledPoly.c -o $@



$(DSODIR)/Merge.so:		$(OBJDIR)/Merge.o
				ld -shared $(OBJDIR)/Merge.o -o $@

$(OBJDIR)/Merge.o:		Merge.c
				$(CC) -c $(CFLAGS) Merge.c -o $@



$(DSODIR)/Polhemus.so:		$(OBJDIR)/Polhemus.o
				ld -shared $(OBJDIR)/Polhemus.o -o $@

$(OBJDIR)/Polhemus.o:		Polhemus.c
				$(CC) -c $(CFLAGS) Polhemus.c -o $@



$(DSODIR)/Geometries.so:	$(OBJDIR)/Geometries.o
				ld -shared $(OBJDIR)/Geometries.o -o $@

$(OBJDIR)/Geometries.o:		Geometries.c
				$(CC) -c $(CFLAGS) Geometries.c -o $(OBJDIR)/Geometries.o



$(DSODIR)/PolyGroups.so:	$(OBJDIR)/PolyGroups.o
				ld -shared $(OBJDIR)/PolyGroups.o -o $@

$(OBJDIR)/PolyGroups.o:		PolyGroups.c
				$(CC) -c $(CFLAGS) PolyGroups.c -o $(OBJDIR)/PolyGroups.o



$(DSODIR)/StockGraph.so:	$(OBJDIR)/StockGraph.o
				ld -shared $(OBJDIR)/StockGraph.o -o $@

$(OBJDIR)/StockGraph.o:		StockGraph.c
				$(CC) -c $(CFLAGS) StockGraph.c -o $@



##=======================================
## Hierarchy editing
##=======================================
HrcIcons=			$(OBJDIR)/Icons/Connect.o $(OBJDIR)/Icons/ConnectActive.o $(OBJDIR)/Icons/ConnectArm.o\
				$(OBJDIR)/Icons/Disconnect.o $(OBJDIR)/Icons/DisconnectActive.o $(OBJDIR)/Icons/DisconnectArm.o


$(DSODIR)/Hierarchies.so:	$(OBJDIR)/Hierarchies.o $(HrcIcons)
				ld -shared $(OBJDIR)/Hierarchies.o  $(HrcIcons) -o $@

$(OBJDIR)/Hierarchies.o:	Hierarchies.c
				$(CC) -c $(CFLAGS) Hierarchies.c -o $@

## Rules to build the icons
##
$(OBJDIR)/Icons/Connect.o:	Icons/sgi/Connect.sgi $(IconRules)
				ids $(ICON128_DROPSHADOW) Icons/sgi/Connect.sgi tmp.sgi
				icr -c $(ICON128_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/Connect.c;rm tmp.sgi
				$(CC) -c Icons/Connect.c -o $@;rm Icons/Connect.c

$(OBJDIR)/Icons/ConnectActive.o:Icons/sgi/Connect.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Connect.sgi tmp.sgi
				ids $(ICON128_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ACTIVE_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/ConnectActive.c;rm tmp.sgi
				$(CC) -c Icons/ConnectActive.c -o $@;rm Icons/ConnectActive.c

$(OBJDIR)/Icons/ConnectArm.o:	Icons/sgi/Connect.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Connect.sgi tmp.sgi
				ids $(ICON128ARM_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ARM_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/ConnectArm.c;rm tmp.sgi
				$(CC) -c Icons/ConnectArm.c -o $@;rm Icons/ConnectArm.c


$(OBJDIR)/Icons/Disconnect.o:	Icons/sgi/Disconnect.sgi $(IconRules)
				ids $(ICON128_DROPSHADOW) Icons/sgi/Disconnect.sgi tmp.sgi
				icr -c $(ICON128_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/Disconnect.c;rm tmp.sgi
				$(CC) -c Icons/Disconnect.c -o $@;rm Icons/Disconnect.c

$(OBJDIR)/Icons/DisconnectActive.o:	Icons/sgi/Disconnect.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Disconnect.sgi tmp.sgi
				ids $(ICON128_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ACTIVE_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/DisconnectActive.c;rm tmp.sgi
				$(CC) -c Icons/DisconnectActive.c -o $@;rm Icons/DisconnectActive.c

$(OBJDIR)/Icons/DisconnectArm.o:Icons/sgi/Disconnect.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Disconnect.sgi tmp.sgi
				ids $(ICON128ARM_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ARM_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/DisconnectArm.c;rm tmp.sgi
				$(CC) -c Icons/DisconnectArm.c -o $@;rm Icons/DisconnectArm.c



##=======================================
## Lights
##=======================================
$(DSODIR)/Lights.so:		$(OBJDIR)/Lights.o\
				$(OBJDIR)/Icons/PointLight.o $(OBJDIR)/Icons/PointLightActive.o $(OBJDIR)/Icons/PointLightArm.o $(OBJDIR)/Icons/PointLightBig.o
				ld -shared $(OBJDIR)/Lights.o $(OBJDIR)/Icons/PointLight.o $(OBJDIR)/Icons/PointLightActive.o $(OBJDIR)/Icons/PointLightArm.o $(OBJDIR)/Icons/PointLightBig.o -o $@

$(OBJDIR)/Lights.o:		Lights.c
				$(CC) -c $(CFLAGS) Lights.c -o $@

## Rules to build the icons
##
$(OBJDIR)/Icons/PointLight.o:		Icons/sgi/PointLight.sgi $(IconRules)
				ids $(ICON128_DROPSHADOW) Icons/sgi/PointLight.sgi tmp.sgi
				icr -c $(ICON128_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/PointLight.c;rm tmp.sgi
				$(CC) -c Icons/PointLight.c -o $@;rm Icons/PointLight.c

$(OBJDIR)/Icons/PointLightActive.o:	Icons/sgi/PointLight.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/PointLight.sgi tmp.sgi
				ids $(ICON128_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ACTIVE_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/PointLightActive.c;rm tmp.sgi
				$(CC) -c Icons/PointLightActive.c -o $@;rm Icons/PointLightActive.c

$(OBJDIR)/Icons/PointLightArm.o:	Icons/sgi/PointLight.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/PointLight.sgi tmp.sgi
				ids $(ICON128ARM_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ARM_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/PointLightArm.c;rm tmp.sgi
				$(CC) -c Icons/PointLightArm.c -o $@;rm Icons/PointLightArm.c

$(OBJDIR)/Icons/PointLightBig.o:	Icons/sgi/PointLight.sgi $(IconRules)
				ids $(ICON128BIG_DROPSHADOW) Icons/sgi/PointLight.sgi tmp.sgi
				icr -c $(ICON128BIG_CROP) tmp.sgi tmp.sgi
				is -s $(ICONBIG_XSIZE) $(ICONBIG_YSIZE) tmp.sgi Icons/PointLightBig.c;rm -f tmp.sgi
				$(CC) -c Icons/PointLightBig.c -o $@;rm Icons/PointLightBig.c




##=======================================
## Material editor
##=======================================

MaterialIcons	=		$(OBJDIR)/Icons/Cube.o $(OBJDIR)/Icons/CubeActive.o $(OBJDIR)/Icons/CubeArm.o\
				$(OBJDIR)/Icons/Cylinder.o $(OBJDIR)/Icons/CylinderActive.o $(OBJDIR)/Icons/CylinderArm.o\
				$(OBJDIR)/Icons/Sphere.o $(OBJDIR)/Icons/SphereActive.o $(OBJDIR)/Icons/SphereArm.o

$(DSODIR)/Materials.so:		$(OBJDIR)/Materials.o $(OBJDIR)/Textures.o $(MaterialIcons)
				ld -shared $(OBJDIR)/Materials.o $(OBJDIR)/Textures.o $(MaterialIcons) -o $@

$(OBJDIR)/Materials.o:		Materials.c Materials.h
				$(CC) -c $(CFLAGS) Materials.c -o $@

$(OBJDIR)/Textures.o:		Textures.c Materials.h
				$(CC) -c $(CFLAGS) Textures.c -o $@


$(DSODIR)/Render.so:		$(OBJDIR)/Render.o
				ld -shared $(OBJDIR)/Render.o -o $@

$(OBJDIR)/Render.o:		Render.c
				$(CC) -c $(CFLAGS) Render.c -o $@



$(DSODIR)/RenderPOV.so:		$(OBJDIR)/RenderPOV.o
				ld -shared $(OBJDIR)/RenderPOV.o -o $@

$(OBJDIR)/RenderPOV.o:		RenderPOV.c
				$(CC) -c $(CFLAGS) RenderPOV.c -o $@



$(DSODIR)/Select.so:		$(OBJDIR)/Select.o
				ld -shared $(OBJDIR)/Select.o -o $@

$(OBJDIR)/Select.o:		Select.c
				$(CC) -c $(CFLAGS) Select.c -o $@



$(DSODIR)/SkinMesh.so:		$(OBJDIR)/SkinMesh.o
				ld -shared $(OBJDIR)/SkinMesh.o -o $@

$(OBJDIR)/SkinMesh.o:		SkinMesh.c
				$(CC) -c $(CFLAGS) SkinMesh.c -o $@




$(DSODIR)/Splines.so:		$(OBJDIR)/Splines.o
				ld -shared $(OBJDIR)/Splines.o -o $@

$(OBJDIR)/Splines.o:		Splines.c
				$(CC) -c $(CFLAGS) Splines.c -o $@



$(DSODIR)/Faces.so:		$(OBJDIR)/Faces.o
				ld -shared $(OBJDIR)/Faces.o -o $@

$(OBJDIR)/Faces.o:		Faces.c
				$(CC) -c $(CFLAGS) Faces.c -o $@



##=======================================
## Stripify
##=======================================
$(DSODIR)/stripify.so:		$(OBJDIR)/Stripify.o\
				$(OBJDIR)/Icons/Stripify.o $(OBJDIR)/Icons/StripifyActive.o $(OBJDIR)/Icons/StripifyArm.o $(OBJDIR)/Icons/StripifyBig.o
				ld -shared $(OBJDIR)/Stripify.o $(OBJDIR)/Icons/Stripify.o $(OBJDIR)/Icons/StripifyActive.o $(OBJDIR)/Icons/StripifyArm.o $(OBJDIR)/Icons/StripifyBig.o -o $@

$(OBJDIR)/Stripify.o:		Stripify.c
				$(CC) -c $(CFLAGS) Stripify.c -o $@


## Rules to build the icons
##
$(OBJDIR)/Icons/Stripify.o:	Icons/sgi/Stripify.sgi $(IconRules)
				ids $(ICON128_DROPSHADOW) Icons/sgi/Stripify.sgi tmp.sgi
				icr -c $(ICON128_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/Stripify.c;rm tmp.sgi
				$(CC) -c Icons/Stripify.c -o $@;rm Icons/Stripify.c

$(OBJDIR)/Icons/StripifyActive.o:	Icons/sgi/Stripify.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Stripify.sgi tmp.sgi
				ids $(ICON128_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ACTIVE_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/StripifyActive.c;rm tmp.sgi
				$(CC) -c Icons/StripifyActive.c -o $@;rm Icons/StripifyActive.c

$(OBJDIR)/Icons/StripifyArm.o:	Icons/sgi/Stripify.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Stripify.sgi tmp.sgi
				ids $(ICON128ARM_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ARM_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/StripifyArm.c;rm tmp.sgi
				$(CC) -c Icons/StripifyArm.c -o $@;rm Icons/StripifyArm.c

$(OBJDIR)/Icons/StripifyBig.o:	Icons/sgi/Stripify.sgi $(IconRules)
				ids $(ICON128BIG_DROPSHADOW) Icons/sgi/Stripify.sgi tmp.sgi
				icr -c $(ICON128BIG_CROP) tmp.sgi tmp.sgi
				is -s $(ICONBIG_XSIZE) $(ICONBIG_YSIZE) tmp.sgi Icons/StripifyBig.c;rm -f tmp.sgi
				$(CC) -c Icons/StripifyBig.c -o $@;rm Icons/StripifyBig.c




$(DSODIR)/RenderSetup.so:	$(OBJDIR)/RenderSetup.o
				ld -shared $(OBJDIR)/RenderSetup.o -o $@

$(OBJDIR)/RenderSetup.o:	RenderSetup.c
				$(CC) -c $(CFLAGS) RenderSetup.c -o $@




##=======================================
## Tesselate / triangulate
##=======================================
$(DSODIR)/Tesselate.so:		$(OBJDIR)/Tesselate.o\
				$(OBJDIR)/Icons/Triangulate.o $(OBJDIR)/Icons/TriangulateActive.o $(OBJDIR)/Icons/TriangulateArm.o $(OBJDIR)/Icons/TriangulateBig.o
				ld -shared $(OBJDIR)/Tesselate.o $(OBJDIR)/Icons/Triangulate.o $(OBJDIR)/Icons/TriangulateActive.o $(OBJDIR)/Icons/TriangulateArm.o $(OBJDIR)/Icons/TriangulateBig.o -o $@

$(OBJDIR)/Tesselate.o:		Tesselate.c
				$(CC) -c $(CFLAGS) Tesselate.c -o $@

## Rules to build the icons
##
$(OBJDIR)/Icons/Triangulate.o:	Icons/sgi/Triangulate.sgi $(IconRules)
				ids $(ICON128_DROPSHADOW) Icons/sgi/Triangulate.sgi tmp.sgi
				icr -c $(ICON128_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/Triangulate.c;rm tmp.sgi
				$(CC) -c Icons/Triangulate.c -o $@;rm Icons/Triangulate.c

$(OBJDIR)/Icons/TriangulateActive.o:	Icons/sgi/Triangulate.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Triangulate.sgi tmp.sgi
				ids $(ICON128_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ACTIVE_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/TriangulateActive.c;rm tmp.sgi
				$(CC) -c Icons/TriangulateActive.c -o $@;rm Icons/TriangulateActive.c

$(OBJDIR)/Icons/TriangulateArm.o:	Icons/sgi/Triangulate.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Triangulate.sgi tmp.sgi
				ids $(ICON128ARM_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ARM_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/TriangulateArm.c;rm tmp.sgi
				$(CC) -c Icons/TriangulateArm.c -o $@;rm Icons/TriangulateArm.c

$(OBJDIR)/Icons/TriangulateBig.o:	Icons/sgi/Triangulate.sgi $(IconRules)
				ids $(ICON128BIG_DROPSHADOW) Icons/sgi/Triangulate.sgi tmp.sgi
				icr -c $(ICON128BIG_CROP) tmp.sgi tmp.sgi
				is -s $(ICONBIG_XSIZE) $(ICONBIG_YSIZE) tmp.sgi Icons/TriangulateBig.c;rm -f tmp.sgi
				$(CC) -c Icons/TriangulateBig.c -o $@;rm Icons/TriangulateBig.c



$(DSODIR)/Transforms.so:	$(OBJDIR)/Transforms.o
				ld -shared $(OBJDIR)/Transforms.o -o $@

$(OBJDIR)/Transforms.o:		Transforms.c
				$(CC) -c $(CFLAGS) Transforms.c -o $@



$(DSODIR)/Wave.so:		$(OBJDIR)/Wave.o
				ld -shared $(OBJDIR)/Wave.o -o $@

$(OBJDIR)/Wave.o:		Wave.c
				$(CC) -c $(CFLAGS) Wave.c -o $@



##=======================================
## Cube / box
##=======================================
$(DSODIR)/Primitives/Cube.so:	$(OBJDIR)/Primitives/Cube.o\
				$(OBJDIR)/Icons/Cube.o $(OBJDIR)/Icons/CubeActive.o $(OBJDIR)/Icons/CubeArm.o $(OBJDIR)/Icons/CubeBig.o
				ld -shared $(OBJDIR)/Primitives/Cube.o $(OBJDIR)/Icons/Cube.o $(OBJDIR)/Icons/CubeActive.o $(OBJDIR)/Icons/CubeArm.o $(OBJDIR)/Icons/CubeBig.o -o $@

$(OBJDIR)/Primitives/Cube.o:	Primitives/Cube.c
				$(CC) -c $(CFLAGS) Primitives/Cube.c -o $@

## Rules to build the icons
##
$(OBJDIR)/Icons/Cube.o:		Icons/sgi/Cube.sgi $(IconRules)
				ids $(ICON128_DROPSHADOW) Icons/sgi/Cube.sgi tmp.sgi
				icr -c $(ICON128_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/Cube.c;rm tmp.sgi
				$(CC) -c Icons/Cube.c -o $@;rm Icons/Cube.c

$(OBJDIR)/Icons/CubeActive.o:	Icons/sgi/Cube.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Cube.sgi tmp.sgi
				ids $(ICON128_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ACTIVE_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/CubeActive.c;rm tmp.sgi
				$(CC) -c Icons/CubeActive.c -o $@;rm Icons/CubeActive.c

$(OBJDIR)/Icons/CubeArm.o:	Icons/sgi/Cube.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Cube.sgi tmp.sgi
				ids $(ICON128ARM_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ARM_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/CubeArm.c;rm tmp.sgi
				$(CC) -c Icons/CubeArm.c -o $@;rm Icons/CubeArm.c

$(OBJDIR)/Icons/CubeBig.o:	Icons/sgi/Cube.sgi $(IconRules)
				ids $(ICON128BIG_DROPSHADOW) Icons/sgi/Cube.sgi tmp.sgi
				icr -c $(ICON128BIG_CROP) tmp.sgi tmp.sgi
				is -s $(ICONBIG_XSIZE) $(ICONBIG_YSIZE) tmp.sgi Icons/CubeBig.c;rm -f tmp.sgi
				$(CC) -c Icons/CubeBig.c -o $@;rm Icons/CubeBig.c


##=======================================
## Grid
##=======================================
$(DSODIR)/Primitives/Grid.so:	$(OBJDIR)/Primitives/Grid.o\
				$(OBJDIR)/Icons/Grid.o $(OBJDIR)/Icons/GridActive.o $(OBJDIR)/Icons/GridArm.o $(OBJDIR)/Icons/GridBig.o
				ld -shared $(OBJDIR)/Primitives/Grid.o $(OBJDIR)/Icons/Grid.o $(OBJDIR)/Icons/GridActive.o $(OBJDIR)/Icons/GridArm.o $(OBJDIR)/Icons/GridBig.o -o $@

$(OBJDIR)/Primitives/Grid.o:	Primitives/Grid.c
				$(CC) -c $(CFLAGS) Primitives/Grid.c -o $@

## Rules to build the icons
##
$(OBJDIR)/Icons/Grid.o:		Icons/sgi/Grid.sgi $(IconRules)
				ids $(ICON128_DROPSHADOW) Icons/sgi/Grid.sgi tmp.sgi
				icr -c $(ICON128_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/Grid.c;rm tmp.sgi
				$(CC) -c Icons/Grid.c -o $@;rm Icons/Grid.c

$(OBJDIR)/Icons/GridActive.o:	Icons/sgi/Grid.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Grid.sgi tmp.sgi
				ids $(ICON128_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ACTIVE_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/GridActive.c;rm -f tmp.sgi
				$(CC) -c Icons/GridActive.c -o $@;rm Icons/GridActive.c

$(OBJDIR)/Icons/GridArm.o:	Icons/sgi/Grid.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Grid.sgi tmp.sgi
				ids $(ICON128ARM_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ARM_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/GridArm.c;rm -f tmp.sgi
				$(CC) -c Icons/GridArm.c -o $@;rm Icons/GridArm.c

$(OBJDIR)/Icons/GridBig.o:	Icons/sgi/Grid.sgi $(IconRules)
				ids $(ICON128BIG_DROPSHADOW) Icons/sgi/Grid.sgi tmp.sgi
				icr -c $(ICON128BIG_CROP) tmp.sgi tmp.sgi
				is -s $(ICONBIG_XSIZE) $(ICONBIG_YSIZE) tmp.sgi Icons/GridBig.c;rm -f tmp.sgi
				$(CC) -c Icons/GridBig.c -o $@;rm Icons/GridBig.c



CylIcons		=	$(OBJDIR)/Icons/Cylinder.o $(OBJDIR)/Icons/CylinderActive.o $(OBJDIR)/Icons/CylinderArm.o $(OBJDIR)/Icons/CylinderBig.o\
				$(OBJDIR)/Icons/Capsule.o $(OBJDIR)/Icons/CapsuleActive.o $(OBJDIR)/Icons/CapsuleArm.o $(OBJDIR)/Icons/CapsuleBig.o


##=======================================
## Cube / box
##=======================================
$(DSODIR)/Primitives/Cylinder.so:	$(OBJDIR)/Primitives/Cylinder.o\
					$(CylIcons)
					ld -shared $(OBJDIR)/Primitives/Cylinder.o $(CylIcons) -o $@

$(OBJDIR)/Primitives/Cylinder.o:	Primitives/Cylinder.c
					$(CC) -c $(CFLAGS) Primitives/Cylinder.c -o $@

## Rules to build the icons
##
$(OBJDIR)/Icons/Cylinder.o:	Icons/sgi/Cylinder.sgi $(IconRules)
				ids $(ICON128_DROPSHADOW) Icons/sgi/Cylinder.sgi tmp.sgi
				icr -c $(ICON128_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/Cylinder.c;rm tmp.sgi
				$(CC) -c Icons/Cylinder.c -o $@;rm Icons/Cylinder.c

$(OBJDIR)/Icons/CylinderActive.o:	Icons/sgi/Cylinder.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Cylinder.sgi tmp.sgi
				ids $(ICON128_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ACTIVE_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/CylinderActive.c;rm tmp.sgi
				$(CC) -c Icons/CylinderActive.c -o $@;rm Icons/CylinderActive.c

$(OBJDIR)/Icons/CylinderArm.o:	Icons/sgi/Cylinder.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Cylinder.sgi tmp.sgi
				ids $(ICON128ARM_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ARM_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/CylinderArm.c;rm tmp.sgi
				$(CC) -c Icons/CylinderArm.c -o $@;rm Icons/CylinderArm.c

$(OBJDIR)/Icons/CylinderBig.o:	Icons/sgi/Cylinder.sgi $(IconRules)
				ids $(ICON128BIG_DROPSHADOW) Icons/sgi/Cylinder.sgi tmp.sgi
				icr -c $(ICON128BIG_CROP) tmp.sgi tmp.sgi
				is -s $(ICONBIG_XSIZE) $(ICONBIG_YSIZE) tmp.sgi Icons/CylinderBig.c;rm -f tmp.sgi
				$(CC) -c Icons/CylinderBig.c -o $@;rm Icons/CylinderBig.c


$(OBJDIR)/Icons/Capsule.o:		Icons/sgi/Capsule.sgi $(IconRules)
				ids $(ICON128_DROPSHADOW) Icons/sgi/Capsule.sgi tmp.sgi
				icr -c $(ICON128_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/Capsule.c;rm tmp.sgi
				$(CC) -c Icons/Capsule.c -o $@;rm Icons/Capsule.c

$(OBJDIR)/Icons/CapsuleActive.o:	Icons/sgi/Capsule.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Capsule.sgi tmp.sgi
				ids $(ICON128_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ACTIVE_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/CapsuleActive.c;rm tmp.sgi
				$(CC) -c Icons/CapsuleActive.c -o $@;rm Icons/CapsuleActive.c

$(OBJDIR)/Icons/CapsuleArm.o:	Icons/sgi/Capsule.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Capsule.sgi tmp.sgi
				ids $(ICON128ARM_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ARM_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/CapsuleArm.c;rm tmp.sgi
				$(CC) -c Icons/CapsuleArm.c -o $@;rm Icons/CapsuleArm.c

$(OBJDIR)/Icons/CapsuleBig.o:	Icons/sgi/Capsule.sgi $(IconRules)
				ids $(ICON128BIG_DROPSHADOW) Icons/sgi/Capsule.sgi tmp.sgi
				icr -c $(ICON128BIG_CROP) tmp.sgi tmp.sgi
				is -s $(ICONBIG_XSIZE) $(ICONBIG_YSIZE) tmp.sgi Icons/CapsuleBig.c;rm -f tmp.sgi
				$(CC) -c Icons/CapsuleBig.c -o $@;rm Icons/CapsuleBig.c



##=======================================
## Tube
##=======================================
$(DSODIR)/Primitives/Tube.so:	$(OBJDIR)/Primitives/Tube.o\
				$(OBJDIR)/Icons/Tube.o $(OBJDIR)/Icons/TubeActive.o $(OBJDIR)/Icons/TubeArm.o $(OBJDIR)/Icons/TubeBig.o
				ld -shared $(OBJDIR)/Primitives/Tube.o $(OBJDIR)/Icons/Tube.o $(OBJDIR)/Icons/TubeActive.o $(OBJDIR)/Icons/TubeArm.o $(OBJDIR)/Icons/TubeBig.o -o $@

$(OBJDIR)/Primitives/Tube.o:	Primitives/Tube.c
				$(CC) -c $(CFLAGS) Primitives/Tube.c -o $@

## Rules to build the icons
##
$(OBJDIR)/Icons/Tube.o:		Icons/sgi/Tube.sgi $(IconRules)
				ids $(ICON128_DROPSHADOW) Icons/sgi/Tube.sgi tmp.sgi
				icr -c $(ICON128_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/Tube.c;rm tmp.sgi
				$(CC) -c Icons/Tube.c -o $@;rm Icons/Tube.c

$(OBJDIR)/Icons/TubeActive.o:	Icons/sgi/Tube.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Tube.sgi tmp.sgi
				ids $(ICON128_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ACTIVE_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/TubeActive.c;rm tmp.sgi
				$(CC) -c Icons/TubeActive.c -o $@;rm Icons/TubeActive.c

$(OBJDIR)/Icons/TubeArm.o:	Icons/sgi/Tube.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Tube.sgi tmp.sgi
				ids $(ICON128ARM_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ARM_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/TubeArm.c;rm tmp.sgi
				$(CC) -c Icons/TubeArm.c -o $@;rm Icons/TubeArm.c

$(OBJDIR)/Icons/TubeBig.o:	Icons/sgi/Tube.sgi $(IconRules)
				ids $(ICON128BIG_DROPSHADOW) Icons/sgi/Tube.sgi tmp.sgi
				icr -c $(ICON128BIG_CROP) tmp.sgi tmp.sgi
				is -s $(ICONBIG_XSIZE) $(ICONBIG_YSIZE) tmp.sgi Icons/TubeBig.c;rm -f tmp.sgi
				$(CC) -c Icons/TubeBig.c -o $@;rm Icons/TubeBig.c




##=======================================
## Polyhedra
##=======================================
PolyhedraIcons =		$(OBJDIR)/Icons/Tetra.o $(OBJDIR)/Icons/TetraActive.o $(OBJDIR)/Icons/TetraArm.o $(OBJDIR)/Icons/TetraBig.o\
				$(OBJDIR)/Icons/Icosa.o $(OBJDIR)/Icons/IcosaActive.o $(OBJDIR)/Icons/IcosaArm.o $(OBJDIR)/Icons/IcosaBig.o\
				$(OBJDIR)/Icons/Dodeca.o $(OBJDIR)/Icons/DodecaActive.o $(OBJDIR)/Icons/DodecaArm.o $(OBJDIR)/Icons/DodecaBig.o


$(DSODIR)/Primitives/Polyhedra.so:	$(OBJDIR)/Primitives/Polyhedra.o $(PolyhedraIcons)
				ld -shared $(OBJDIR)/Primitives/Polyhedra.o $(PolyhedraIcons) -o $@

$(OBJDIR)/Primitives/Polyhedra.o:	Primitives/Polyhedra.c
				$(CC) -c $(CFLAGS) Primitives/Polyhedra.c -o $@

## Rules to build the icons
##
$(OBJDIR)/Icons/Tetra.o:	Icons/sgi/Tetra.sgi $(IconRules)
				ids $(ICON128_DROPSHADOW) Icons/sgi/Tetra.sgi tmp.sgi
				icr -c $(ICON128_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/Tetra.c;rm tmp.sgi
				$(CC) -c Icons/Tetra.c -o $@;rm Icons/Tetra.c

$(OBJDIR)/Icons/TetraActive.o:	Icons/sgi/Tetra.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Tetra.sgi tmp.sgi
				ids $(ICON128_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ACTIVE_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/TetraActive.c;rm tmp.sgi
				$(CC) -c Icons/TetraActive.c -o $@;rm Icons/TetraActive.c

$(OBJDIR)/Icons/TetraArm.o:	Icons/sgi/Tetra.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Tetra.sgi tmp.sgi
				ids $(ICON128ARM_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ARM_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/TetraArm.c;rm tmp.sgi
				$(CC) -c Icons/TetraArm.c -o $@;rm Icons/TetraArm.c

$(OBJDIR)/Icons/TetraBig.o:	Icons/sgi/Tetra.sgi $(IconRules)
				ids $(ICON128BIG_DROPSHADOW) Icons/sgi/Tetra.sgi tmp.sgi
				icr -c $(ICON128BIG_CROP) tmp.sgi tmp.sgi
				is -s $(ICONBIG_XSIZE) $(ICONBIG_YSIZE) tmp.sgi Icons/TetraBig.c;rm -f tmp.sgi
				$(CC) -c Icons/TetraBig.c -o $@;rm Icons/TetraBig.c


$(OBJDIR)/Icons/Icosa.o:		Icons/sgi/Icosa.sgi $(IconRules)
				ids $(ICON128_DROPSHADOW) Icons/sgi/Icosa.sgi tmp.sgi
				icr -c $(ICON128_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/Icosa.c;rm tmp.sgi
				$(CC) -c Icons/Icosa.c -o $@;rm Icons/Icosa.c

$(OBJDIR)/Icons/IcosaActive.o:	Icons/sgi/Icosa.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Icosa.sgi tmp.sgi
				ids $(ICON128_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ACTIVE_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/IcosaActive.c;rm tmp.sgi
				$(CC) -c Icons/IcosaActive.c -o $@;rm Icons/IcosaActive.c

$(OBJDIR)/Icons/IcosaArm.o:	Icons/sgi/Icosa.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Icosa.sgi tmp.sgi
				ids $(ICON128ARM_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ARM_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/IcosaArm.c;rm tmp.sgi
				$(CC) -c Icons/IcosaArm.c -o $@;rm Icons/IcosaArm.c

$(OBJDIR)/Icons/IcosaBig.o:	Icons/sgi/Icosa.sgi $(IconRules)
				ids $(ICON128BIG_DROPSHADOW) Icons/sgi/Icosa.sgi tmp.sgi
				icr -c $(ICON128BIG_CROP) tmp.sgi tmp.sgi
				is -s $(ICONBIG_XSIZE) $(ICONBIG_YSIZE) tmp.sgi Icons/IcosaBig.c;rm -f tmp.sgi
				$(CC) -c Icons/IcosaBig.c -o $@;rm Icons/IcosaBig.c


$(OBJDIR)/Icons/Dodeca.o:	Icons/sgi/Dodeca.sgi $(IconRules)
				ids $(ICON128_DROPSHADOW) Icons/sgi/Dodeca.sgi tmp.sgi
				icr -c $(ICON128_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/Dodeca.c;rm tmp.sgi
				$(CC) -c Icons/Dodeca.c -o $@;rm Icons/Dodeca.c

$(OBJDIR)/Icons/DodecaActive.o:	Icons/sgi/Dodeca.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Dodeca.sgi tmp.sgi
				ids $(ICON128_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ACTIVE_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/DodecaActive.c;rm tmp.sgi
				$(CC) -c Icons/DodecaActive.c -o $@;rm Icons/DodecaActive.c

$(OBJDIR)/Icons/DodecaArm.o:	Icons/sgi/Dodeca.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Dodeca.sgi tmp.sgi
				ids $(ICON128ARM_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ARM_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/DodecaArm.c;rm tmp.sgi
				$(CC) -c Icons/DodecaArm.c -o $@;rm Icons/DodecaArm.c

$(OBJDIR)/Icons/DodecaBig.o:	Icons/sgi/Dodeca.sgi $(IconRules)
				ids $(ICON128BIG_DROPSHADOW) Icons/sgi/Dodeca.sgi tmp.sgi
				icr -c $(ICON128BIG_CROP) tmp.sgi tmp.sgi
				is -s $(ICONBIG_XSIZE) $(ICONBIG_YSIZE) tmp.sgi Icons/DodecaBig.c;rm -f tmp.sgi
				$(CC) -c Icons/DodecaBig.c -o $@;rm Icons/DodecaBig.c



##=======================================
## Torus
##=======================================
$(DSODIR)/Primitives/Torus.so:	$(OBJDIR)/Primitives/Torus.o\
				$(OBJDIR)/Icons/Torus.o $(OBJDIR)/Icons/TorusActive.o $(OBJDIR)/Icons/TorusArm.o $(OBJDIR)/Icons/TorusBig.o
				ld -shared $(OBJDIR)/Primitives/Torus.o $(OBJDIR)/Icons/Torus.o $(OBJDIR)/Icons/TorusActive.o $(OBJDIR)/Icons/TorusArm.o $(OBJDIR)/Icons/TorusBig.o -o $@

$(OBJDIR)/Primitives/Torus.o:	Primitives/Torus.c
				$(CC) -c $(CFLAGS) Primitives/Torus.c -o $@

## Rules to build the icons
##
$(OBJDIR)/Icons/Torus.o:		Icons/sgi/Torus.sgi $(IconRules)
				ids $(ICON128_DROPSHADOW) Icons/sgi/Torus.sgi tmp.sgi
				icr -c $(ICON128_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/Torus.c;rm tmp.sgi
				$(CC) -c Icons/Torus.c -o $@;rm Icons/Torus.c

$(OBJDIR)/Icons/TorusActive.o:	Icons/sgi/Torus.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Torus.sgi tmp.sgi
				ids $(ICON128_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ACTIVE_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/TorusActive.c;rm tmp.sgi
				$(CC) -c Icons/TorusActive.c -o $@;rm Icons/TorusActive.c

$(OBJDIR)/Icons/TorusArm.o:	Icons/sgi/Torus.sgi $(IconRules)
				icn -c $(ICONH_CONTRAST) Icons/sgi/Torus.sgi tmp.sgi
				ids $(ICON128ARM_DROPSHADOW) tmp.sgi tmp.sgi
				icr -c $(ICON128ARM_CROP) tmp.sgi tmp.sgi
				is -s $(ICON_XSIZE) $(ICON_YSIZE) tmp.sgi Icons/TorusArm.c;rm tmp.sgi
				$(CC) -c Icons/TorusArm.c -o $@;rm Icons/TorusArm.c

$(OBJDIR)/Icons/TorusBig.o:	Icons/sgi/Torus.sgi $(IconRules)
				ids $(ICON128BIG_DROPSHADOW) Icons/sgi/Torus.sgi tmp.sgi
				icr -c $(ICON128BIG_CROP) tmp.sgi tmp.sgi
				is -s $(ICONBIG_XSIZE) $(ICONBIG_YSIZE) tmp.sgi Icons/TorusBig.c;rm -f tmp.sgi
				$(CC) -c Icons/TorusBig.c -o $@;rm Icons/TorusBig.c






##=======================================
## Vector made of Splines
##=======================================
$(DSODIR)/Primitives/Vector.so:	$(OBJDIR)/Primitives/Vector.o\
				$(OBJDIR)/Icons/VectorBig.o
				ld -shared $(OBJDIR)/Primitives/Vector.o $(OBJDIR)/Icons/VectorBig.o -o $@

$(OBJDIR)/Primitives/Vector.o:	Primitives/Vector.c
				$(CC) -c $(CFLAGS) Primitives/Vector.c -o $@

## Rules to build the icons
##
$(OBJDIR)/Icons/VectorBig.o:	Icons/sgi/Vector.sgi $(IconRules)
				ids $(ICON128BIG_DROPSHADOW) Icons/sgi/Vector.sgi tmp.sgi
				icr -c $(ICON128BIG_CROP) tmp.sgi tmp.sgi
				is -s $(ICONBIG_XSIZE) $(ICONBIG_YSIZE) tmp.sgi Icons/VectorBig.c;rm -f tmp.sgi
				$(CC) -c Icons/VectorBig.c -o $@;rm Icons/VectorBig.c






$(DSODIR)/Animation/Path.so:	$(OBJDIR)/Animation/Path.o
				ld -shared $(OBJDIR)/Animation/Path.o -o $@

$(OBJDIR)/Animation/Path.o:	Animation/Path.c
				$(CC) -c $(CFLAGS) Animation/Path.c -o $@
