#define IHaveSubdirs
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
#include <../config/config.def>

BASICINCLUDES=-I. -I../include -I../lib/io -I../tiff -I../jpeg -I../loadimage
EXTRAINCLUDES=
CC=ccCmd
CDEBUGFLAGS= ccDebugFlags
YACC=yacc
LEX=lex

#if defined(IHaveGenericImageLoader)
IMLIBDEFINES=-DHAS_GEN_LOADER
#else
IMLIBDEFINES=
#endif

#if defined(NoXWindows)
WINDEFINES=-DNOX
#else
WINDEFINES=
#endif

#if defined (sun) || defined (sparc) || defined(SunArchitecture)
#if (OSMajorVersion < 5) 
#undef HasSunOSSharedLibraries
#else
#ifndef SVR4
#define SVR4
#endif
EXTRAINCLUDES = -I../solaris 
SHLIBLDFLAGS = -G
#ifdef HasSunOSSharedLibraries
CC=cc
#endif
#endif
#endif 

#if defined (convex) || defined(ConvexArchitecture)
EXTRADEFINES=-Dconvex
#endif

#if defined (ultrix) || defined (MIPSEL)
#if defined (IHaveGCC)
EXTRAFLAGS=
#else
EXTRAFLAGS= -Wf,-XNh20000
#endif
EXTRADEFINES=-Dmips -Dultrix $(EXTRAFLAGS)
#endif

#if defined (hpux) || defined (HPArchitecture)
EXTRADEFINES=-Dhpux -D_HPUX_SOURCE
#endif

#if defined (sgi) || defined (SGIArchitecture)
EXTRADEFINES=-Dsgi 
#ifdef IHaveGCC
CCOPTIONS=
#endif
STD_DEFINES=
#endif

#if defined (stardent) || defined (titan) || defined(StardentArchitecture)
#ifndef SYSV
#define SYSV
#endif
CC=cc -43
STD_DEFINES=
EXTRADEFINES=-DNO_STDLIB
#endif

#if defined(linux) || defined (LinuxArchitecture) 
LEX=flex
#endif

#if defined(bsdi) || defined (__bsdi__)
EXTRAINCLUDES=-I/usr/X11R6/include
#endif

#include <../config/skeleton.cf>

INCLUDES=$(BASICINCLUDES) $(EXTRAINCLUDES)
DEFINES=$(IMLIBDEFINES) $(EXTRADEFINES) $(WINDEFINES)

SUBDIRS = io
SYSLIBS = 
LIBRARY = libSy.a
AR = arCmd

SRCS = \
Sy_Allocate.c  \
Sy_Automatic.c \
Sy_AvlTree.c \
Sy_Border.c  \
Sy_Chrono.c  \
Sy_Clip.c \
Sy_Compress.c  \
Sy_Cratran.c  \
Sy_Delipo.c  \
Sy_DrawArc.c  \
Sy_DrawIpo.c  \
Sy_DrawProm.c  \
Sy_DrawPyrRecon.c  \
Sy_DrawPyramid.c  \
Sy_DrawRecon.c  \
Sy_DrawSkeleton.c  \
Sy_DrawTrian.c  \
Sy_DrawVoro.c  \
Sy_Global.c \
Sy_Grouper.c  \
Sy_HilevIO.c  \
Sy_Idraw.c   \
Sy_Convert2Idraw.c \
Sy_Ipo2PS.c  \
Sy_IpoIO.c  \
Sy_IpoTraverse.c  \
Sy_Lang.c \
Sy_LispFacts.c  \
Sy_LoadImage.c \
Sy_LweCorr.c  \
Sy_RandomDots.c  \
Sy_Regular.c  \
Sy_SkelFix.c  \
Sy_SkelIO.c  \
Sy_SkelPyramid.c  \
Sy_SkelTrav.c  \
Sy_SkelUtil.c  \
Sy_SmoothPoti.c  \
Sy_TrianIO.c  \
Sy_TrianPoti.c  \
Sy_TrianRegular.c  \
Sy_TrianTraverse.c  \
Sy_Util.c  \
Sy_Voro2Trian.c  \
Sy_VoroIO.c  \
Sy_VoroTraverse.c  \
Sy_Voronoi.c \
Sy_LowUtils.c  \
Sy_Getopt.c  \
Sy_Uparse.c  \
Sy_PbmUtil.c  \
Sy_SunRaster.c \
Sy_NR.c \
y.tab.c

OBJECTS = \
Sy_Allocate.o  \
Sy_Automatic.o \
Sy_AvlTree.o \
Sy_Border.o  \
Sy_Chrono.o  \
Sy_Clip.o \
Sy_Compress.o  \
Sy_Cratran.o  \
Sy_Delipo.o  \
Sy_DrawArc.o  \
Sy_DrawIpo.o  \
Sy_DrawProm.o  \
Sy_DrawPyrRecon.o  \
Sy_DrawPyramid.o  \
Sy_DrawRecon.o  \
Sy_DrawSkeleton.o  \
Sy_DrawTrian.o  \
Sy_DrawVoro.o  \
Sy_Global.o \
Sy_Grouper.o  \
Sy_HilevIO.o  \
Sy_Idraw.o   \
Sy_Convert2Idraw.o \
Sy_Ipo2PS.o  \
Sy_IpoIO.o  \
Sy_IpoTraverse.o  \
Sy_Lang.o \
Sy_LispFacts.o  \
Sy_LoadImage.o \
Sy_LweCorr.o  \
Sy_RandomDots.o  \
Sy_Regular.o  \
Sy_SkelFix.o  \
Sy_SkelIO.o  \
Sy_SkelPyramid.o  \
Sy_SkelTrav.o  \
Sy_SkelUtil.o  \
Sy_SmoothPoti.o  \
Sy_TrianIO.o  \
Sy_TrianPoti.o  \
Sy_TrianRegular.o  \
Sy_TrianTraverse.o  \
Sy_Util.o  \
Sy_Voro2Trian.o  \
Sy_VoroIO.o  \
Sy_VoroTraverse.o  \
Sy_Voronoi.o \
Sy_LowUtils.o  \
Sy_Getopt.o  \
Sy_Uparse.o  \
Sy_PbmUtil.o  \
Sy_SunRaster.o \
Sy_NR.o \
y.tab.o
 
#ifndef DevelopmentMode
SetPrecious($(LIBRARY))
NormalLibraryTarget(Sy, $(OBJECTS))
#if defined(InstallLibs)
InstallLibrary(Sy,$(PRIVLIBDIR))
#endif
#ifdef HasSunOSSharedLibraries
SharedLibraryTarget(Sy,1,$(OBJECTS),.,.)
InstallSharedLibrary(Sy,1,$(PRIVLIBDIR))
#endif
#else
SetPrecious($(PRIVLIBDIR)/$(LIBRARY))
RemoteLibraryFromSrcTarget(Sy, $(SRCS))
#endif
DependTarget()
SoftCleanTarget()

LinkSourceFile(Sy_PbmUtil.c,io)
LinkSourceFile(Sy_SunRaster.c,io)

SoftCleanSubdirs( $(SUBDIRS) )
SoftCleanTarget()

y.tab.o: y.tab.c lex.yy.c
	$(CC) $(CFLAGS) -c y.tab.c
lex.yy.c: Sy_IoParser.lex
	$(LEX) Sy_IoParser.lex
y.tab.c: Sy_IoParser.yacc
	$(YACC) Sy_IoParser.yacc
