XCOMM $XConsortium: Imakefile,v 1.33 91/07/17 00:48:06 gildea Exp $
XCOMM
XCOMM Here is an Imakefile for twm.  It depends on having TWMDIR defined
XCOMM in Imake.tmpl.  I like to use Imakefiles for everything, and I am sure
XCOMM other people do also, so perhaps you could do us all a favor and
XCOMM distribute this one.
XCOMM

#define XPM
/**/#define IMCONV
/**/#define USEM4

         YFLAGS = -d
        DEPLIBS = $(DEPXMULIB) $(DEPEXTENSIONLIB) $(DEPXLIB)
       LINTLIBS = $(LINTXMU) $(LINTEXTENSIONLIB) $(LINTXLIB)

#ifdef XPM
      XPMLIBDIR = 
      XPMINCDIR = 

     XPMDEFINES = -DXPM
         XPMLIB = $(XPMLIBDIR) -lXpm
#else
         XPMLIB = 
      XPMLIBDIR = 
      XPMINCDIR = 
     XPMDEFINES = 
#endif

#ifdef IMCONV
   IMCONVLIBDIR = -L/logiciels/public/graphix/lib
   IMCONVINCDIR = -I/logiciels/public/graphix/include
  IMCONVDEFINES = -DIMCONV
      IMCONVLIB = $(IMCONVLIBDIR) -lim -lsdsc
#else
      IMCONVLIB = 
   IMCONVLIBDIR = 
   IMCONVINCDIR = 
  IMCONVDEFINES = 
#endif

#ifdef USEM4
   M4LIBDIR =
   M4INCDIR =
  M4DEFINES = -DUSEM4
      M4LIB = $(M4LIBDIR)
#else
   M4LIBDIR = 
   M4INCDIR = 
  M4DEFINES = 
      M4LIB = 
#endif

LOCAL_LIBRARIES = $(M4LIB) $(IMCONVLIB) $(XPMLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
        DEFINES = $(SIGNAL_DEFINES) $(M4DEFINES) $(IMCONVDEFINES) $(XPMDEFINES)
 EXTRA_INCLUDES = $(M4INCDIR) $(IMCONVINCDIR) $(XPMINCDIR)

           SRCS = gram.c lex.c deftwmrc.c add_window.c gc.c list.c ctwm.c \
		parse.c menus.c events.c resize.c util.c version.c iconmgr.c \
		cursor.c icons.c workmgr.c

           OBJS = gram.o lex.o deftwmrc.o add_window.o gc.o list.o ctwm.o \
		parse.o menus.o events.o resize.o util.o version.o iconmgr.o \
		cursor.o icons.o workmgr.o

  PIXMAPFILES =	xpm/IslandD.xpm        xpm/mail1.xpm          xpm/xgopher.xpm \
		xpm/IslandW.xpm        xpm/nothing.xpm        xpm/xgrab.xpm \
		xpm/LRom.xpm           xpm/pixmap.xpm         xpm/xhpcalc.xpm \
		xpm/LRom1.xpm          xpm/postit.xpm         xpm/xmail.xpm \
		xpm/arthur.xpm         xpm/term.xpm           xpm/xman.xpm \
		xpm/cdrom1.xpm         xpm/unknown.xpm        xpm/xnomail.xpm \
		xpm/claude.xpm         xpm/unread.xpm         xpm/xrn.goodnews.xpm \
		xpm/datebook.xpm       xpm/xarchie.xpm        xpm/xrn.nonews.xpm \
		xpm/emacs.xpm          xpm/xcalc.xpm          xpm/xrn.xpm \
		xpm/hpterm.xpm         xpm/xcalc2.xpm         xpm/xterm.xpm \
		xpm/mail0.xpm          xpm/xedit.xpm          xpm/welcome.xpm \
		xpm/audio_editor.xpm   xpm/clipboard.xpm      xpm/ghostview.xpm \
		xpm/xirc.xpm           xpm/xmosaic.xpm        xpm/unknown1.xpm \
		xpm/xrn-compose.xpm \
		xpm/3D_Expand15.xpm    xpm/3D_Iconify15.xpm   xpm/3D_Lightning15.xpm \
		xpm/3D_Menu15.xpm      xpm/3D_Resize15.xpm    xpm/3D_Zoom15.xpm \
		xpm/background1.xpm    xpm/background2.xpm    xpm/background3.xpm \
		xpm/background4.xpm    xpm/background5.xpm    xpm/background6.xpm \
		xpm/background7.xpm    xpm/background8.xpm    xpm/background9.xpm

AllTarget(ctwm)

SpecialObjectRule(parse.o,NullParameter,'-DSYSTEM_INIT_FILE="'$(TWMDIR)'/system.ctwmrc"')
/*SpecialObjectRule(parse.o,NullParameter,'-DSYSTEM_INIT_FILE="/usr/X386/lib/X11/twm/system.ctwmrc"')*/
SpecialObjectRule(ctwm.o,NullParameter,'-DPIXMAP_DIRECTORY="'$(TWMDIR)'"')
/*SpecialObjectRule(ctwm.o,NullParameter,'-DPIXMAP_DIRECTORY="/usr/X386/include/X11/bitmaps"')*/
#if !HasPutenv
SpecialObjectRule(util.o,NullParameter,-DNOPUTENV)
#endif

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

NormalLibraryTarget(ctwm, libctwm.o)
ComplexProgramTarget(ctwm)
InstallNonExecFile(system.ctwmrc,$(TWMDIR))
#ifdef XPM
InstallMultipleFlags($(PIXMAPFILES),$(TWMDIR),$(INSTLIBFLAGS))
#endif

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

