# $Header: /cvs/stx/stx/libview/Make.proto,v 1.87 1997-10-04 16:13:26 cg Exp $
#
# -------------- no need to change anything below ----------
TOP=..
SUBDIRS=
LIBNAME=libview
SMALLLIBNAME=libview_small
STCOPT=$(LIBVIEW_STCOPT)
ZFLAG=-varPrefix=$(LIBNAME)
STCLOCALOPT='-package=stx:libview' $(COMMONSYMBOLS) $(SEPINITCODE) $(ZFLAG)
LINKOBJRULE=$(SEPINITLINKOBJRULE)
LOCALDEFS=-I$(XINCLUDE) $(XDEFS) $(CC_3D_FLAGS)
RCSSOURCES=*.st Make.proto styles/*.style resources/*.rs
DELIVERBINARIES=lib*.o lib*.a lib*.so $(LIBVIEW_EXTRA_TARGETS)
all:: abbrev.stc objs $(NOTINLIBOBJS) autoloadList.stc classList.stc $(OBJTARGET) $(LIBVIEW_EXTRA_TARGETS) GENLIBLIST
#
# although all files are compiled here,
# not everything goes into the target library
#
LINKOBJS=$(LIBOBJS)
#
# also, those objects are not to be placed into the liblist
#
patchLiblist::
grep -v $(WORKSTAT1) < liblist.stc | grep -v $(WORKSTAT2) > ttt
mv ttt liblist.stc
SMALLOBJFILES= \
GraphicsDevice.$(O) \
HostGraphicsDevice.$(O) \
DevWorkst.$(O) \
Image.$(O) \
Depth1Image.$(O) Depth2Image.$(O) Depth4Image.$(O) \
Depth8Image.$(O) Depth24Image.$(O) \
ImageRdr.$(O)
NOTINLIBOBJS= \
$(WORKSTAT1).$(O) \
$(WORKSTAT2).$(O)
REQUIREDOBJS= \
GraphicsDevice.$(O) \
HostGraphicsDevice.$(O) \
DevWorkst.$(O) \
Image.$(O) \
Depth1Image.$(O) \
Depth2Image.$(O) \
Depth4Image.$(O) \
Depth8Image.$(O) \
Depth24Image.$(O) \
ImageRdr.$(O)
#
# those can be compiled for space - not time critical
#
UNCRITICALOBJS= \
KeybdFwd.$(O) \
WEvent.$(O) \
KeybdMap.$(O) \
RsrcPack.$(O) \
ViewStyle.$(O) \
DRootView.$(O) \
TopView.$(O) \
StdSysV.$(O) \
ModalBox.$(O) \
WGroup.$(O) \
WSensor.$(O) \
Workstat.$(O) \
AlphaMask.$(O)
LIBOBJS= \
$(REQUIREDOBJS) \
Workstat.$(O) \
Color.$(O) \
Colormap.$(O) \
FontDescr.$(O) \
Font.$(O) \
Cursor.$(O) \
DevHandle.$(O) \
GC.$(O) \
DevGC.$(O) \
GMedium.$(O) \
Form.$(O) \
DSurface.$(O) \
SimpleView.$(O) \
View.$(O) \
TopView.$(O) \
StdSysV.$(O) \
ModalBox.$(O) \
PopUpView.$(O) \
ShadowV.$(O) \
DRootView.$(O) \
Controll.$(O) \
WTrans.$(O) \
WEvent.$(O) \
WGroup.$(O) \
WSensor.$(O) \
SWSensor.$(O) \
KeybdFwd.$(O) \
KeybdMap.$(O) \
RsrcPack.$(O) \
ViewStyle.$(O) \
Depth16Image.$(O) \
Depth32Image.$(O) \
ImageMask.$(O)
OBJS = \
$(LIBOBJS) \
$(MOREOBJS) \
$(NOTINLIBOBJS)
smalllib:
@-rm classList.stc
$(MAKE) objs \
LIBNAME=$(SMALLLIBNAME) \
OBJS="$(REQUIREDOBJS)" \
LINKOBJS="$(SMALLOBJFILES)" \
GENCLASSLIST_RULE=genClassList_new
$(MAKE) classList.stc \
GENCLASSLIST_RULE=genClassList_new \
LIBNAME=$(SMALLLIBNAME) \
OBJS="$(REQUIREDOBJS)" \
LINKOBJS="$(SMALLOBJFILES)"
$(MAKE) obj$(TARGET_RULE_EXTENSION) \
LIBNAME=$(SMALLLIBNAME) \
OBJS="$(REQUIREDOBJS)" \
LINKOBJS="$(SMALLOBJFILES)" \
GENCLASSLIST_RULE=genClassList_new
@-rm classList.stc
#
# NXWorkstation, XWorkstation and GLXWorkstation are not included in
# the classLibrary (but as extra objects)
#
specialClassList:
$(MAKE) $(GENCLASSLIST_RULE) GENCLASSLIST_RULE=$(GENCLASSLIST_RULE) LIBNAME=$(LIBNAME) OBJS="$(OBJS)" LINKOBJS="$(LINKOBJS)"
@grep -v $(WORKSTAT1) < classList.stc > ttt
@mv ttt classList.stc
@grep -v $(WORKSTAT2) < classList.stc > ttt
@mv ttt classList.stc
CLASSLISTRULE=specialClassList
cleanjunk::
-rm -f *.c *.H
clean::
-mv XWorkstat.o __XWorkstat.o
-mv GLXWorkstat.o __GLXWorkstat.o
-rm -f [A-Z]*.o *.c *.H
-mv __XWorkstat.o XWorkstat.o
-mv __GLXWorkstat.o GLXWorkstat.o
clobber::
-rm -f *.c *.H classList.stc abbrev.stc
tar:
(cd $(TOP); tar cvfh DISTRIB/libview.tar \
libview/.dir.info \
libview/*.st \
libview/Make.proto \
libview/styles/.dir.info \
libview/styles/*.style \
libview/styles/*.common \
libview/resources/*.rs)
#
# special BIG-rule (kludge for HP / ibm)
#
#
# also, XWorkstat and GLXWorkstat are separate (shared) Objects - compile without sepInitCode
# and without -Zlibview (to speedup ld.so on SGI, by avoiding conflicts)
#
XWorkstat.$(O):
$(MAKE) $(BIG_STFILE_RULE) BIG_FILE=XWorkstat CC=$(CC) OPT="$(OPT)" SEPINITCODE=-sepInitCode ZFLAG=
GLXWorkstat.$(O):
$(MAKE) $(BIG_STFILE_RULE) BIG_FILE=GLXWorkstat CC=$(CC) OPT="$(OPT)" \
SEPINITCODE=-sepInitCode ZFLAG=
DevWorkst.$(O):
$(MAKE) $(BIG_STFILE_RULE) BIG_FILE=DevWorkst CC=$(CC) OPT="$(OPT)" SEPINITCODE="$(SEPINITCODE)"
SimpleView.$(O):
$(MAKE) $(BIG_STFILE_RULE) BIG_FILE=SimpleView CC=$(CC) OPT="$(OPT)" SEPINITCODE="$(SEPINITCODE)"
Image.$(O):
$(MAKE) $(BIG_STFILE_RULE) BIG_FILE=Image CC=$(CC) OPT="$(OPT)" SEPINITCODE="$(SEPINITCODE)"
#OGLWorkstat.$(O): OGLWorkstat.st
# $(MAKE) $(BIG_STFILE_RULE) BIG_FILE=OGLWorkstat CC=$(CC) OPT="$(OPT)" \
# XDEFS="-DOPENGL -I$(MESA_DIR)/include" SEPINITCODE=-sepInitCode ZFLAG=
# ld -r -o ttt.$(O) OGLWorkstat.$(O) \
# $(MESA_DIR)/lib/libMesaGL.a \
# $(MESA_DIR)/lib/libMesaGLU.a \
# $(MESA_DIR)/lib/libMesaaux.a
# mv ttt.$(O) OGLWorkstat.$(O)
OGLWorkstat.$(O): OGLWorkstat.st
$(MAKE) $(BIG_STFILE_RULE) BIG_FILE=OGLWorkstat CC=$(CC) OPT="$(OPT)" \
SEPINITCODE=-sepInitCode ZFLAG=
ld -r -o ttt.$(O) OGLWorkstat.$(O) \
$(MESA_DIR)/lib/libMesaGL.a \
$(MESA_DIR)/lib/libMesaGLU.a \
$(MESA_DIR)/lib/libMesaaux.a
mv ttt.$(O) OGLWorkstat.$(O)
#ogl:
# $(MAKE) OGLWorkstat.o XDEFS="-DOPENGL -I$(VOGL_DIR) -DSHAPE" SEPINITCODE=-sepInitCode ZFLAG=
# mv OGLWorkstat.o ttt.o
# ld -r -o OGLWorkstat.o ttt.o \
# $(TOP)/support/MESA/Mesa1.2.5/lib/libMesaGL.a \
# $(TOP)/support/MESA/Mesa1.2.5/lib/libMesaGLU.a \
# $(TOP)/support/MESA/Mesa1.2.5/lib/libMesaaux.a \
# /lib/libc.so.4
#
# on my 320H, do not compile DeviceWorkstation with -O2;
# compiler is running out of space ...
#
#AIX_BIGGIES:
# $(MAKE) GC.$(O)
# $(MAKE) DevGC.$(O)
# $(MAKE) OPT= DevWorkst.$(O)
# $(MAKE) OPT= XWorkstat.$(O)
# $(MAKE) OPT= Image.$(O)
# $(MAKE) OPT= SimpleView.$(O)
#
# prelink those - cannot mix non-shared with shared objects (sigh)
#
AIX_SHARED_XWORKSTATION:
$(MAKE) GraphicsDevice.$(O) HostGraphicsDevice.$(O) DevWorkst.$(O)
$(MAKE) aix_exports LIBNAME=XWorkstat ENTRY=XWorkstation
@-echo "__XErrorHandler__" >> XWorkstat.exp
@-echo "__XIOErrorHandler__" >> XWorkstat.exp
$(MAKE) XWorkstat$(O_EXT) \
ENTRY_INIT=XWorkstation \
AIX_LOCAL_LIBS="$(LIBX)"
AIX_SHARED_GLXWORKSTATION:
$(MAKE) GraphicsDevice.$(O) HostGraphicsDevice.$(O) DevWorkst.$(O)
$(MAKE) aix_exports LIBNAME=XWorkstat ENTRY=XWorkstation
@-echo "__XErrorHandler__" >> XWorkstat.exp
@-echo "__XIOErrorHandler__" >> XWorkstat.exp
$(MAKE) GLXWorkstat$(O_EXT) \
ENTRY_INIT=GLXWorkstation \
AIX_LOCAL_LIBS="-bI:XWorkstat.exp $(LIB_GL) $(LIBX) -lm"
rm XWorkstat.exp
AIX::
$(MAKE) $(AIX_XWORKSTATION_RULE) $(AIX_GLXWORKSTATION_RULE)
#
# on HP, big classes blow the C-preprocessor (stops with 'too much defining' error)
#
#HP::
#
#HPbigFiles:
# $(MAKE) $(BIG_STFILE_RULE) BIG_FILE=Color CC=$(CC) OPT="$(OPT)"
# $(MAKE) $(BIG_STFILE_RULE) BIG_FILE=DevGC CC=$(CC) OPT="$(OPT)"
#
# install the extra objects
#
qinstall:: $(DESTLIBDIR)
if [ "$(WORKSTAT1)"x != "x" ]; then \
$(INSTALL_LIB) $(WORKSTAT1).$(O) $(DESTLIBDIR); \
fi
if [ "$(WORKSTAT2)"x != "$(WORKSTAT1"x ]; then \
if [ "$(WORKSTAT2)"x != "x" ]; then \
$(INSTALL_LIB) $(WORKSTAT2).$(O) $(DESTLIBDIR); \
fi \
fi
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
ActiveHelp.$(O): ActiveHelp.st $(STCHDR) ../include/EventListener.H ../include/Object.H
ActiveHelpView.$(O): ActiveHelpView.st $(STCHDR) ../include/View.H ../include/SimpleView.H ../include/DSurface.H ../include/DevGC.H ../include/GMedium.H ../include/GC.H ../include/Object.H
Color.$(O): Color.st $(STCHDR) ../include/Object.H
Colormap.$(O): Colormap.st $(STCHDR) ../include/SeqColl.H ../include/Coll.H ../include/Object.H
ContrWMenu.$(O): ContrWMenu.st $(STCHDR) ../include/Controll.H ../include/Object.H
Controll.$(O): Controll.st $(STCHDR) ../include/Object.H
Cursor.$(O): Cursor.st $(STCHDR) ../include/Object.H
DObject.$(O): DObject.st $(STCHDR) ../include/Object.H
DRootView.$(O): DRootView.st $(STCHDR) ../include/DSurface.H ../include/DevGC.H ../include/GMedium.H ../include/GC.H ../include/Object.H
DSurface.$(O): DSurface.st $(STCHDR) ../include/DevGC.H ../include/GMedium.H ../include/GC.H ../include/Object.H
Depth1Image.$(O): Depth1Image.st $(STCHDR) ../include/Image.H ../include/Object.H
ImageMask.$(O): ImageMask.st $(STCHDR) ../include/Depth1Image.H
Depth24Image.$(O): Depth24Image.st $(STCHDR) ../include/Image.H ../include/Object.H
Depth2Image.$(O): Depth2Image.st $(STCHDR) ../include/Image.H ../include/Object.H
Depth4Image.$(O): Depth4Image.st $(STCHDR) ../include/Image.H ../include/Object.H
Depth8Image.$(O): Depth8Image.st $(STCHDR) ../include/Image.H ../include/Object.H
AlphaMask.$(O): AlphaMask.st $(STCHDR) ../include/Depth8Image.H
Depth16Image.$(O): Depth16Image.st $(STCHDR) ../include/Image.H ../include/Object.H
DevGC.$(O): DevGC.st $(STCHDR) ../include/Object.H
DevHandle.$(O): DevHandle.st $(STCHDR) ../include/Object.H
DevWorkst.$(O): DevWorkst.st $(STCHDR) ../include/Object.H
Font.$(O): Font.st $(STCHDR) ../include/FontDescr.H ../include/Object.H
FontDescr.$(O): FontDescr.st $(STCHDR) ../include/Object.H
Form.$(O): Form.st $(STCHDR) ../include/DevGC.H ../include/GMedium.H ../include/GC.H ../include/Object.H
GC.$(O): GC.st $(STCHDR) ../include/Object.H
GLXWorkstat.$(O): GLXWorkstat.st $(STCHDR) ../include/XWorkstat.H ../include/DevWorkst.H ../include/Object.H
GMedium.$(O): GMedium.st $(STCHDR) ../include/Object.H
GraphAttr.$(O): GraphAttr.st $(STCHDR) ../include/Object.H
GraphicsDevice.$(O): GraphicsDevice.st $(STCHDR) ../include/Object.H
HostGraphicsDevice.$(O): HostGraphicsDevice.st $(STCHDR) ../include/Object.H
HersheyFont.$(O): HersheyFont.st $(STCHDR) ../include/Font.H ../include/FontDescr.H ../include/Object.H
Image.$(O): Image.st $(STCHDR) ../include/Object.H
ImageRdr.$(O): ImageRdr.st $(STCHDR) ../include/Object.H
InputView.$(O): InputView.st $(STCHDR) ../include/SimpleView.H ../include/DSurface.H ../include/DevGC.H ../include/GMedium.H ../include/GC.H ../include/Object.H
KeybdFwd.$(O): KeybdFwd.st $(STCHDR) ../include/Object.H
KeybdMap.$(O): KeybdMap.st $(STCHDR) ../include/IdDict.H ../include/Dict.H ../include/Set.H ../include/Coll.H ../include/Object.H
ModalBox.$(O): ModalBox.st $(STCHDR) ../include/StdSysV.H ../include/TopView.H ../include/View.H ../include/SimpleView.H ../include/DSurface.H ../include/DevGC.H ../include/GMedium.H ../include/GC.H ../include/Object.H
Model.$(O): Model.st $(STCHDR) ../include/Object.H
NXWorkst.$(O): NXWorkst.st $(STCHDR) ../include/DevWorkst.H ../include/Object.H
NewGC.$(O): NewGC.st $(STCHDR) ../include/Object.H
OGLWorkstat.$(O): OGLWorkstat.st $(STCHDR) ../include/XWorkstat.H ../include/DevWorkst.H ../include/Object.H
PopUpView.$(O): PopUpView.st $(STCHDR) ../include/TopView.H ../include/View.H ../include/SimpleView.H ../include/DSurface.H ../include/DevGC.H ../include/GMedium.H ../include/GC.H ../include/Object.H
RsrcPack.$(O): RsrcPack.st $(STCHDR) ../include/Dict.H ../include/Set.H ../include/Coll.H ../include/Object.H
SWSensor.$(O): SWSensor.st $(STCHDR) ../include/Object.H
ShadowV.$(O): ShadowV.st $(STCHDR) ../include/SimpleView.H ../include/DSurface.H ../include/DevGC.H ../include/GMedium.H ../include/GC.H ../include/Object.H
SimpleView.$(O): SimpleView.st $(STCHDR) ../include/Object.H
StdSysC.$(O): StdSysC.st $(STCHDR) ../include/Controll.H ../include/Object.H
StdSysV.$(O): StdSysV.st $(STCHDR) ../include/TopView.H ../include/View.H ../include/SimpleView.H ../include/DSurface.H ../include/DevGC.H ../include/GMedium.H ../include/GC.H ../include/Object.H
TopView.$(O): TopView.st $(STCHDR) ../include/View.H ../include/SimpleView.H ../include/DSurface.H ../include/DevGC.H ../include/GMedium.H ../include/GC.H ../include/Object.H
View.$(O): View.st $(STCHDR) ../include/SimpleView.H ../include/DSurface.H ../include/DevGC.H ../include/GMedium.H ../include/GC.H ../include/Object.H
ViewStyle.$(O): ViewStyle.st $(STCHDR) ../include/RsrcPack.H ../include/Dict.H ../include/Set.H ../include/Coll.H ../include/Object.H
WEvent.$(O): WEvent.st $(STCHDR) ../include/Object.H
WGroup.$(O): WGroup.st $(STCHDR) ../include/Object.H
WSensor.$(O): WSensor.st $(STCHDR) ../include/Object.H
WTrans.$(O): WTrans.st $(STCHDR) ../include/Object.H
WinBuilder.$(O): WinBuilder.st $(STCHDR) ../include/Object.H
Workstat.$(O): Workstat.st $(STCHDR) ../include/Object.H
XWorkstat.$(O): XWorkstat.st $(STCHDR) ../include/DevWorkst.H ../include/Object.H
# ENDMAKEDEPEND --- do not remove this line