# Makefile generated by imake - do not edit!
# $XConsortium: imake.c,v 1.91 95/01/12 16:15:47 kaleb Exp $

# ----------------------------------------------------------------------
# Makefile generated from "Imake.tmpl" and </tmp/IIf.a00200>
# $XConsortium: Imake.tmpl,v 1.224.1.1 95/06/19 17:51:01 gildea Exp $
# $XFree86: xc/config/cf/Imake.tmpl,v 3.18 1995/07/12 15:27:23 dawes Exp $
#

.SUFFIXES: .i

# $XConsortium: Imake.cf,v 1.19 95/01/05 19:24:32 kaleb Exp $
# $XFree86: xc/config/cf/Imake.cf,v 3.15 1995/06/08 06:18:39 dawes Exp $

# -----------------------------------------------------------------------
# site-specific configuration parameters that need to come before
# the platform-specific parameters - edit site.def to change

# site:  $XConsortium: site.sample,v 1.9 94/04/08 17:02:06 rws Exp $
# site:  $XFree86: xc/config/cf/site.def,v 3.8 1995/05/27 01:56:50 dawes Exp $

# $XFree86: xc/config/cf/xf86site.def,v 3.48 1995/07/22 04:11:45 dawes Exp $

# -----------------------------------------------------------------------
# platform-specific configuration parameters - edit linux.cf to change

# platform:  $XConsortium: linux.cf,v 1.11 95/01/23 18:32:03 kaleb Exp $
# platform:  $XFree86: xc/config/cf/linux.cf,v 3.26 1995/07/12 15:27:34 dawes Exp $

# $XConsortium: lnxLib.rules,v 1.8 95/01/16 21:11:00 kaleb Exp $
# $XFree86: xc/config/cf/lnxLib.rules,v 3.14 1995/06/01 08:18:56 dawes Exp $

# $XConsortium: xfree86.cf,v 1.9 95/01/25 16:42:40 kaleb Exp $
# $XFree86: xc/config/cf/xfree86.cf,v 3.66 1995/07/22 04:11:47 dawes Exp $

LINKKITDIR = $(USRLIBDIR)/Server

       XF86SRC = $(SERVERSRC)/hw/xfree86
  XF86ACCELSRC = $(XF86SRC)/accel
    XF86COMSRC = $(XF86SRC)/common
 XF86CONFIGSRC = $(XF86COMSRC)
     XF86HWSRC = $(XF86SRC)/common_hw
     XF86OSSRC = $(XF86SRC)/os-support
  VGADRIVERSRC = $(XF86SRC)/vga256/drivers
VGA16DRIVERSRC = $(XF86SRC)/vga16/drivers
 VGA2DRIVERSRC = $(XF86SRC)/vga2/drivers
 MONODRIVERSRC = $(XF86SRC)/mono/drivers
   S3DRIVERSRC = $(XF86SRC)/accel/s3/drivers

        XFREE86DOCDIR = $(LIBDIR)/doc
      XFREE86PSDOCDIR = $(XFREE86DOCDIR)/PostScript
    XFREE86HTMLDOCDIR = $(XFREE86DOCDIR)/html
XFREE86JAPANESEDOCDIR = $(XFREE86DOCDIR)/Japanese

# $XConsortium: xf86.rules,v 1.7 95/01/25 16:34:39 kaleb Exp $
# $XFree86: xc/config/cf/xf86.rules,v 3.9 1995/07/12 15:27:38 dawes Exp $

# -----------------------------------------------------------------------
# site-specific configuration parameters that go after
# the platform-specific parameters - edit site.def to change

# site:  $XConsortium: site.sample,v 1.9 94/04/08 17:02:06 rws Exp $
# site:  $XFree86: xc/config/cf/site.def,v 3.8 1995/05/27 01:56:50 dawes Exp $

# -----------------------------------------------------------------------
# Imake rules for building libraries, programs, scripts, and data files
# rules:  $XConsortium: Imake.rules,v 1.197.1.1 95/06/19 18:01:48 gildea Exp $
# rules:  $XFree86: xc/config/cf/Imake.rules,v 3.18 1995/07/22 09:39:32 dawes Exp $

 _NULLCMD_ = @ echo -n

          PATHSEP = /
            SHELL = /bin/sh

              TOP = .
      CURRENT_DIR = .

            IMAKE = imake
           DEPEND = gccmakedep
        MKDIRHIER = mkdir -p
        CONFIGSRC = $(TOP)/config
         IMAKESRC = $(CONFIGSRC)/imake
        DEPENDSRC = $(CONFIGSRC)/util
           IXXSRC = $(UNSUPPORTEDSRC)/programs/ixx
              IXX = ixx
         IXXFLAGS = -s BaseObject -m TypeObj -r RequestObj -p Xf
      IXXINCLUDES = -i '<X11/Fresco/enter-scope.h>'

          INCROOT = /usr/X11R6/include
        USRLIBDIR = /usr/X11R6/lib
         SHLIBDIR = /usr/X11R6/lib
       LINTLIBDIR = $(USRLIBDIR)/lint
          MANPATH = /usr/X11R6/man
    MANSOURCEPATH = $(MANPATH)/man
           MANDIR = $(MANSOURCEPATH)1
        LIBMANDIR = $(MANSOURCEPATH)3
       FILEMANDIR = $(MANSOURCEPATH)5

               AR = ar clq
  BOOTSTRAPCFLAGS =
               CC = gcc
               AS = as

.SUFFIXES: .cxx

              CXX = g++
    CXXDEBUGFLAGS = -O2 -m486
 CXXEXTRA_DEFINES =
CXXEXTRA_INCLUDES =
  CXXIDL_INCLUDES = -I$(TOP)/include
   CXXSTD_DEFINES = -Dlinux -D__i386__ -D_POSIX_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE
       CXXOPTIONS =
      CXXINCLUDES = $(INCLUDES) $(TOP_INCLUDES) $(CXXEXTRA_INCLUDES) $(CXXIDL_INCLUDES)
       CXXDEFINES = $(CXXINCLUDES) $(CXXSTD_DEFINES) $(THREADS_CXXDEFINES) $(CXXEXTRA_DEFINES)
         CXXFLAGS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES)

         COMPRESS = compress
              CPP = /lib/cpp $(STD_CPP_DEFINES)
    PREPROCESSCMD = gcc -E $(STD_CPP_DEFINES)
          INSTALL = install
     INSTALLFLAGS = -c
               LD = ld
              LEX = flex -l
           LEXLIB = -lfl
             YACC = bison -y
           CCYACC = bison -y
             LINT = lint
      LINTLIBFLAG = -C
         LINTOPTS = -axz
               LN = ln -s
             MAKE = make
               MV = mv
               CP = cp

           RANLIB = ranlib
  RANLIBINSTFLAGS =

               RM = rm -f
        MANSUFFIX = 1x
     LIBMANSUFFIX = 3x
    FILEMANSUFFIX = 5x
            TROFF = psroff
         MSMACROS = -ms
              TBL = tbl
              EQN = eqn

            DVIPS = dvips
            LATEX = latex

     STD_INCLUDES =
  STD_CPP_DEFINES = -traditional -Dlinux -D__i386__ -D_POSIX_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE
      STD_DEFINES = -Dlinux -D__i386__ -D_POSIX_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE
 EXTRA_LOAD_FLAGS = -Wl,-rpath,/usr/X11R6/lib
  EXTRA_LDOPTIONS =
  EXTRA_LIBRARIES =
             TAGS = ctags

    SHAREDCODEDEF =
         SHLIBDEF =

     SHLIBLDFLAGS = -shared

         PICFLAGS = -fPIC

      CXXPICFLAGS = -fPIC

    PROTO_DEFINES = -DFUNCPROTO=15 -DNARROWPROTO

     INSTPGMFLAGS = -s

     INSTBINFLAGS = -m 0755
     INSTUIDFLAGS = -m 4755
     INSTLIBFLAGS = -m 0644
     INSTINCFLAGS = -m 0444
     INSTMANFLAGS = -m 0444
     INSTDATFLAGS = -m 0444
    INSTKMEMFLAGS = -m 4755

      PROJECTROOT = /usr/X11R6

     TOP_INCLUDES = -I$(INCROOT)

      CDEBUGFLAGS = -O2 -m486
        CCOPTIONS = -ansi

      ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(STD_INCLUDES)
       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(DEFINES)
           CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(ALLDEFINES)
        LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES)
         LDPRELIB = -L$(USRLIBDIR)
        LDPOSTLIB =
        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)  $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIB)
     CXXLDOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_CXXLDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIB)

           LDLIBS = $(LDPOSTLIB) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)

           CCLINK = $(CC)

          CXXLINK = $(CXX)

     LDSTRIPFLAGS = -x
   LDCOMBINEFLAGS = -r
      DEPENDFLAGS =

        MACROFILE = linux.cf
           RM_CMD = $(RM)

    IMAKE_DEFINES =

         IRULESRC = $(CONFIGDIR)
        IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)

     ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Project.tmpl 			$(IRULESRC)/site.def $(IRULESRC)/$(MACROFILE) 			$(IRULESRC)/xfree86.cf $(IRULESRC)/xf86.rules $(IRULESRC)/xf86site.def $(IRULESRC)/host.def $(EXTRA_ICONFIGFILES)

# ----------------------------------------------------------------------
# X Window System Build Parameters and Rules
# $XConsortium: Project.tmpl,v 1.249 95/05/23 21:36:40 matt Exp $
# $XFree86: xc/config/cf/Project.tmpl,v 3.18 1995/07/22 04:11:42 dawes Exp $

# -----------------------------------------------------------------------
# X Window System make variables; these need to be coordinated with rules

           BINDIR = /usr/X11R6/bin
     BUILDINCROOT = $(TOP)
      BUILDINCDIR = $(BUILDINCROOT)/X11
      BUILDINCTOP = ..
      BUILDLIBDIR = $(TOP)/usrlib
      BUILDLIBTOP = ..
           INCDIR = $(INCROOT)/X11
           ADMDIR = /usr/adm
           LIBDIR = $(USRLIBDIR)/X11

          FONTDIR = $(LIBDIR)/fonts
         XINITDIR = $(LIBDIR)/xinit
           XDMDIR = $(LIBDIR)/xdm
           TWMDIR = $(LIBDIR)/twm
           XSMDIR = $(LIBDIR)/xsm
           NLSDIR = $(LIBDIR)/nls
       XLOCALEDIR = $(LIBDIR)/locale
        PEXAPIDIR = $(LIBDIR)/PEX
      XAPPLOADDIR = $(LIBDIR)/app-defaults
       FONTCFLAGS = -t

     INSTAPPFLAGS = $(INSTDATFLAGS)

              RGB = rgb
            FONTC = bdftopcf
        MKFONTDIR = mkfontdir

       DOCUTILSRC = $(TOP)/doc/util
       XDOCMACROS = $(DOCUTILSRC)/macros.t
       XIDXMACROS = $(DOCUTILSRC)/indexmacros.t
       PROGRAMSRC = $(TOP)/programs
           LIBSRC = $(TOP)/lib
          FONTSRC = $(TOP)/fonts
       INCLUDESRC = $(TOP)/X11
        SERVERSRC = $(TOP)/programs/Xserver
       CONTRIBSRC = $(TOP)/../contrib
   UNSUPPORTEDSRC = $(TOP)/unsupported
           DOCSRC = $(TOP)/doc
           RGBSRC = $(TOP)/programs/rgb
      BDFTOPCFSRC = $(PROGRAMSRC)/bdftopcf
     MKFONTDIRSRC = $(PROGRAMSRC)/mkfontdir
    FONTSERVERSRC = $(PROGRAMSRC)/xfs
       FONTINCSRC = $(TOP)/include/fonts
        EXTINCSRC = $(TOP)/include/extensions
     TRANSCOMMSRC = $(LIBSRC)/xtrans
   TRANS_INCLUDES = -I$(TRANSCOMMSRC)

# $XConsortium: lnxLib.tmpl,v 1.5 95/01/11 21:44:44 kaleb Exp $
# $XFree86: xc/config/cf/lnxLib.tmpl,v 3.7 1995/04/09 13:39:23 dawes Exp $

          XLIBSRC = $(LIBSRC)/X11

SOXLIBREV = 6.0
DEPXONLYLIB =
XONLYLIB =  -lX11

LINTXONLY = $(LINTLIBDIR)/llib-lX11.ln

         XLIBONLY = $(XONLYLIB)

      XEXTLIBSRC = $(LIBSRC)/Xext
   LBXXEXTLIBSRC = $(TOP)/workInProgress/lbx/lib/Xext

    XEXEXTLIBSRC = $(LIBSRC)/XExExt

SOXEXTREV = 6.0
DEPXEXTLIB =
XEXTLIB =  -lXext

LINTXEXT = $(LINTLIBDIR)/llib-lXext.ln

SOXEXTREV = 6.0
DEPLBXXEXTLIB =
LBXXEXTLIB =  -llbxXext

LINTLBXXEXT = $(LINTLIBDIR)/llib-llbxXext.ln

DEPXEXEXTLIB = $(USRLIBDIR)/libXExExt.a
XEXEXTLIB =  -lXExExt

LINTXEXEXT = $(LINTLIBDIR)/llib-lXExExt.ln

     EXTENSIONLIB = $(XEXEXTLIB) $(XEXTLIB)
  DEPEXTENSIONLIB = $(DEPXEXEXTLIB) $(DEPXEXTLIB)
    LINTEXTENSION = $(LINTXEXEXT) $(LINTXEXT)

 LINTEXTENSIONLIB = $(LINTEXTENSION)
          DEPXLIB = $(DEPEXTENSIONLIB) $(DEPXONLYLIB)
             XLIB = $(EXTENSIONLIB) $(XONLYLIB)
         LINTXLIB = $(LINTXONLYLIB)

         XAUTHSRC = $(LIBSRC)/Xau

DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
XAUTHLIB =  -lXau

LINTXAUTH = $(LINTLIBDIR)/llib-lXau.ln

      XDMCPLIBSRC = $(LIBSRC)/Xdmcp

DEPXDMCPLIB = $(USRLIBDIR)/libXdmcp.a
XDMCPLIB =  -lXdmcp

LINTXDMCP = $(LINTLIBDIR)/llib-lXdmcp.ln

           XMUSRC = $(LIBSRC)/Xmu

SOXMUREV = 6.0
DEPXMULIB =
XMULIB =  -lXmu

LINTXMU = $(LINTLIBDIR)/llib-lXmu.ln

       OLDXLIBSRC = $(LIBSRC)/oldX

DEPOLDXLIB = $(USRLIBDIR)/liboldX.a
OLDXLIB =  -loldX

LINTOLDX = $(LINTLIBDIR)/llib-loldX.ln

       TOOLKITSRC = $(LIBSRC)/Xt

SOXTREV = 6.0
DEPXTOOLONLYLIB =
XTOOLONLYLIB =  -lXt

LINTXTOOLONLY = $(LINTLIBDIR)/llib-lXt.ln

      DEPXTOOLLIB = $(DEPXTOOLONLYLIB) $(DEPSMLIB) $(DEPICELIB)
         XTOOLLIB = $(XTOOLONLYLIB) $(SMLIB) $(ICELIB)
     LINTXTOOLLIB = $(LINTXTOOLONLYLIB)

       AWIDGETSRC = $(LIBSRC)/Xaw

SOXAWREV = 6.0
DEPXAWLIB =
XAWLIB =  -lXaw

LINTXAW = $(LINTLIBDIR)/llib-lXaw.ln

       XTFSRC = $(TOP)/workInProgress/Xtf

SOXTFREV = 0.7
DEPXTFLIB =
XTFLIB =  -lXtf

LINTXTF = $(LINTLIBDIR)/llib-lXtf.ln

       FRESCOSRC = $(TOP)/workInProgress/Fresco

SOFRESCOREV = 0.7
DEPFRESCOLIB =
FRESCOLIB =  -lFresco

LINTFRESCO = $(LINTLIBDIR)/llib-lFresco.ln

         XILIBSRC = $(LIBSRC)/Xi

SOXINPUTREV = 6.0
DEPXILIB =
XILIB =  -lXi

LINTXI = $(LINTLIBDIR)/llib-lXi.ln

      XTESTLIBSRC = $(LIBSRC)/Xtst

SOXTESTREV = 6.0
DEPXTESTLIB =
XTESTLIB =  -lXtst

LINTXTEST = $(LINTLIBDIR)/llib-lXtst.ln

        PEXLIBSRC = $(LIBSRC)/PEX5

SOPEXREV = 6.0
DEPPEXLIB =
PEXLIB =  -lPEX5

LINTPEX = $(LINTLIBDIR)/llib-lPEX5.ln

        XIELIBSRC = $(LIBSRC)/XIE

SOXIEREV = 6.0
DEPXIELIB =
XIELIB =  -lXIE

LINTXIE = $(LINTLIBDIR)/llib-lXIE.ln

      PHIGSLIBSRC = $(LIBSRC)/PHIGS

DEPPHIGSLIB = $(USRLIBDIR)/libphigs.a
PHIGSLIB =  -lphigs

LINTPHIGS = $(LINTLIBDIR)/llib-lphigs.ln

DEPXBSDLIB = $(USRLIBDIR)/libXbsd.a
XBSDLIB =  -lXbsd

LINTXBSD = $(LINTLIBDIR)/llib-lXbsd.ln

           ICESRC = $(LIBSRC)/ICE

SOICEREV = 6.0
DEPICELIB =
ICELIB =  -lICE

LINTICE = $(LINTLIBDIR)/llib-lICE.ln

            SMSRC = $(LIBSRC)/SM

SOSMREV = 6.0
DEPSMLIB =
SMLIB =  -lSM

LINTSM = $(LINTLIBDIR)/llib-lSM.ln

         FSLIBSRC = $(LIBSRC)/FS

DEPFSLIB = $(USRLIBDIR)/libFS.a
FSLIB =  -lFS

LINTFS = $(LINTLIBDIR)/llib-lFS.ln

         FONTLIBSRC = $(LIBSRC)/font

DEPFONTLIB = $(USRLIBDIR)/libfont.a
FONTLIB =  -lfont

LINTFONT = $(LINTLIBDIR)/llib-lfont.ln

          DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)

         DEPLIBS1 = $(DEPLIBS)
         DEPLIBS2 = $(DEPLIBS)
         DEPLIBS3 = $(DEPLIBS)

XMULIBONLY = -lXmu
XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB)

        CONFIGDIR = $(LIBDIR)/config

# -----------------------------------------------------------------------
# start of Imakefile

#
#  $Id: Imakefile,v 1.13 1996/07/30 13:09:20 ettore Exp ettore $
#
#  This file is part of VICE, the Versatile Commodore Emulator
#  See README for copyright notice
#
#
#  Written by
#    Jarkko Sonninen (sonninen@lut.fi)
#    Jouko Valta     (jopi@stekt.oulu.fi)
#
#

#  ----------------------------------------------------------------------
#  Choose your favourite c-compiler
#  Tips:
#  For DEC, disable -pipe on gcc
#  For HP-UX cc, select CC appropriately (-Aa for ANSI C)
#  For DEC Ultrix and Solaris, set CCOPTIONS to empty list

CC=gcc
# CC=cc
# CC = CC
# CC = c89
# CC = cc -Wp,-H250000
# CC = cc -Aa
# CC = g++
# CC = gcc -Wall -ansi $(BUGFS)
# CC = gcc -Wall -pipe  $(BUGFS)
# CC = gcc -Wall -pipe -ansi  $(BUGFS)

# BUGFS = -pedantic -Wmissing-prototypes -Wpointer-arith
# BUGFS = -pedantic -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion
# BUGFS = -pedantic -Wmissing-prototypes -Wshadow -Wpointer-arith

#  ----------------------------------------------------------------------
#  Choose the optimization/debugging options which are best for you

#  i586 (Pentium) architecture

CDEBUGFLAGS = -O4 -m486 -fomit-frame-pointer -funroll-loops 	-finline-functions -malign-jumps=0 -malign-functions=0

#  i486 architecture

# CDEBUGFLAGS = -O4 -m486 -fomit-frame-pointer -funroll-loops 	-finline-functions

#  Generic gcc optimizations (fill in with more appropriate options if
#  necessary)

# CDEBUGFLAGS = -O
# CDEBUGFLAGS = -O2
# CDEBUGFLAGS = -O4
# CDEBUGFLAGS = -O5
# CDEBUGFLAGS = -O6

#  ...for debugging

# CDEBUGFLAGS = -g $(PROFILE)
# CDEBUGFLAGS = -g $(PROFILE)
# CDEBUGFLAGS = -O2 -m486

#  ----------------------------------------------------------------------
#  I had to unset the default compiler flags (often incorrect)
#  Remove this line if indigestible.

CCOPTIONS =

#  ----------------------------------------------------------------------
#  To use profiler, code must be linked statically

# PROFILE = -static
# PROFILE = -p -static
# PROFILE = -p -Wl,-a,archive

#  ----------------------------------------------------------------------
#  You should not need to touch anything below this line...
#  ----------------------------------------------------------------------

EXTRA_INCLUDES = -I/usr/local/include
# EXTRA_INCLUDES = -I/usr/local/X11R5/include

DEFINES = -DMULTIBUFFER -DMITMISC -DXTEST -DXSYNC -DXCMISC -DPEXEXT -DMITSHM -DXIE -DBIGREQS  -DSCREENSAVER -DXF86VIDMODE

XMULIB    = -lXmu
ZDIS_FLGS   = -DNO_ASM -DSTANDALONE_ZDIS

XPMLIB    = -lXpm

SOUNDLIB =

#  ----------------------------------------------------------------------
#  FILES
#  ----------------------------------------------------------------------

RELEASE = vice-0.11.0
NEW     = vice-0.11-
BINARCH = linuxELF
BINRELEASE = vice-0.11.0-bin-$(BINARCH)
DOCRELEASE = vice-docs

#  ----------------------------------------------------------------------
#  Configure the directory hierarchy

VICEHOME= vice  # -0.11.0

VICEBIN = ../bin
TARGET  = $(VICEBIN)/x64
TARGET2 = $(VICEBIN)/x128
TARGET3 = $(VICEBIN)/xvic
TARGET4 = $(VICEBIN)/xpet
C1541TARGET = $(VICEBIN)/c1541
ZDISTARGET  = $(VICEBIN)/zdis
BTARGET = $(VICEBIN)/petcat
PRNTARGET = $(VICEBIN)/petlp

BINTARGET = $(TARGET) $(TARGET2) $(TARGET2) $(TARGET3) $(TARGET4) 	$(C1541TARGET) $(ZDISTARGET) $(BTARGET) $(PRNTARGET)

#  ----------------------------------------------------------------------
#  Project directories for ROM and disk images

ROMDIRS = ../bin/C64 ../bin/C128 ../bin/VIC20 ../bin/PET

#  Documents and manpages

DDIR = ../doc
MDIR = ../man
VDIR = ..

UTILS = $(VDIR)/test $(VDIR)/utils $(VDIR)/run

#  Install

BINDIR = /usr/local/bin
MANDIR = /usr/local/man

# ----------------------------------------------------------------------
#  Some configuration dependent things
#  Setup changes according to config.h
# ----------------------------------------------------------------------

READLINE = readline/libreadline.a
EDITLIB = -Lreadline -lreadline -ltermcap

# SUBDIRS = readline

#  Collect VIC-II emulator files

VIDEOOBJS = x64.o vicii.o video_x.o sprcoll.o
# raster.o

# FIXME!
# #ifdef
# VDCOBJ = 128vdc.o
C128VIDEOOBJS = 128vicii.o x128.o 128vdc.o video_x.o sprcoll.o
# 128VICraster.o 128VDCraster.o
# #else
# C128VIDEOOBJS = 128vicii.o x64.o  128vdc.o video_x.o sprcoll.o
# # 128VICraster.o
# #endif

VIC20VIDEOOBJS = vic.o xVIC.o video_x.o
# VICraster.o
PETVIDEOOBJS = crtc.o xPET.o video_x.o
# PETraster.o
PET8VIDEOOBJS = PET8crtc.o  xPET8.o video_x.o

#  'XCONTROL' causes use of the old Control Window
#   from x64-0.2.2 in case the new one is indigestible.

LOCAL_LIBRARIES = $(EDITLIB) $(DEBUG) $(PROFILE) 		  $(XPMLIB) $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)

XDEBUGOBJ = xdebug.o
C128XDEBUGOBJ = 128xdebug.o
VIC20XDEBUGOBJ = VICxdebug.o
PETXDEBUGOBJ = PETxdebug.o

REUOBJ = reu.o
128REUOBJ = 128reu.o

IEEEOBJ = tpi.o parallel.o

TAPEOBJ = tapeunit.o
C128TAPEOBJ = 128tapeunit.o
VIC20TAPEOBJ = VICtapeunit.o
PETTAPEOBJ = PETtapeunit.o

PATCHROMOBJ = patchrom.o
C128PATCHROMOBJ = patch128.o
VIC20PATCHROMOBJ =

OPOBJ = ophack2.o table.o op.o
128OPOBJ = 128ophack2.o table.o op.o

SIDOBJ = sid.o
SNDOBJ = sndif.o

# ----------------------------------------------------------------------
#  Zilog Z80B CPU
# ----------------------------------------------------------------------

ZILOGDIR = z80
ZILOGHDR = Z80.h Codes.h CodesCB.h CodesED.h CodesXCB.h CodesXX.h Lame.h PTable.h
ZILOGSRC = Z80.c Debug.c Interrupt.c

ZILOG_CPU_OBJ = $(ZILOGDIR)/Z80.o $(ZILOGDIR)/Debug.o

ZILOGOBJ = asm.o

# ----------------------------------------------------------------------
#  Emulators
# ----------------------------------------------------------------------

ICONS = c128_icon.xpm c64_icon.xpm pet_icon.xpm vic_icon.xpm

HDRS = asm.h atari.h c1541.h charsets.h cia.h cia1.h cia2.h config.h 	cpm.h cpu.h crtc.h drive.h extern.h file.h fs_cbm.h fs_unix.h 	interrupt.h macro.h memory.h misc.h mnemonic.h mshell.h op.h ophack.h 	parallel.h patchlevel.h popup.h printer.h proto.h raster.h 	rasterutil.h 	serial.h sprcoll.h tape.h tpi.h types.h vdc.h via.h via.h vic.h 	vicii.h video_x.h vmachine.h x64.h sid.h sndif.h sound.h tapeunit.h

CSRCS = args.c asm.c c1541.c char_C128.c char_C64.c char_PET.c char_VIC20.c 	charsets.c cia1.c cia2.c cpu.c crtc.c drive.c filesel.c interrupt.c 	joystick.c lock.c main.c memory.c misc.c mon.c mshell.c op.c ophack.c 	ophack2.c parallel.c patch128.c patchrom.c pchar.c petcat.c petlp.c 	pia.c printer.c raster.c rasterutil.c reu.c serial.c sprcoll.c 	symbol.c table.c tablehack.c tape.c tapeunit.c timer.c tpi.c traps.c 	vdc.c via.c via1.c via2.c vic.c vicii.c video_x.c x64.c 	xcontrol.c xdebug.c zasm.c sid.c sndif.c

OBJS = $(READLINE) asm.o mon.o mshell.o char_C64.o main.o misc.o charsets.o 	$(OPOBJ) interrupt.o timer.o memory.o cia1.o cia2.o filesel.o 	traps.o serial.o drive.o tape.o printer.o rasterutil.o $(REUOBJ) 	$(PATCHROMOBJ) $(XDEBUGOBJ) $(ARGPARSEOBJ) $(VIDEOOBJS) $(JOYOBJ) 	$(IEEEOBJ) $(SIDOBJ) $(SNDOBJ) $(TAPEOBJ) $(READLINE)

C128OBJS =  $(READLINE) 128mon.o mshell.o char_C128.o 128main.o 128misc.o charsets.o 	$(128OPOBJ) 128interrupt.o timer.o 128memory.o 128cia1.o cia2.o 	filesel.o traps.o 128serial.o drive.o tape.o printer.o 128rasterutil.o 	$(128REUOBJ) $(C128PATCHROMOBJ) $(C128XDEBUGOBJ) $(C128ARGPARSEOBJ) 	$(C128VIDEOOBJS) $(VDCOBJ) $(JOYOBJ) $(ZILOGOBJ) $(SIDOBJ) $(SNDOBJ) 	$(C128TAPEOBJ) $(READLINE)

VIC20OBJS = $(READLINE) asm.o VICmon.o mshell.o char_VIC20.o VICmain.o misc.o charsets.o         filesel.o $(OPOBJ) VICinterrupt.o timer.o VICmemory.o via1.o via2.o 	traps.o VICserial.o drive.o tape.o printer.o VICrasterutil.o 	$(VIC20PATCHROMOBJ) $(VIC20XDEBUGOBJ) $(VIC20ARGPARSEOBJ) 	$(VIC20VIDEOOBJS) $(SNDOBJ) $(VIC20TAPEOBJ) $(READLINE)

PETOBJS = $(READLINE) asm.o PETmon.o mshell.o char_PET.o PETmain.o misc.o charsets.o 	$(OPOBJ) PETinterrupt.o timer.o PETmemory.o pia.o via.o 	traps.o PETserial.o drive.o tape.o printer.o PETrasterutil.o 	parallel.o filesel.o 	$(PETXDEBUGOBJ) $(PETARGPARSEOBJ) $(PETVIDEOOBJS) $(SNDOBJ) $(PETTAPEOBJ)

#  Tools
#  ----------------------------------------------------------------------

C1541SRCS = c1541.c
C1541HDRS = asm.h charsets.h config.h drive.h extern.h 	file.h fs_cbm.h fs_unix.h mshell.h patchlevel.h 	proto.h serial.h types.h vmachine.h $(SNDOBJ)

C1541OBJS = c1541.o stddrive.o tape.o  mshell.o charsets.o

#  ----------------------------------------------------------------------
#  Petcat

BHDRS = drive.h file.h types.h
BSRCS = petcat.c
BOBJS = petcat.o tape.o

PRNHDRS = charsets.h config.h patchlevel.h printer.h proto.h serial.h types.h
PRNSRCS = petlp.c pchar.c
PRNOBJS = stdprinter.o charsets.o petlp.o pchar.o

PETRELEASE = $(BTARGET)-2.02
PETCATFILES = $(BSRCS) $(PRNSRCS) printer.c charsets.c tape.c $(BHDRS) 	$(PRNHDRS) Makefile.petcat petcat.man $(MDIR)/petcat.cat 	$(DDIR)/cbm_basic_tokens

#  ----------------------------------------------------------------------
#  Collect files

SRCS = $(ICONS) $(CSRCS) $(C1541SRCS) $(PRNSRCS) $(BSRCS) readline $(ZILOGDIR)

MANPAGES = $(MDIR)/x64.man $(MDIR)/petcat.man $(MDIR)/petlp.man $(DDIR)/recomment.doc
CATPAGES = $(MDIR)/x64.cat $(MDIR)/petcat.cat $(MDIR)/petlp.cat

DOCUMENTS= $(DDIR)/64doc $(DDIR)/PETdoc $(DDIR)/Emulation 	$(DDIR)/pal.timing $(DDIR)/mnemonics $(DDIR)/cbm_basic_tokens 	$(DDIR)/drive_info $(DDIR)/serial.doc  $(DDIR)/x1541.txt 	$(DDIR)/Star.codes $(DDIR)/DIN_charset $(DDIR)/Toollist 	$(DDIR)/FAQ

VICEDOCS = $(VDIR)/COPYING $(VDIR)/CHANGES $(VDIR)/README $(VDIR)/README.video 	$(VDIR)/BUGS $(MANPAGES) $(CATPAGES) 	$(DDIR)/History $(DDIR)/Evaluation

#  ----------------------------------------------------------------------
#  Divide files in mainlevel and sources categories

DISTSRCS = Makefile Imakefile Makefile.petcat 	$(SRCS) $(HDRS) $(VICEDOCS) $(UTILS) convop setup

DISTMAIN = $(DOCUMENTS)
ALLFILES = $(DISTMAIN) $(DISTSRCS)

MAINTFILES = $(ALLFILES) $(VDIR)/TODO2 symbol.c lock.c AtariST samples x65 RCS

# ##

#  You may have to move the all target line after program targets

all:: $(SUBDIRS) $(VICEBIN) $(TARGET) $(TARGET2) $(TARGET3) $(TARGET4) 	$(BTARGET) $(C1541TARGET) $(ZDISTARGET) $(ROMDIRS) $(IMAGES)

$(TARGET): $(OBJS)
	$(RM) $@
	$(CCLINK) -o $@ $(LDOPTIONS) $(OBJS) $(LOCAL_LIBRARIES) $(LDLIBS)  $(EXTRA_LOAD_FLAGS)

clean::
	$(RM) $(TARGET)

$(TARGET2): $(C128OBJS)
	$(RM) $@
	$(CCLINK) -o $@ $(LDOPTIONS) $(C128OBJS) $(LOCAL_LIBRARIES) $(LDLIBS)  $(EXTRA_LOAD_FLAGS)

clean::
	$(RM) $(TARGET2)

$(TARGET3): $(VIC20OBJS)
	$(RM) $@
	$(CCLINK) -o $@ $(LDOPTIONS) $(VIC20OBJS) $(LOCAL_LIBRARIES) $(LDLIBS)  $(EXTRA_LOAD_FLAGS)

clean::
	$(RM) $(TARGET3)

$(TARGET4): $(PETOBJS)
	$(RM) $@
	$(CCLINK) -o $@ $(LDOPTIONS) $(PETOBJS) $(LOCAL_LIBRARIES) $(LDLIBS)  $(EXTRA_LOAD_FLAGS)

clean::
	$(RM) $(TARGET4)

$(BTARGET): $(BOBJS)
	$(RM) $@
	$(CCLINK) -o $@ $(LDOPTIONS) $(BOBJS) $(LOCAL_LIBRARIES) $(LDLIBS)  $(EXTRA_LOAD_FLAGS)

clean::
	$(RM) $(BTARGET)

$(C1541TARGET): $(C1541OBJS)
	$(RM) $@
	$(CCLINK) -o $@ $(LDOPTIONS) $(C1541OBJS) $(LOCAL_LIBRARIES) $(LDLIBS)  $(EXTRA_LOAD_FLAGS)

clean::
	$(RM) $(C1541TARGET)

$(PRNTARGET): $(PRNOBJS)
	$(RM) $@
	$(CCLINK) -o $@ $(LDOPTIONS) $(PRNOBJS) $(LOCAL_LIBRARIES) $(LDLIBS)  $(EXTRA_LOAD_FLAGS)

clean::
	$(RM) $(PRNTARGET)

depend::
	$(DEPEND) $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS)

# ##

#

install:: Xzx.ad
	@if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then set +x; \
	else (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); fi
	$(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) Xzx.ad $(DESTDIR)$(XAPPLOADDIR)/Xzx
#
install:: rom
	$(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) rom $(DESTDIR)$(LIBDIR)

install::
	$(INSTALL) -m 755 $(TARGET)  $(BINDIR)
	$(INSTALL) -m 755 $(TARGET2) $(BINDIR)
	$(INSTALL) -m 755 $(TARGET3) $(BINDIR)
	$(INSTALL) -m 755 $(TARGET4) $(BINDIR)

	$(INSTALL) -m 755 $(BTARGET) $(BINDIR)
	$(INSTALL) -m 755 $(PRNTARGET) $(BINDIR)
	$(INSTALL) -m 755 $(C1541TARGET) $(BINDIR)

	$(INSTALL) -m 644 x64.1 $(MANDIR)/man1
	$(INSTALL) -m 644 petcat.1 $(MANDIR)/man1

# all:: $(SUBDIRS) $(VICEBIN) $(TARGET) $(TARGET2) $(BTARGET) $(C1541TARGET) #	$(PRNTARGET) $(ZDISTARGET) $(ROMDIRS) $(IMAGES)

# FIXME

work:: $(SUBDIRS) $(VICEBIN) $(TARGET) $(TARGET2) $(BTARGET) $(C1541TARGET) 	$(PRNTARGET) $(ZDISTARGET) $(ROMDIRS)

tools:: $(VICEBIN) $(C1541TARGET) $(BTARGET) $(PRNTARGET) $(ZDISTARGET)

#  Warning: undefining VICEBIN may cause infinite loop -- in that case
#  remove these aliases...

x64: $(TARGET) $(VICEBIN)
	rm -f x64; ln -s $(TARGET) x64

x128: $(TARGET2) $(VICEBIN) $(READLINE)
	rm -f x128; ln -s $(TARGET2) x128

xvic: $(TARGET3) $(VICEBIN) $(READLINE)
	rm -f xvic; ln -s $(TARGET3) xvic

xpet: $(TARGET4) $(VICEBIN) $(READLINE)
	rm -f xpet; ln -s $(TARGET4) xpet

c1541: $(C1541TARGET) $(VICEBIN) $(READLINE)
	rm -f c1541; ln -s $(C1541TARGET) c1541

zdis: $(ZDISTARGET) $(VICEBIN)
	rm -f zdis; ln -s $(ZDISTARGET) zdis

petcat: $(BTARGET) $(VICEBIN)
	rm -f petcat; ln -s $(BTARGET) petcat

petlp: $(PRNTARGET) $(VICEBIN)
	rm -f petlp; ln -s $(PRNTARGET) petlp

$(VICEBIN):
	mkdir $(VICEBIN)

../bin/C128:
	mkdir ../bin/C128

../bin/C64:
	mkdir ../bin/C64

../bin/VIC20:
	mkdir ../bin/VIC20

../bin/PET:
	mkdir ../bin/PET

$(READLINE):
	(cd readline; make)

# ----------------------------------------------------------------------
# C128

128main.o: main.c
	$(CC) -o 128main.o -c $(CFLAGS) -DC128 main.c

128mon.o: mon.c
	$(CC) -o 128mon.o -c $(CFLAGS) -DC128 mon.c

128asm.o: asm.c
	$(CC) -o 128asm.o -c $(CFLAGS) -DC128 -DZILOG_CPU asm.c

128args.o: args.c
	$(CC) -o 128args.o -c $(CFLAGS) -DC128 args.c

128xdebug.o: xdebug.c
	$(CC) -o 128xdebug.o -c $(CFLAGS) -DC128 xdebug.c

128interrupt.o: interrupt.c
	$(CC) -o 128interrupt.o -c $(CFLAGS) -DC128 interrupt.c

128cia1.o: cia1.c
	$(CC) -o 128cia1.o -c $(CFLAGS) -DC128 cia1.c

128memory.o: memory.c
	$(CC) -o 128memory.o -c $(CFLAGS) -DC128 memory.c

128serial.o: serial.c
	$(CC) -o 128serial.o -c $(CFLAGS) -DC128 serial.c

128tapeunit.o: tapeunit.c
	$(CC) -o 128tapeunit.o -c $(CFLAGS) -DC128 tapeunit.c

128vicii.o: vicii.c raster.c raster.h
	$(CC) -o 128vicii.o -c $(CFLAGS) -DVIC -DC128 vicii.c

128vdc.o: vdc.c raster.c raster.h
	$(CC) -o 128vdc.o -c $(CFLAGS) -DVDC -DC128 vdc.c

128rasterutil.o: rasterutil.c
	$(CC) -o 128rasterutil.o -c $(CFLAGS) -DVDC -DC128 rasterutil.c

128ophack2.o: ophack2.c
	$(CC) -o 128ophack2.o -c $(CFLAGS) -DVDC -DC128 ophack2.c

128reu.o: reu.c
	$(CC) -o 128reu.o -c $(CFLAGS) -DVDC -DC128 reu.c

128misc.o: misc.c
	$(CC) -o 128misc.o -c $(CFLAGS) -DVDC -DC128 misc.c

x128.o: x64.c
	$(CC) -o x128.o -c $(CFLAGS) -DC128 x64.c

# ----------------------------------------------------------------------
# VIC 20

VICmain.o: main.c
	$(CC) -o VICmain.o -c $(CFLAGS) -DVIC20 main.c

VICmon.o: mon.c
	$(CC) -o VICmon.o -c $(CFLAGS) -DVIC20 mon.c

VICargs.o: args.c
	$(CC) -o VICargs.o -c $(CFLAGS) -DVIC20 args.c

VICxdebug.o: xdebug.c
	$(CC) -o VICxdebug.o -c $(CFLAGS) -DVIC20 xdebug.c

VICinterrupt.o: interrupt.c
	$(CC) -o VICinterrupt.o -c $(CFLAGS) -DVIC20 interrupt.c

VICmemory.o: memory.c
	$(CC) -o VICmemory.o -c $(CFLAGS) -DVIC20 memory.c

VICserial.o: serial.c
	$(CC) -o VICserial.o -c $(CFLAGS) -DVIC20 serial.c

VICtapeunit.o: tapeunit.c
	$(CC) -o VICtapeunit.o -c $(CFLAGS) -DVIC20 tapeunit.c

VICraster.o: raster.c
	$(CC) -o VICraster.o -c $(CFLAGS) -DVIC20 raster.c

VICrasterutil.o: rasterutil.c
	$(CC) -o VICrasterutil.o -c $(CFLAGS) -DVIC20 rasterutil.c

xVIC.o: x64.c
	$(CC) -o xVIC.o -c $(CFLAGS) -DVIC20 x64.c

# ----------------------------------------------------------------------
# PET 3032/4032/8032

PETmain.o: main.c
	$(CC) -o PETmain.o -c $(CFLAGS) -DPET main.c

PETmon.o: mon.c
	$(CC) -o PETmon.o -c $(CFLAGS) -DPET mon.c

PETargs.o: args.c
	$(CC) -o PETargs.o -c $(CFLAGS) -DPET args.c

PETxdebug.o: xdebug.c
	$(CC) -o PETxdebug.o -c $(CFLAGS) -DPET xdebug.c

PETinterrupt.o: interrupt.c
	$(CC) -o PETinterrupt.o -c $(CFLAGS) -DPET interrupt.c

PETmemory.o: memory.c
	$(CC) -o PETmemory.o -c $(CFLAGS) -DPET memory.c

PETserial.o: serial.c
	$(CC) -o PETserial.o -c $(CFLAGS) -DPET serial.c

PETtapeunit.o: tapeunit.c
	$(CC) -o PETtapeunit.o -c $(CFLAGS) -DPET tapeunit.c

# PETraster.o: raster.c
#	$(CC) -o PETraster.o -c $(CFLAGS) -DPET raster.c

PETrasterutil.o: rasterutil.c
	$(CC) -o PETrasterutil.o -c $(CFLAGS) -DPET rasterutil.c

xPET.o: x64.c
	$(CC) -o xPET.o -c $(CFLAGS) -DPET x64.c

# ##

xPET8.o: x64.c
	$(CC) -o xPET8.o -c $(CFLAGS) -DPET -DPET8 x64.c

PET8crtc.o: crtc.c
	$(CC) -o PET8crtc.o -c $(CFLAGS) -DPET -DPET8 crtc.c

# ##

# via1.o: cia2.c
#	$(CC) -o via1.o -c $(CFLAGS) -DVIA6522 -DVIC20 cia2.c
#
# via2.o: cia1.c
#	$(CC) -o via2.o -c $(CFLAGS) -DVIA6522 -DVIC20 cia1.c

via.o: via.c
	$(CC) -o via.o -c $(CFLAGS) -DVIA6522 -DPET via.c

# ##

x64.1: x64.man
	cp x64.man x64.1

petcat.1: petcat.man
	cp petcat.man petcat.1

stddrive.o: drive.c
	$(CC) -c $(CFLAGS) -DSTANDALONE_1541 -o stddrive.o drive.c

stdprinter.o: printer.c
	$(CC) -c $(CFLAGS) -DSTANDALONE_PRINTER -o stdprinter.o printer.c

# ##

$(ZDISTARGET): zasm.c
	$(CC) $(CFLAGS) $(ZDIS_FLGS) -o $(ZDISTARGET) zasm.c $(LDFLAGS)

# ##

.DONE :
	@echo "Hurrah!"

.FAILED :
	@echo "Bummer!"

# ##

$(MDIR)/x64.cat: $(MDIR)/x64.man
	nroff -man $(MDIR)/x64.man | col -b   > $(MDIR)/x64.cat

$(MDIR)/petcat.cat: $(MDIR)/petcat.man
	nroff -man $(MDIR)/petcat.man | col -b > $(MDIR)/petcat.cat

$(MDIR)/petlp.cat: $(MDIR)/petlp.man
	nroff -man $(MDIR)/petlp.man | col -b > $(MDIR)/petlp.cat

# ##

EXCLUDETAR = .exclude_files

maint: $(MAINTFILES)
	rm -f *\/*~ *\/*.o *\/*.a *\/*.bak
	rm -rf /tmp/$(NEW)
	mkdir /tmp/$(NEW)
	mkdir /tmp/$(NEW)/src
	mkdir /tmp/$(NEW)/bin
	tar -chf - $(MAINTFILES) | (cd /tmp/$(NEW)/src; tar -xf -)
	(cd /tmp; tar -cvf $(NEW).tar $(NEW))
	mv /tmp/$(NEW).tar .
	rm -rf /tmp/$(NEW)
	gzip $(NEW).tar

distall: dist docs petdist bindist

dist: $(ALLFILES)
	cd readline; make clean; cd ..
	rm -f *\/*~ *\/*.o *\/*.a *\/*.bak
	rm -rf /tmp/$(RELEASE)
	mkdir /tmp/$(RELEASE)
	mkdir /tmp/$(RELEASE)/src
	mkdir /tmp/$(RELEASE)/bin
	(tar -chf - $(DISTMAIN)) | (cd /tmp/$(RELEASE)/src; tar -xf -)
	tar -chf - $(DISTSRCS) | (cd /tmp/$(RELEASE)/src; tar -xf -)
	(cd /tmp; tar -cvf $(RELEASE).tar $(RELEASE))
	mv /tmp/$(RELEASE).tar .
	rm -rf /tmp/$(RELEASE)
	gzip $(RELEASE).tar

docs: $(DOCUMENTS)
	rm -rf /tmp/$(DOCRELEASE)
	mkdir /tmp/$(DOCRELEASE)
	tar -chf - $(DOCUMENTS) | (cd /tmp/$(DOCRELEASE); tar -xf -)
	(cd /tmp; tar -cvf $(DOCRELEASE).tar $(DOCRELEASE))
	mv /tmp/$(DOCRELEASE).tar .
	rm -rf /tmp/$(DOCRELEASE)
	gzip $(DOCRELEASE).tar

petdist: $(PETCATFILES)
	rm -rf /tmp/$(PETRELEASE)
	mkdir /tmp/$(PETRELEASE)
	mkdir /tmp/$(PETRELEASE)/src
	mkdir /tmp/$(PETRELEASE)/bin
	tar -chf - $(PETCATFILES) | (cd /tmp/$(PETRELEASE); tar -xf -)
	tar -chf - $(PETCATSRCS) | (cd /tmp/$(PETRELEASE)/src; tar -xf -)
	(cd /tmp; tar -cvf $(PETRELEASE).tar $(PETRELEASE))
	mv /tmp/$(PETRELEASE).tar .
	rm -rf /tmp/$(PETRELEASE)
	gzip $(PETRELEASE).tar

bindist: $(BINTARGET) $(DOCUMENTS) $(VICEDOCS)
	rm -rf /tmp/$(BINRELEASE)
	mkdir /tmp/$(BINRELEASE)
	mkdir /tmp/$(BINRELEASE)/bin
	tar -chf - $(DOCUMENTS) | (cd /tmp/$(BINRELEASE)/bin; tar -xf -)
	tar -chf - $(VICEDOCS) | (cd /tmp/$(BINRELEASE)/bin; tar -xf -)
	cp $(BINTARGET) /tmp/$(BINRELEASE)/bin
	(cd /tmp; tar cvf $(BINRELEASE).tar $(BINRELEASE))
	mv /tmp/$(BINRELEASE).tar .
	rm -rf /tmp/$(BINRELEASE)
	gzip $(BINRELEASE).tar

# ##

proto:
	cextract +p $(EXTRA_INCLUDES) $(DEFINES) -D__STDC__ $(CSRCS) >proto.h

# ### INDENT

indent: $(SRCS) $(BSRCS)
	for a in $(SRCS) $(HDRS);do 	indent $$a -bacc -br -bs -cdb -ce -cli0.5 -c16 -d0 -di8 		-nfc1 -i4 -nlp -psc -npsl -sc;	done

# ##

# -----------------------------------------------------------------------
# common rules for all Makefiles - do not edit

.c.i:
	$(RM) $@
	$(CC) -E $(CFLAGS) $(_NOOP_) $*.c > $@

emptyrule::

clean::
	$(RM_CMD) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut  "#"*

Makefile::
	-@if [ -f Makefile ]; then set -x; \
	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
	else exit 0; fi
	$(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)

tags::
	$(TAGS) -w *.[ch]
	$(TAGS) -xw *.[ch] > TAGS

# -----------------------------------------------------------------------
# rules for building in SUBDIRS - do not edit

install::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(SUBDIRS) ;\
	do \
	(cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \
	$(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) install); \
	done

install.man::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(SUBDIRS) ;\
	do \
	(cd $$i ; echo "installing man pages" "in $(CURRENT_DIR)/$$i..."; \
	$(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) install.man); \
	done

install.linkkit::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(SUBDIRS) ;\
	do \
	(cd $$i ; echo "installing link kit" "in $(CURRENT_DIR)/$$i..."; \
	$(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install.linkkit); \
	done

clean::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(SUBDIRS) ;\
	do \
	(cd $$i ; echo "cleaning" "in $(CURRENT_DIR)/$$i..."; \
	$(MAKE) $(MFLAGS) RM_CMD='$(RM_CMD)' clean); \
	done

tags::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(SUBDIRS) ;\
	do \
	(cd $$i ; echo "tagging" "in $(CURRENT_DIR)/$$i..."; \
	$(MAKE) $(MFLAGS) TAGS='$(TAGS)' tags); \
	done

Makefiles::
	-@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	case '${MFLAGS}' in *n*) executeit="no";; esac; \
	for i in $(SUBDIRS) ;\
	do \
	case "$(CURRENT_DIR)" in \
	.) curdir= ;; \
	*) curdir=$(CURRENT_DIR)/ ;; \
	esac; \
	echo "making Makefiles in $$curdir$$i..."; \
	itmp="$$i" \
	curtmp="$(CURRENT_DIR)" \
	toptmp=""; \
	case "$$itmp" in \
	../?*) \
	while echo "$$itmp" | grep '^../' > /dev/null;\
	do \
	toptmp="/`basename $$curtmp`$$toptmp"; \
	curtmp="`dirname $$curtmp`"; \
	itmp="`echo $$itmp | sed 's;../;;'`"; \
	done \
	;; \
	./?*) \
	while echo "$$itmp" | grep '^./' > /dev/null;\
	do \
	itmp="`echo $$itmp | sed 's;./;;'`"; \
	done \
	;; \
	esac; \
	case "$$itmp" in \
	*/?*/?*/?*/?*)	newtop=../../../../..;; \
	*/?*/?*/?*)	newtop=../../../..;; \
	*/?*/?*)	newtop=../../..;; \
	*/?*)		newtop=../..;; \
	*)		newtop=..;; \
	esac; \
	newtop="$$newtop$$toptmp"; \
	case "$(TOP)" in \
	/?*) imaketop=$(TOP) \
	imakeprefix= ;; \
	.) imaketop=$$newtop \
	imakeprefix=$$newtop/ ;; \
	*) imaketop=$$newtop/$(TOP) \
	imakeprefix=$$newtop/ ;; \
	esac; \
	cd $$i; \
	if [ $$? = 0 ]; then \
	$(RM) Makefile.bak; \
	if [ -f Makefile ]; then \
	echo "	$(MV) Makefile Makefile.bak"; \
	if [ "$$executeit" != "no" ]; then \
	$(MV) Makefile Makefile.bak; \
	fi; \
	fi; \
	if [ "$$executeit" != "no" ]; then \
	$(IMAKE_CMD) -DTOPDIR=$$imaketop -DCURDIR=$$curdir$$i; \
	fi; \
	$(MAKE) $(MFLAGS) Makefiles; \
	cd $$newtop; \
	fi; \
	done

includes::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(SUBDIRS) ;\
	do \
	(cd $$i ; echo including "in $(CURRENT_DIR)/$$i..."; \
	$(MAKE) $(MFLAGS)  includes); \
	done

# -----------------------------------------------------------------------
# dependencies generated by makedepend

