/*

Portions Copyright (C) 1993-1996 Olivetti Research Limited, Cambridge, England.

THERE IS NO WARRANTY FOR THIS SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE
LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THIS SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  NO
GUARANTEE IS MADE THAT THIS SOFTWARE IS FREE OF SOFTWARE VIRUSES.  THE ENTIRE
RISK AS TO THE QUALITY AND PERFORMANCE OF THIS SOFTWARE IS WITH YOU.  SHOULD
THIS SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY
COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THIS
SOFTWARE AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
INABILITY TO USE THIS SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THIS SOFTWARE TO OPERATE WITH ANY OTHER SYSTEMS), EVEN IF SUCH
HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

*/

XCOMM
XCOMM Here is an Imakefile for tvtwm.  The below defines for make are
XCOMM neccessary to have things work as expected, please don't remove
XCOMM any of them.
XCOMM

         YFLAGS = -d
        DEPLIBS = $(DEPXMULIB) $(DEPEXTENSIONLIB) $(DEPXLIB)

XCOMM
XCOMM   Any of these three lines can be commented out.  The first two are
XCOMM for Xpm support.  If you do not wish to use the Xpm library functions,
XCOMM comment these two lines out.  The last line is for support to allow
XCOMM the xloadimage program by Jim Frost to perform your background loading.
XCOMM (thus allowing loading of other image formats besides Xpm or Xbm)
XCOMM                                 Chris P. Ross
XCOMM                                 <cross@eng.umd.edu>
XCOMM
XCOMM   Also note, if you install your libXpm.a in a strange place, you'll
XCOMM have to adjust $(XPMLIB) below.  You may also have to change the
XCOMM include path of the compile, so that the code can include from
XCOMM <X11/xpm.h>.
XCOMM

XCOMM         XPMLIB	= -lXpm
XCOMM        XPM_DEF = -DXPM
XCOMM    XLOADIM_DEF = -DXLOADIMAGE=\"/usr/local/bin/xloadimage\"

XCOMM   Ultrix doesn't have a mkstemp in libc...

#ifdef UltrixArchitecture
  LOCAL_DEFINES = $(XPM_DEF) -DNOSTEMP
#else
  LOCAL_DEFINES = $(XPM_DEF)
#endif

LOCAL_LIBRARIES = $(XMULIB) $(EXTENSIONLIB) $(XPMLIB) $(XLIB) $(XTOOLLIB)
       LINTLIBS = $(LINTXMU) $(LINTEXTENSIONLIB) $(LINTXLIB)
        DEFINES = ExtensionDefines $(LOCAL_DEFINES) $(SIGNAL_DEFINES)

           SRCS = gram.c lex.c deftwmrc.c add_window.c gc.c list.c twm.c \
		parse.c menus.c events.c resize.c util.c version.c iconmgr.c \
		cursor.c icons.c vdt.c move.c LocPixmap.c

           OBJS = gram.o lex.o deftwmrc.o add_window.o gc.o list.o twm.o \
		parse.o menus.o events.o resize.o util.o version.o iconmgr.o \
		cursor.o icons.o vdt.o move.o LocPixmap.o

AllTarget(tpwm)

SpecialObjectRule(parse.o, ,'-DSYSTEM_INIT_FILE="'$(TWMDIR)'/system.twmrc"')
SpecialObjectRule(vdt.o, ,$(XLOADIM_DEF))
#if !HasPutenv
SpecialObjectRule(util.o, ,-DNOPUTENV)
#endif

depend:: lex.c gram.c deftwmrc.c 

NormalProgramTarget(tpwm,$(OBJS),$(DEPLIBS),$(LOCAL_LIBRARIES),)


gram.h gram.c: gram.y
	$(YACC) $(YFLAGS) gram.y
	$(MV) y.tab.c gram.c
	$(MV) y.tab.h gram.h

clean::
	$(RM) y.tab.h y.tab.c lex.yy.c gram.h gram.c lex.c deftwmrc.c 

deftwmrc.c:  system.twmrc
	$(RM) $@
	@echo '/* ' >>$@
	@echo ' * This file is generated automatically from the default' >>$@
	@echo ' * twm bindings file system.twmrc by the twm Imakefile.' >>$@
	@echo ' */' >>$@
	@echo '' >>$@
	@echo 'char *defTwmrc[] = {' >>$@
	sed -e '/^#/d' -e 's/"/\\"/g' -e 's/^/    "/' -e 's/$$/",/' \
		system.twmrc >>$@
	@echo '    (char *) 0 };' >>$@

