/*
 * Imakefile for Mesa-library - src-glu tree
 *
 * Author :  Michael Pichler
 *
 * created:  21 Mar 1995
 *
 * changed:  11 Feb 1997
 *
 */


#ifdef InObjectCodeDir

/* switch to C mode */
UseGcc()

/* shared lib version */
REVISION = 2.1
APP_CCINCLUDES = -I$(SRC)/../include -I$(XINCDIR) /* also for make depend! */

/* take this line from delivered Makefile ... */
SOURCES = glu.c mipmap.c nurbs.c nurbscrv.c nurbssrf.c nurbsutl.c \
	project.c quadric.c tess.c tesselat.c polytest.c

OBJS = $(SOURCES:.c=.o)
SH_OBJS = $(OBJS)
/* no need to keep separate shared and non-shared object files */

OPTIMIZE_CCFLAGS=-O2
#ifndef HaveShared
SHARED_CCFLAGS=
#endif
APP_CCFLAGS=$(OPTIMIZE_CCFLAGS) $(SHARED_CCFLAGS)

/* patched version of the rule in hg-special.def (without shared subdir) */
#define NormalSharedLibraryTarget(libname,rev,depobjs,ldobjs)		@@\
AOUT_SH = Concat3(shared/,lib,libname.so.rev)				@@\
SHARED_CCLDLIBFLAGS = SharedCCLdLibFlags				@@\
S_OBJS = $(patsubst %.o,shared/%.o,ldobjs)				@@\
S_DEP_OBJS = $(patsubst %.o,shared/%.o,depobjs)				@@\
									@@\
AllTarget(Concat3(shared/,lib,libname.so.rev))				@@\
									@@\
Concat3(shared/,lib,libname.so.rev): $(S_DEP_OBJS)			@@\
	@echo "building $@"						@@\
	-@if [ -f $@ ] ; then \						@@\
	  	$(MV)  $@ $@~ ; \                              		@@\
	fi ;								@@\
	$(CCCMD) $(SHARED_CCLDLIBFLAGS) -o Concat(lib,libname.so.rev)  $(S_OBJS)	@@\
									@@\
clean::									@@\
	$(RM) Concat3(shared/,lib,libname.so.rev) 			@@\
	$(RM) $(S_OBJS)

/* static and shared lib version */
MakeHgLibrary(MesaGLU,$(REVISION))
MakeSharedHgLibrary(MesaGLU,$(REVISION))

MakeObjectFromSrc(glu)
MakeObjectFromSrc(mipmap)
MakeObjectFromSrc(nurbs)
MakeObjectFromSrc(nurbscrv)
MakeObjectFromSrc(nurbssrf)
MakeObjectFromSrc(nurbsutl)
MakeObjectFromSrc(project)
MakeObjectFromSrc(quadric)
MakeObjectFromSrc(tess)
MakeObjectFromSrc(tesselat)
MakeObjectFromSrc(polytest)

#else

MakeInObjectCodeDir()

Makefiles::
	-(cd $(ARCH); rmdir shared; rm -f shared; ln -s . shared)

#endif /* if compiling in subdirectory */
