# $Header: C:\CURSES\RCS\makefile 2.1 1993/06/18 20:24:59 MH Rel MH $
#================ PDCurses makefile for DMAKE 3.8 ======================
# This makefile is for DMAKE, either under DOS or OS/2
# The following OS/Compiler combinations are supported:
#
# Target  Compiler    Command                     Compiler
# O/S     Mnemonic    Line
# System
#-----------------------------------------------------------------------
# DOS       BCC       OS=DOS COMP=BCC             Borland C++
# DOS       TCC       OS=DOS COMP=TCC             Borland Turbo C++
# DOS       TC        OS=DOS COMP=TC              Borland Turbo C
# DOS       MSC       OS=DOS COMP=MSC             Microsoft C
# DOS       QCC       OS=DOS COMP=QCC             Microsoft Quick C with QCC
# DOS       QCL       OS=DOS COMP=QCL             Microsoft Quick C with QCL
# DOS       GO32      OS=DOS COMP=GO32            DJGPP gnu C
# OS2       CSET2     OS=OS2 COMP=CSET2           IBM C Set/2
# OS2       BCC       OS=OS2 COMP=BCC             Borland C++
# OS2       MSC       OS=OS2 COMP=MSC             Microsoft C
# OS2       EMX       OS=OS2 COMP=EMX             emx/gcc
# OS2       TSC       OS=OS2 COMP=TSC             TopSpeed C
# OS2       WATCOMC   OS=OS2 COMP=WATCOMC         Watcom C
# UNIX      GCC       OS=UNIX TOS=SUNOS COMP=GCC  GNU C under SUNOS
# UNIX      GCC       OS=UNIX TOS=LINUX COMP=GCC  GNU C under LINUX
#-----------------------------------------------------------------------
# Special case for Microsoft Compiler when the host OS is DOS and the
# target OS is OS2:
# Command line will be OS=DOS COMP=MSC TOS=OS2
#-----------------------------------------------------------------------
# Change the following line to specify the memory model used.
# Valid values: 
#  (L - LARGE) (M - MEDIUM) (S - SMALL) (H - HUGE) (T - TINY) (C - COMPACT)
#  Not all memory models may be available for a particular compiler.
#-----------------------------------------------------------------------
MODEL = L
.IF $(MODEL) == L
    model = l
    SIZE = LARGE
.ELIF $(MODEL) == M
    model = m
    SIZE = MEDIUM
.ELIF $(MODEL) == S
    model = s
    SIZE = SMALL
.ELIF $(MODEL) == T
    model = t
    SIZE = TINY
.ELIF $(MODEL) == H
    model = h
    SIZE = HUGE
.ELIF $(MODEL) == C
    model = c
    SIZE = COMPACT
.END
#-----------------------------------------------------------------------
# For CSET2 and OS/2, target to build: LIB or DLL
LIBTYPE = LIB
#-----------------------------------------------------------------------
#-----------------------------------------------------------------------
# default setup for BCC under DOS, optimised version
# change values below or override with -e switch on command line
#-----------------------------------------------------------------------
OS=DOS
COMP=BCC
OPT=Y
#-----------------------------------------------------------------------
VER = 21
#-----------------------------------------------------------------------
.IF $(TOS) == $(NULL)
    TOS = $(OS)
.END
.IF $(OS) == OS2
#========================================================================
#========================= OS2 - CSET2 ==================================
#========================================================================
    .IF $(COMP) == CSET2
        LINK      = link386
        CC        = icc
        LIB_EXE   = lib
        LIB_DIR   = g:\ibmc\lib
        SETARGV   = $(LIB_DIR)\setargv
        .IF $(OPT) == N
            CDEBUG = -Q+ -O- -DPDCDEBUG -Ti
            LDEBUG = /DEBUG /NOE /SE:160 /PMTYPE:VIO
            DBG    =d
        .ELSE
            CDEBUG  = -Q+ -O+ 
            LDEBUG  = /NOE /SE:160 /PMTYPE:VIO
            DBG     =o
        .END
        OBJ      = .obj
        OBJ_DIR2 = o$(DBG)
        OBJ_DIR  = o$(DBG)\\
        PDCLIB   = curses$(DBG).lib
        LIBRSP   =,lib.map;
        CFLAGS   = $(CDEBUG) -Fo$@ -c -I$(PDC_INC)
        MAKE_LIB = $(LIB_EXE) $(PDCLIB) $(LIBFLAGS) @$(LRF)
        UTLFLAGS = $(LDEBUG) $*$(OBJ);
        MANFLAGS = $(LDEBUG) $*$(OBJ)+$(SETARGV);
        .IF $(LIBTYPE) == DLL
            CFLAGSDLL= -Ge- -O+ -Q+ -Fo$@ -c -I$(PDC_INC)
            OBJ_DIR2 = dll-obj
            OBJ_DIR  = dll-obj\\
            MAKE_LIB = $(LINK) @$(LRF)
            PDCLIB   = pdcurses.dll
            DLFLAGS  = $(LDEBUG) $*$(OBJ),$*,,,$(DEMO_DIR)$*.def ;
            TUIFLAGS = $(LDEBUG) $*$(OBJ)+tui$(OBJ),$*,,,$(DEMO_DIR)$*.def ;
        .ELSE
            DLFLAGS  = $(LDEBUG) $*$(OBJ),$*,,$(PDCLIB);
            TUIFLAGS = $(LDEBUG) $*$(OBJ)+tui$(OBJ),$*,,$(PDCLIB);
        .END
#========================================================================
#========================= OS2 - BCC ====================================
#========================================================================
    .ELIF $(COMP) == BCC
        LINK      = tlink
        CC        = bcc
        LIB_EXE   = tlib
        LIB_DIR   = h:\bcos2\lib
        INC_DIR   = h:\bcos2\include
        WILDARGS  = $(LIB_DIR)\wildargs$(OBJ)
        LIB_FLAGS = /C /E
        RSP       = +$(ROOTDIR)\os2-bcc.rsp
        DEFINES   =
        .IF $(OPT) == N
            CDEBUG	=-N -v -y -DPDCDEBUG
            LDEBUG	= /ap /c /v+ /Toe
            DBG    =d
        .ELSE
            CDEBUG	= -O 
            LDEBUG	= /ap /c /v- /Toe
            DBG     =o
        .END
        OBJ      = .obj
        OBJ_DIR2 = o$(DBG)
        OBJ_DIR  = o$(DBG)\\
        PDCLIB   = curses$(DBG).lib
        LIBRSP   =,lib.map
        CFLAGS   = $(RSP) $(CDEBUG) $(DEFINES) -I$(PDC_INC) -I$(INC_DIR) -o$@
        MAKE_LIB = $(LIB_EXE) $(PDCLIB) $(LIBFLAGS) @$(LRF)
        DLFLAGS  = $(LDEBUG) $(LIB_DIR)\c02$(OBJ)+$*$(OBJ),$*,,$(PDCLIB)+$(LIB_DIR)\c2.lib+$(LIB_DIR)\os2.lib;
        TUIFLAGS = $(LDEBUG) $(LIB_DIR)\c02$(OBJ)+$*$(OBJ)+tui$(OBJ),$*,,$(PDCLIB)+$(LIB_DIR)\c2.lib+$(LIB_DIR)\os2.lib;
        UTLFLAGS = $(LDEBUG) $(LIB_DIR)\c02$(OBJ)+$*$(OBJ),$*,,$(LIB_DIR)\c2.lib+$(LIB_DIR)\os2.lib;
        MANFLAGS = $(LDEBUG) $(LIB_DIR)\c02$(OBJ)+$*$(OBJ)+$(WILDARGS),$*,,$(LIB_DIR)\c2.lib+$(LIB_DIR)\os2.lib;
#========================================================================
#========================= OS2 - MSC ====================================
#========================================================================
    .ELIF $(COMP) == MSC
        LINK      = link
        CC        = cl
        LIB_EXE   = lib
        LIB_DIR   = $(LIB)
        SETARGV   = $(LIB_DIR)\setargv
        DEFINES   = -EM -D__OS2__ -D$(SIZE)
        .IF $(OPT) == N
            CDEBUG = -J -nologo -Od -Zi -A$(MODEL) -DPDCDEBUG
            LDEBUG = /CO /NOE /SE:160 /PMTYPE:VIO
            DBG    = d
        .ELSE
            CDEBUG  = -J -nologo -Ox -A$(MODEL)
            LDEBUG  = /NOE /SE:160 /PMTYPE:VIO
            DBG     = o
        .END
        OBJ      = .obj
        OBJ_DIR2 = o$(DBG)$(MODEL)
        OBJ_DIR  = o$(DBG)$(MODEL)\\
        PDCLIB   = $(MODEL)curses$(DBG).lib
        LIBRSP   =,lib.map;
        CFLAGS   = $(CDEBUG) $(DEFINES) -Fo$@ -c -I$(PDC_INC)
        MAKE_LIB = $(LIB_EXE) $(PDCLIB) $(LIBFLAGS) @$(LRF)
        DLFLAGS  = $(LDEBUG) $*$(OBJ),$*,,$(PDCLIB);
        TUIFLAGS = $(LDEBUG) $*$(OBJ)+tui$(OBJ),$*,,$(PDCLIB);
        UTLFLAGS  = $(LDEBUG) $*$(OBJ);
        MANFLAGS = $(LDEBUG) $*$(OBJ)+$(SETARGV);
#========================================================================
#========================= OS2 - EMX ====================================
#========================================================================
    .ELIF $(COMP) == EMX
        EMX_DIR   = g:\emx
#        EMX_VER   = 0.8e
        EMX_VER   = 0.8f
        LINK      = $(CC)
        CC        = gcc
        LIB_EXE   = ar
        LIB_DIR   = $(EMX_DIR)\lib
        LIBFLAGS  = rcv
        .IF $(EMX_VER) == 0.8f
            DEFINES   = -D__OS2__ -D__EMX__
        .ELSE
            DEFINES   = -D__OS2__ -D__EMX__ -DNOVIO
            LDEBUG = -Zomf
        .END
        .IF $(OPT) == N
            CDEBUG =-g -DPDCDEBUG
            DBG    =d
        .ELSE
            CDEBUG  =-O 
            DBG     =o
        .END
        OBJ      = .o
        OBJ_DIR2 = o$(DBG)
        OBJ_DIR  = o$(DBG)/
        LIB_NAM  = curs$(DBG)
        PDCLIB   = lib$(LIB_NAM).a
        LIBRSP   =,lib.map;
        CFLAGS   = $(CDEBUG) $(DEFINES) -o$(@:db).o -c -I$(PDC_INC)
        .IF $(EMX_VER) == 0.8e
            MAKE_LIB = $(LIB_EXE) $(LIBFLAGS) curses.a $(OBJ_DIR)*.o
            EMX_OMF_LIB=emxomf -l -o $(PDCLIB) curses.a
            EMX_OMF_OBJ=emxomf -d -o $*$(OBJ) $*.o
            DLFLAGS  = $(LDEBUG) -L$(LIB_DIR) -lc -los2 $*$(OBJ) $(PDCLIB) $(LIB_DIR)\vio32.lib -o $* $(DEMO_DIR)$*.def
            TUIFLAGS = $(LDEBUG) -L$(LIB_DIR) -lc -los2 $*$(OBJ) tui$(OBJ) $(PDCLIB) $(LIB_DIR)\vio32.lib -o $* $(DEMO_DIR)$*.def
        .ELSE
            MAKE_LIB = $(LIB_EXE) $(LIBFLAGS) $(PDCLIB) $(OBJ_DIR)*.o
            EMX_OMF_LIB=ar s $(PDCLIB)
            MAKEEXE  = $(EMX_DIR)\bin\emxbind $(EMX_DIR)\bin\emxl.exe $* $*.exe
            DLFLAGS  = $(LDEBUG) -L$(LIB_DIR) -lc -los2 $*$(OBJ) -L. -l$(LIB_NAM) -o $* $(DEMO_DIR)$*.def
            TUIFLAGS = $(LDEBUG) -L$(LIB_DIR) -lc -los2 $*$(OBJ) tui$(OBJ) -L. -l$(LIB_NAM) -o $* $(DEMO_DIR)$*.def
        .END
        UTLFLAGS = $(LDEBUG) -L$(LIB_DIR) -lc -los2 $*$(OBJ) -o $* $(TOOLS_DIR)$*.def
        MANFLAGS = $(LDEBUG) -L$(LIB_DIR) -lc -los2 $*$(OBJ) -o $* $(TOOLS_DIR)$*.def
#========================================================================
#========================= OS2 - TSC ====================================
#========================================================================
# If you can fill in the following, please let me know !
#========================================================================
    .ELIF $(COMP) == TSC
        OBJ      = .obj
#========================================================================
#========================= OS2 - WATCOMC ================================
#========================================================================
# If you can fill in the following, please let me know !
#========================================================================
    .ELIF $(COMP) == WATCOMC
        OBJ      = .obj
    .END
.ELIF $(OS) == DOS
#========================================================================
#========================= DOS - BCC ====================================
#========================================================================
    .IF $(COMP) == BCC
        LINK      = tlink
        CC        = bcc
        LIB_EXE   = tlib
        LIB_DIR   = f:\c\lib
        INC_DIR   = f:\c\include
        WILDARGS  = $(LIB_DIR)\wildargs$(OBJ)
        LIB_FLAGS = /C /E
        RSP       = +$(ROOTDIR)\dos-bcc.rsp
        DEFINES   =
        .IF $(OPT) == N
            CDEBUG	=-N -v -y -DPDCDEBUG
            LDEBUG	=/c /v /s /l /e
            DBG    =d
        .ELSE
            CDEBUG	= -O 
            LDEBUG	=
            DBG     =o
        .END
        OBJ      = .obj
        OBJ_DIR2 = o$(DBG)$(model)
        OBJ_DIR  = o$(DBG)$(model)\\
        PDCLIB   = $(model)curses$(DBG).lib
        LIBRSP   =,lib.map
        CFLAGS   = $(RSP) $(CDEBUG) $(DEFINES) -m$(model) -I$(PDC_INC) -I$(INC_DIR) -o$@
        MAKE_LIB = $(LIB_EXE) $(PDCLIB) $(LIBFLAGS) @$(LRF)
        DLFLAGS  = $(LDEBUG) $(LIB_DIR)\c0$(model)$(OBJ)+$*$(OBJ),$*,,$(PDCLIB)+$(LIB_DIR)\c$(model).lib;
        TUIFLAGS = $(LDEBUG) $(LIB_DIR)\c0$(model)$(OBJ)+$*$(OBJ)+tui$(OBJ),$*,,$(PDCLIB)+$(LIB_DIR)\c$(model).lib;
        UTLFLAGS = $(LDEBUG) $(LIB_DIR)\c0$(model)$(OBJ)+$*$(OBJ),$*,,$(LIB_DIR)\c$(model).lib;
        MANFLAGS = $(LDEBUG) $(LIB_DIR)\c0$(model)$(OBJ)+$*$(OBJ)+$(WILDARGS),$*,,$(LIB_DIR)\c$(model).lib;
#========================================================================
#========================= DOS - TCC ====================================
#========================================================================
    .ELIF $(COMP) == TCC
        LINK      = tlink
        CC        = tcc
        LIB_EXE   = tlib
        LIB_DIR   = f:\c\lib
        INC_DIR   = f:\c\include
        WILDARGS  = $(LIB_DIR)\wildargs$(OBJ)
        LIB_FLAGS = /C /E
        RSP       = +$(ROOTDIR)\dos-tcc.rsp
        DEFINES   =
        DEFINES   =
        .IF $(OPT) == N
            CDEBUG	=-N -v -y -DPDCDEBUG
            LDEBUG	=/c /v /s /l /e
            DBG    =d
        .ELSE
            CDEBUG	= -O
            LDEBUG	=
            DBG     =o
        .END
        OBJ      = .obj
        OBJ_DIR2 = o$(DBG)$(model)
        OBJ_DIR  = o$(DBG)$(model)\\
        PDCLIB   = $(model)curses$(DBG).lib
        LIBRSP   =,lib.map
        CFLAGS   = $(RSP) $(CDEBUG) $(DEFINES) -m$(model) -I$(PDC_INC) -I$(INC_DIR) -o$@
        MAKE_LIB = $(LIB_EXE) $(PDCLIB) $(LIBFLAGS) @$(LRF)
        DLFLAGS  = $(LDEBUG) $(LIB_DIR)\c0$(model)$(OBJ)+$*$(OBJ),$*,,$(PDCLIB)+$(LIB_DIR)\c$(model).lib;
        TUIFLAGS = $(LDEBUG) $(LIB_DIR)\c0$(model)$(OBJ)+$*$(OBJ)+tui$(OBJ),$*,,$(PDCLIB)+$(LIB_DIR)\c$(model).lib;
        UTLFLAGS = $(LDEBUG) $(LIB_DIR)\c0$(model)$(OBJ)+$*$(OBJ),$*,,$(LIB_DIR)\c$(model).lib;
        MANFLAGS = $(LDEBUG) $(LIB_DIR)\c0$(model)$(OBJ)+$*$(OBJ)+$(WILDARGS),$*,,$(LIB_DIR)\c$(model).lib;
#========================================================================
#========================= DOS - TC =====================================
# This configuration courtesy of Ib Hojme (ibh@dde.dk)
#========================================================================
    .ELIF $(COMP) == TC
        LINK      = tlink
        CC        = tcc
        LIB_EXE   = tlib
        LIB_DIR   = f:\c\lib
        INC_DIR   = f:\c\include
        WILDARGS  = $(LIB_DIR)\wildargs$(OBJ)
        LIB_FLAGS = /C /E
        RSP       = -1- -K -G -rd -d -w-eff -j0 -c
        DEFINES   =
        .IF $(OPT) == N
            CDEBUG	=-N -v -y -DPDCDEBUG
            LDEBUG	=/c /v /s /l /e
            DBG    =d
        .ELSE
            CDEBUG	= -O
            LDEBUG	=
            DBG     =o
        .END
        OBJ      = .obj
        OBJ_DIR2 = o$(DBG)$(model)
        OBJ_DIR  = o$(DBG)$(model)\\
        PDCLIB   = $(model)curses$(DBG).lib
        LIBRSP   =,lib.map
        CFLAGS   = $(RSP) $(CDEBUG) $(DEFINES) -m$(model) -I$(PDC_INC) -I$(INC_DIR) -o$@
        MAKE_LIB = $(LIB_EXE) $(PDCLIB) $(LIBFLAGS) @$(LRF)
        DLFLAGS  = $(LDEBUG) $(LIB_DIR)\c0$(model)$(OBJ)+$*$(OBJ),$*,,$(PDCLIB)+$(LIB_DIR)\c$(model).lib;
        TUIFLAGS = $(LDEBUG) $(LIB_DIR)\c0$(model)$(OBJ)+$*$(OBJ)+tui$(OBJ),$*,,$(PDCLIB)+$(LIB_DIR)\c$(model).lib;
        UTLFLAGS = $(LDEBUG) $(LIB_DIR)\c0$(model)$(OBJ)+$*$(OBJ),$*,,$(LIB_DIR)\c$(model).lib;
        MANFLAGS = $(LDEBUG) $(LIB_DIR)\c0$(model)$(OBJ)+$*$(OBJ)+$(WILDARGS),$*,,$(LIB_DIR)\c$(model).lib;
#========================================================================
#========================= DOS - MSC ====================================
#========================================================================
    .ELIF $(COMP) == MSC
        LINK      = link
        CC        = cl
        LIB_EXE   = lib
        SETARGV   = $(LIB)\setargv
        DEFINES   = -EM -D$(SIZE)
        .IF $(TOS) == OS2
            OS2LD     = /PMTYPE:VIO
            DEFINES   = -D__OS2__ -D$(SIZE)
            OS2LIB    = $(LIB)\os2.lib
            PLUS      =+
            MAKEEXE   = bind $*
        .END
        .IF $(OPT) == N
            CDEBUG = -J -nologo -Od -Zi -A$(MODEL) -DPDCDEBUG
            LDEBUG = /CO /NOE /SE:160 $(OS2LD)
            DBG    = d
        .ELSE
            CDEBUG  = -J -nologo -Ox -A$(MODEL)
            LDEBUG  = /NOE /SE:160 $(OS2LD)
            DBG     = o
        .END
        OBJ      = .obj
        OBJ_DIR2 = o$(DBG)$(MODEL)
        OBJ_DIR  = o$(DBG)$(MODEL)\\
        PDCLIB   = $(MODEL)curses$(DBG).lib
        LIBRSP   =,lib.map;
        CFLAGS   = $(CDEBUG) $(DEFINES) -Fo$@ -c -I$(PDC_INC)
        MAKE_LIB = $(LIB_EXE) $(PDCLIB) $(LIBFLAGS) @$(LRF)
        DLFLAGS  = $(LDEBUG) $*$(OBJ),$*,,$(PDCLIB)$(PLUS)$(OS2LIB);
        TUIFLAGS = $(LDEBUG) $*$(OBJ)+tui$(OBJ),$*,,$(PDCLIB)$(PLUS)$(OS2LIB);
        UTLFLAGS = $(LDEBUG) $*$(OBJ),$*,,$(OS2LIB);
        MANFLAGS = $(LDEBUG) $*$(OBJ)+$(SETARGV),$*,,$(OS2LIB);
#========================================================================
#========================= DOS - QCC ====================================
#========================================================================
    .ELIF $(COMP) == QCC
        LINK      = link
        CC        = qcc
        LIB_EXE   = lib
        SETARGV   = $(LIB)\setargv
        DEFINES   = -D$(SIZE)
        .IF $(OPT) == N
            CDEBUG = -J -Od -Zi -A$(MODEL) -DPDCDEBUG
            LDEBUG = /CO /NOE /SE:160
            DBG    = d
        .ELSE
            CDEBUG  = -J -Ox -A$(MODEL)
            LDEBUG  = /NOE /SE:160
            DBG     = o
        .END
        OBJ      = .obj
        OBJ_DIR2 = $(DBG)$(MODEL)
        OBJ_DIR  = $(DBG)$(MODEL)\\
        PDCLIB   = $(MODEL)curses$(DBG).lib
        LIBRSP   =,lib.map;
        CFLAGS   = $(CDEBUG) $(DEFINES) -Fo$@ -c -I$(PDC_INC)
        MAKE_LIB = $(LIB_EXE) $(PDCLIB) $(LIBFLAGS) @$(LRF)
        DLFLAGS  = $(LDEBUG) $*$(OBJ),$*,,$(PDCLIB);
        TUIFLAGS = $(LDEBUG) $*$(OBJ)+tui$(OBJ),$*,,$(PDCLIB);
        UTLFLAGS = $(LDEBUG) $*$(OBJ);
        MANFLAGS = $(LDEBUG) $*$(OBJ)+$(SETARGV);
#========================================================================
#========================= DOS - QCL ====================================
#========================================================================
    .ELIF $(COMP) == QCL
        LINK      = link
        CC        = qcl
        LIB_EXE   = lib
        SETARGV   = $(LIB)\setargv
        DEFINES   = -D$(SIZE)
        .IF $(OPT) == N
            CDEBUG = -J -Od -Zi -A$(MODEL) -DPDCDEBUG
            LDEBUG = /CO /NOE /SE:160
            DBG    = d
        .ELSE
            CDEBUG  = -J -Ox -A$(MODEL)
            LDEBUG  = /NOE /SE:160
            DBG     = o
        .END
        OBJ      = .obj
        OBJ_DIR2 = $(DBG)$(MODEL)
        OBJ_DIR  = $(DBG)$(MODEL)\\
        PDCLIB   = $(MODEL)curses$(DBG).lib
        LIBRSP   =,lib.map;
        CFLAGS   = $(CDEBUG) $(DEFINES) -Fo$@ -c -I$(PDC_INC)
        MAKE_LIB = $(LIB_EXE) $(PDCLIB) $(LIBFLAGS) @$(LRF)
        DLFLAGS  = $(LDEBUG) $*$(OBJ),$*,,$(PDCLIB);
        TUIFLAGS = $(LDEBUG) $*$(OBJ)+tui$(OBJ),$*,,$(PDCLIB);
        UTLFLAGS = $(LDEBUG) $*$(OBJ);
        MANFLAGS = $(LDEBUG) $*$(OBJ)+$(SETARGV);
#========================================================================
#========================= DOS - DJGPP ==================================
# This configuration courtesy of David Nugent (davidn@csource.oz.au)
#========================================================================
    .ELIF $(COMP) == GO32
        LINK      = $(CC)
        CC        = gcc
        LIB_EXE   = ar
        LIB_DIR   = g:/djgpp/lib
        LIBFLAGS  = rcv
        MAKEEXE   = aout2exe $*
        DEFINES   =
        .IF $(OPT) == N
            CDEBUG = -g -DPDCDEBUG
            LDEBUG = -g
            DBG    = d
        .ELSE
            CDEBUG = -O
            LDEBUG =
            DBG    = o
        .END
        OBJ      = .o
        OBJ_DIR2 = o$(DBG)
        OBJ_DIR  = o$(DBG)\\
        PDCLIB   = curses$(DBG).a
        LIBRSP   =
        CFLAGS   = $(CDEBUG) $(DEFINES) -o$(@:db)$(OBJ) -c -I$(PDC_INC)
        MAKE_LIB = $(LIB_EXE) $(LIBFLAGS) $(PDCLIB) $(OBJ_DIR2)/*$(OBJ)
        DLFLAGS  = $(LDEBUG) -L$(LIB_DIR) $*$(OBJ) $(PDCLIB) -o $*
        TUIFLAGS = $(LDEBUG) -L$(LIB_DIR) $*$(OBJ) tui$(OBJ) $(PDCLIB) -o $*
        UTLFLAGS = $(LDEBUG) -L$(LIB_DIR) $*$(OBJ) -o $*
        MANFLAGS = $(LDEBUG) -L$(LIB_DIR) $*$(OBJ) -o $*
        EMX_OMF_LIB=ranlib $(PDCLIB)
    .END
.ELIF $(OS) == UNIX
#========================================================================
#========================= UNIX - GCC ===================================
#========================================================================
    .IF $(COMP) == GCC
        CC        = gcc
        LINK      = $(CC)
        LIB_EXE   = ar
        SETARGV   = 
        DEFINES   = -DUNIX -D$(TOS) 
        .IF $(OPT) == N
            CDEBUG = -g -DPDCDEBUG
            LDEBUG = -g
            DBG    = d
        .ELSE
            CDEBUG  = -O
            LDEBUG  =
            DBG     = o
        .END
        OBJ      = .o
        OBJ_DIR2 = object_$(DBG)
        OBJ_DIR  = object_$(DBG)/
        PDCLIB   = libpdcurses.a
        MYTINFO  = /home/snark/mark/mytinfo
        MYTINFOLIB= $(MYTINFO)/libmytinfo.a
        EMX_OMF_LIB = ranlib $(PDCLIB)
        LIBFLAGS = rv
        CFLAGS   = $(CDEBUG) $(DEFINES) -c -I$(PDC_INC) -I$(MYTINFO) -o $@
        MAKE_LIB = $(LIB_EXE) $(LIBFLAGS) $(PDCLIB) $(OBJ_DIR)*$(OBJ)
        DLFLAGS  = $(LDEBUG) -o $* $*$(OBJ) $(PDCLIB) $(MYTINFOLIB)
        TUIFLAGS = $(LDEBUG) -o $* $*$(OBJ) tui$(OBJ) $(PDCLIB) $(MYTINFOLIB)
        UTLFLAGS = $(LDEBUG) -o $* $*$(OBJ)
        MANFLAGS = $(LDEBUG) -o $* $*$(OBJ)
    .END
.END
#-----------------------------------------------------------------------
CFLAGSLIB = $(CFLAGS)
.IF $(OS) == UNIX
    DIRSEP = /
    EXE       =
    RM        = rm
    ADDLRF    =
    ROOTDIR   = .$(DIRSEP)
.ELSE
    DIRSEP    = \\
    EXE       = .exe
    ENDLIB    = +echo $(LIBRSP) >> $(LRF)
    ADDLRF    = buildlrf $(LIBTYPE) -+$@ $(LRF)
    RM        = del
    LRF       = PDCurses.lrf
    RMLRF     = $(RM) $(LRF)
    .IF $(COMP) == GO32
        DIRSEP = /
        ENDLIB    = +-del $(PDCLIB)
        ADDLRF    = 
        RMLRF     =
    .END
    .IF $(COMP) == EMX
        DIRSEP = /
        ENDLIB    = +-del $(PDCLIB)
        ADDLRF    = 
        RMLRF     =
    .END
    .IF $(COMP) == CSET2
        .IF $(LIBTYPE) == DLL
            EXTRALIB  = +copy $(ROOTDIR)pdcurses.lnk $(LRF)
            ENDLIB    = +echo $(PDCLIB),pdcurses.map,,$(ROOTDIR)pdcurses.def >> $(LRF)
            ADDLRF    = 
            CFLAGSLIB = $(CFLAGSDLL)
        .END
    .END
#   ROOTDIR   = c:$(DIRSEP)curses$(DIRSEP)
    ROOTDIR   = .$(DIRSEP)
.END

PDC_INC   = $(ROOTDIR)
PORT_DIR  = $(ROOTDIR)portable$(DIRSEP)
NONP_DIR  = $(ROOTDIR)nonport$(DIRSEP)
PRIV_DIR  = $(ROOTDIR)private$(DIRSEP)
FLEX_DIR  = $(ROOTDIR)flexos$(DIRSEP)
UNIX_DIR  = $(ROOTDIR)unix$(DIRSEP)
TOOLS_DIR = $(ROOTDIR)tools$(DIRSEP)
DEMO_DIR  = $(ROOTDIR)demos$(DIRSEP)
DOC_DIR   = $(ROOTDIR)doc$(DIRSEP)

#######################################################################
#<<<<<< Nothing below here should need to be changed >>>>>>>>>>>>>>>>>>
#######################################################################
#
#   Header Files
#
HEADERS = $(PDC_INC)curses.h $(PDC_INC)curspriv.h $(PDC_INC)cursos2.h

#######################################################################
########################## First (default) target #####################
#######################################################################
all:    $(PDCLIB) demos manual
#######################################################################
############################ Demo Programs Targets ####################
#######################################################################
demos:  $(PDCLIB) xmas$(EXE) newdemo$(EXE) testcurs$(EXE) firework$(EXE) tuidemo$(EXE)

newdemo$(EXE):    $(PDCLIB) newdemo$(OBJ)
	        $(LINK) $(DLFLAGS)
	        $(MAKEEXE)

xmas$(EXE):       $(PDCLIB) xmas$(OBJ)
	        $(LINK) $(DLFLAGS)
	        $(MAKEEXE)

testcurs$(EXE):   $(PDCLIB) testcurs$(OBJ)
	        $(LINK) $(DLFLAGS)
	        $(MAKEEXE)

firework$(EXE):   $(PDCLIB) firework$(OBJ)
	        $(LINK) $(DLFLAGS)
	        $(MAKEEXE)

tuidemo$(EXE):   $(PDCLIB) tuidemo$(OBJ) tui$(OBJ)
	        $(LINK) $(TUIFLAGS)
	        $(MAKEEXE)

test$(EXE):   $(PDCLIB) test$(OBJ)
	        $(LINK) $(DLFLAGS)
	        $(MAKEEXE)


newdemo$(OBJ):   $(HEADERS) $(DEMO_DIR)newdemo.c
	        $(CC) $(CFLAGS) $(DEMO_DIR)newdemo.c
	        $(EMX_OMF_OBJ)

xmas$(OBJ):      $(HEADERS)  $(DEMO_DIR)xmas.c
	        $(CC) $(CFLAGS) $(DEMO_DIR)xmas.c
	        $(EMX_OMF_OBJ)

testcurs$(OBJ):  $(HEADERS)  $(DEMO_DIR)testcurs.c
	        $(CC) $(CFLAGS) $(DEMO_DIR)testcurs.c
	        $(EMX_OMF_OBJ)

firework$(OBJ):  $(HEADERS)  $(DEMO_DIR)firework.c
	        $(CC) $(CFLAGS) $(DEMO_DIR)firework.c
	        $(EMX_OMF_OBJ)

tuidemo$(OBJ):  $(HEADERS)  $(DEMO_DIR)tuidemo.c $(PDC_INC)tui.h
	        $(CC) $(CFLAGS) $(DEMO_DIR)tuidemo.c
	        $(EMX_OMF_OBJ)

tui$(OBJ):  $(HEADERS)  $(DEMO_DIR)tui.c $(PDC_INC)tui.h
	        $(CC) $(CFLAGS) $(DEMO_DIR)tui.c
	        $(EMX_OMF_OBJ)

test$(OBJ):  $(HEADERS)  test.c
	        $(CC) $(CFLAGS) test.c
	        $(EMX_OMF_OBJ)

#######################################################################
######################### Utility Program  Targets ####################
#######################################################################

buildlrf$(EXE):   buildlrf$(OBJ)
	        $(LINK) $(UTLFLAGS)
	        $(MAKEEXE)

buildlrf$(OBJ): $(TOOLS_DIR)buildlrf.c
	        $(CC) $(CFLAGS) $(TOOLS_DIR)buildlrf.c
	        $(EMX_OMF_OBJ)

manext$(EXE):   manext$(OBJ)
	        $(LINK) $(MANFLAGS)
	        $(MAKEEXE)

manext$(OBJ): $(TOOLS_DIR)manext.c
	        $(CC) $(CFLAGS) $(TOOLS_DIR)manext.c
	        $(EMX_OMF_OBJ)

#######################################################################
######################### Library Program  Targets ####################
#######################################################################
#
#       Portable Curses Functions
#
PORT1 = $(OBJ_DIR)baudrate$(OBJ) $(OBJ_DIR)beep$(OBJ)     $(OBJ_DIR)box$(OBJ)      \
        $(OBJ_DIR)canchang$(OBJ) $(OBJ_DIR)cbreak$(OBJ)   $(OBJ_DIR)clearok$(OBJ)  \
        $(OBJ_DIR)colorcon$(OBJ) $(OBJ_DIR)def_prog$(OBJ) $(OBJ_DIR)def_shel$(OBJ) \
        $(OBJ_DIR)delay_ou$(OBJ) $(OBJ_DIR)delwin$(OBJ)   $(OBJ_DIR)doupdate$(OBJ) \
        $(OBJ_DIR)echo$(OBJ)     $(OBJ_DIR)endwin$(OBJ)   $(OBJ_DIR)erasecha$(OBJ) \
        $(OBJ_DIR)fixterm$(OBJ)  $(OBJ_DIR)flash$(OBJ)    $(OBJ_DIR)flushinp$(OBJ)

PORT2 = $(OBJ_DIR)gettmode$(OBJ) $(OBJ_DIR)getyx$(OBJ)    $(OBJ_DIR)has_ic$(OBJ)   \
        $(OBJ_DIR)has_il$(OBJ)   $(OBJ_DIR)hascolor$(OBJ) $(OBJ_DIR)idlok$(OBJ)    \
        $(OBJ_DIR)initcolo$(OBJ) $(OBJ_DIR)initpair$(OBJ) $(OBJ_DIR)initscr$(OBJ)  \
        $(OBJ_DIR)intrflus$(OBJ) $(OBJ_DIR)keyname$(OBJ)  $(OBJ_DIR)keypad$(OBJ)   \
        $(OBJ_DIR)killchar$(OBJ) $(OBJ_DIR)leaveok$(OBJ)  $(OBJ_DIR)longname$(OBJ) \
        $(OBJ_DIR)meta$(OBJ)     $(OBJ_DIR)mvcur$(OBJ)    $(OBJ_DIR)mvprintw$(OBJ)

PORT3 = $(OBJ_DIR)mvscanw$(OBJ)  $(OBJ_DIR)mvwin$(OBJ)    $(OBJ_DIR)mvwprint$(OBJ) \
        $(OBJ_DIR)mvwscanw$(OBJ) $(OBJ_DIR)newpad$(OBJ)   $(OBJ_DIR)newterm$(OBJ)  \
        $(OBJ_DIR)newwin$(OBJ)   $(OBJ_DIR)nl$(OBJ)       $(OBJ_DIR)nocbreak$(OBJ) \
        $(OBJ_DIR)nodelay$(OBJ)  $(OBJ_DIR)noecho$(OBJ)   $(OBJ_DIR)noraw$(OBJ)    \
        $(OBJ_DIR)overlay$(OBJ)  $(OBJ_DIR)overwrit$(OBJ) $(OBJ_DIR)paircont$(OBJ) \
        $(OBJ_DIR)pnoutref$(OBJ) $(OBJ_DIR)prefresh$(OBJ) $(OBJ_DIR)printw$(OBJ)

PORT4 = $(OBJ_DIR)raw$(OBJ)      $(OBJ_DIR)refresh$(OBJ)  $(OBJ_DIR)reset_pr$(OBJ) \
        $(OBJ_DIR)reset_sh$(OBJ) $(OBJ_DIR)resetter$(OBJ) $(OBJ_DIR)resetty$(OBJ)  \
        $(OBJ_DIR)saveoldt$(OBJ) $(OBJ_DIR)saveterm$(OBJ) $(OBJ_DIR)savetty$(OBJ)  \
        $(OBJ_DIR)scanw$(OBJ)    $(OBJ_DIR)scroll$(OBJ)   $(OBJ_DIR)scrollok$(OBJ) \
        $(OBJ_DIR)set_term$(OBJ) $(OBJ_DIR)setscrrg$(OBJ) $(OBJ_DIR)standend$(OBJ) \
        $(OBJ_DIR)standout$(OBJ) $(OBJ_DIR)startcol$(OBJ) $(OBJ_DIR)subwin$(OBJ)

PORT5 = $(OBJ_DIR)touchlin$(OBJ) $(OBJ_DIR)touchwin$(OBJ) $(OBJ_DIR)typeahea$(OBJ) \
        $(OBJ_DIR)unctrl$(OBJ)   $(OBJ_DIR)ungetch$(OBJ)  $(OBJ_DIR)waddch$(OBJ)   \
        $(OBJ_DIR)waddstr$(OBJ)  $(OBJ_DIR)wattroff$(OBJ) $(OBJ_DIR)wattron$(OBJ)  \
        $(OBJ_DIR)wattrset$(OBJ) $(OBJ_DIR)wclear$(OBJ)   $(OBJ_DIR)wclrtobo$(OBJ) \
        $(OBJ_DIR)wclrtoeo$(OBJ) $(OBJ_DIR)wdelch$(OBJ)   $(OBJ_DIR)wdeletel$(OBJ) \
        $(OBJ_DIR)werase$(OBJ)   $(OBJ_DIR)wgetch$(OBJ)   $(OBJ_DIR)wgetstr$(OBJ)

PORT6 = $(OBJ_DIR)winch$(OBJ)    $(OBJ_DIR)winsch$(OBJ)   $(OBJ_DIR)winsertl$(OBJ) \
        $(OBJ_DIR)wmove$(OBJ)    $(OBJ_DIR)wnoutref$(OBJ) $(OBJ_DIR)wprintw$(OBJ)  \
        $(OBJ_DIR)wrefresh$(OBJ) $(OBJ_DIR)wscanw$(OBJ)   $(OBJ_DIR)wsetscrr$(OBJ) \
        $(OBJ_DIR)wstanden$(OBJ) $(OBJ_DIR)wstandou$(OBJ) $(OBJ_DIR)curs_set$(OBJ) \
        $(OBJ_DIR)nonl$(OBJ)     $(OBJ_DIR)copywin$(OBJ)     \
        $(OBJ_DIR)traceon$(OBJ)  $(OBJ_DIR)traceoff$(OBJ)

PORTABLE = $(PORT1) $(PORT2) $(PORT3) $(PORT4) $(PORT5) $(PORT6)

#
#               Non-portable PDCurses Functions
#
NONPORT = $(OBJ_DIR)border$(OBJ)   $(OBJ_DIR)breakcha$(OBJ) $(OBJ_DIR)cursoff$(OBJ)  \
          $(OBJ_DIR)curson$(OBJ)   $(OBJ_DIR)mvwinser$(OBJ) $(OBJ_DIR)rawout$(OBJ)   \
          $(OBJ_DIR)resize$(OBJ)   $(OBJ_DIR)resizew$(OBJ)  $(OBJ_DIR)tabsize$(OBJ)  \
          $(OBJ_DIR)waddraws$(OBJ) $(OBJ_DIR)wborder$(OBJ)  $(OBJ_DIR)wbox$(OBJ)     \
          $(OBJ_DIR)winprint$(OBJ) $(OBJ_DIR)wordchar$(OBJ) $(OBJ_DIR)wtabsize$(OBJ)

#
#               Private (Internal) PDCurses Functions
#
PRIV1 = $(OBJ_DIR)_addtail$(OBJ) $(OBJ_DIR)_addwin$(OBJ)  $(OBJ_DIR)_backchr$(OBJ) \
        $(OBJ_DIR)_cattr$(OBJ)   $(OBJ_DIR)_chadd$(OBJ)   $(OBJ_DIR)_chgattr$(OBJ) \
        $(OBJ_DIR)_chins$(OBJ)   $(OBJ_DIR)_ckbiosk$(OBJ) $(OBJ_DIR)_clrscr$(OBJ)  \
        $(OBJ_DIR)_clrupda$(OBJ) $(OBJ_DIR)_findwin$(OBJ) $(OBJ_DIR)_fixcurs$(OBJ)

PRIV2 = $(OBJ_DIR)_gbiosky$(OBJ) $(OBJ_DIR)_gcrspos$(OBJ) $(OBJ_DIR)_gcurcol$(OBJ) \
        $(OBJ_DIR)_gcurrow$(OBJ) $(OBJ_DIR)_getattr$(OBJ) $(OBJ_DIR)_getcbrk$(OBJ) \
        $(OBJ_DIR)_getcols$(OBJ) $(OBJ_DIR)_getcrsr$(OBJ) $(OBJ_DIR)_getfont$(OBJ) \
        $(OBJ_DIR)_getrows$(OBJ) $(OBJ_DIR)_getscrn$(OBJ) $(OBJ_DIR)_gotoxy$(OBJ)

PRIV3 = $(OBJ_DIR)_inswin$(OBJ)  $(OBJ_DIR)_makenew$(OBJ) $(OBJ_DIR)_newline$(OBJ) \
        $(OBJ_DIR)_print$(OBJ)   $(OBJ_DIR)_putc$(OBJ)    $(OBJ_DIR)_putctty$(OBJ) \
        $(OBJ_DIR)_queryad$(OBJ) $(OBJ_DIR)_rawgetc$(OBJ) $(OBJ_DIR)_rmwin$(OBJ)   \
        $(OBJ_DIR)_sanity$(OBJ)  $(OBJ_DIR)_scb$(OBJ)     $(OBJ_DIR)_scrclos$(OBJ)

PRIV4 = $(OBJ_DIR)_scrnmod$(OBJ) $(OBJ_DIR)_scroll$(OBJ)  $(OBJ_DIR)_scropen$(OBJ) \
        $(OBJ_DIR)_set8025$(OBJ) $(OBJ_DIR)_setcrsr$(OBJ) $(OBJ_DIR)_setfont$(OBJ) \
        $(OBJ_DIR)_setrows$(OBJ) $(OBJ_DIR)_setscrn$(OBJ) $(OBJ_DIR)_sgetnl$(OBJ)  \
        $(OBJ_DIR)_splitpl$(OBJ) $(OBJ_DIR)_sysgetc$(OBJ) $(OBJ_DIR)_validch$(OBJ)

PRIV5 = $(OBJ_DIR)_xfrmlin$(OBJ) $(OBJ_DIR)_vsscanf$(OBJ) $(OBJ_DIR)_usleep$(OBJ)  \
        $(OBJ_DIR)_debug$(OBJ)   $(OBJ_DIR)_copywin$(OBJ) $(OBJ_DIR)_memmove$(OBJ) \
        $(OBJ_DIR)_dosmem$(OBJ)

PRIVATE = $(PRIV1) $(PRIV2) $(PRIV3) $(PRIV4) $(PRIV5)

#
#       PDCurses function specific to the FlexOS Operating System
#
.IF $(OS) == FLEXOS
FLEXOS = $(OBJ_DIR)_16bitmo$(OBJ) $(OBJ_DIR)_8bitmod$(OBJ) $(OBJ_DIR)_gname$(OBJ)
.END

#
#       PDCurses function specific to Unix
#
.IF $(OS) == UNIX
UNIX = $(OBJ_DIR)_kbhit$(OBJ) $(OBJ_DIR)_setkeys$(OBJ)
.END


$(PDCLIB): buildlrf$(EXE) $(OBJ_DIR2) $(HEADERS) $(PORTABLE) $(NONPORT) $(PRIVATE) $(FLEXOS) $(UNIX)
	        $(EXTRALIB)
	        $(ENDLIB)
	        $(MAKE_LIB)
	        $(EMX_OMF_LIB)
	        +-$(RMLRF)

$(OBJ_DIR2):
	        +-mkdir $(OBJ_DIR2)
#
#       Refresh library response file and build library
#
lib:    $(PDCLIB)
	        +if exist $(PDCLIB) del $(PDCLIB)
	        +if exist $(LRF) del $(LRF)
	        +for %%f in ($(OBJ_DIR)*$(OBJ)) do buildlrf $(LIBTYPE) +%%f $(LRF)
	        $(EXTRALIB)
	        $(ENDLIB)
	        $(MAKE_LIB)
	        $(EMX_OMF_LIB)
	        +if exist $(LRF) del $(LRF)

#
#       Object Module Targets
#

# PORTABLE
$(OBJ_DIR)%$(OBJ): $(PORT_DIR)%.c
	          $(CC) $(CFLAGSLIB) $<
	          -$(ADDLRF)

# NONPORT

$(OBJ_DIR)%$(OBJ): $(NONP_DIR)%.c
	            $(CC) $(CFLAGSLIB) $<
	            -$(ADDLRF)

# PRIVATE

$(OBJ_DIR)%$(OBJ): $(PRIV_DIR)%.c
	          $(CC) $(CFLAGSLIB) $<
	          -$(ADDLRF)

# FLEXOS

$(OBJ_DIR)%$(OBJ): $(FLEX_DIR)%.c
	          $(CC) $(CFLAGSLIB) $<
	          -$(ADDLRF)

# UNIX

$(OBJ_DIR)%$(OBJ): $(UNIX_DIR)%.c
	          $(CC) $(CFLAGSLIB) $<
	          -$(ADDLRF)

#######################################################################
######################### Documentation Targets #######################
#######################################################################

manual:		$(DOC_DIR)intro.man	$(DOC_DIR)overview.man	$(DOC_DIR)todo.man manext$(EXE)
	manext $(DOC_DIR)intro.man 			> PDCurses.man
	manext $(DOC_DIR)overview.man 			>> PDCurses.man
	+echo .......=================================== >> PDCurses.man
	+echo .......PDCurses Definitions and Variables:	>> PDCurses.man
	+echo .......=================================== >> PDCurses.man
	manext $(PDC_INC)curses.h $(FFLAGS)	>> PDCurses.man
	+echo .......============================ >> PDCurses.man
	+echo .......Portable PDCurses Functions:		>> PDCurses.man
	+echo .......============================ >> PDCurses.man
	manext $(PORT_DIR)*.c >> PDCurses.man
	+echo .......================================ >> PDCurses.man
	+echo .......Non-portable PDCurses Functions:		>> PDCurses.man
	+echo .......================================ >> PDCurses.man
	manext $(NONP_DIR)*.c >> PDCurses.man
	+echo .......============================ >> PDCurses.man
	+echo .......Internal PDCurses Functions:		>> PDCurses.man
	+echo .......============================ >> PDCurses.man
	manext $(PRIV_DIR)*.c >> PDCurses.man
	+echo .......========================== >> PDCurses.man
	+echo .......PDCurses Flexos Functions:		>> PDCurses.man
	+echo .......========================== >> PDCurses.man
	manext $(FLEX_DIR)*.c >> PDCurses.man
	+echo .......========================== >> PDCurses.man
	+echo .......PDCurses Unix Functions:		>> PDCurses.man
	+echo .......========================== >> PDCurses.man
	manext $(UNIX_DIR)*.c >> PDCurses.man
	+echo .......======================== >> PDCurses.man
	+echo .......Functions not supported:		>> PDCurses.man
	+echo .......======================== >> PDCurses.man
	manext $(DOC_DIR)todo.man 			>> PDCurses.man

#######################################################################
######################### Maintenance Targets #########################
#######################################################################
clean:
	+$(RM) PDCurses.ar? 
	+$(RM) $(OBJ_DIR)*$(OBJ)

zoo:
	zoo a pdcurs$(VER) $(ROOTDIR)readme.20 $(ROOTDIR)readme.21 $(ROOTDIR)makefile $(HEADERS)
	zoo a pdcurs$(VER) $(ROOTDIR)tui.h $(ROOTDIR)pdcurses.def $(ROOTDIR)pdcurses.lnk $(DOC_DIR)*.man
	zoo a pdcurs$(VER) $(PORT_DIR)*.c $(NONP_DIR)*.c $(PRIV_DIR)*.c
	zoo a pdcurs$(VER) $(FLEX_DIR)*.c $(UNIX_DIR)*.c $(DEMO_DIR)*.c $(DEMO_DIR)*.def
	zoo a pdcurs$(VER) $(TOOLS_DIR)*.c $(TOOLS_DIR)*.def $(TOOLS_DIR)*.ini $(ROOTDIR)*.rsp

zip:
	zip pdcurs$(VER) $(ROOTDIR)readme.20 $(ROOTDIR)readme.21 $(ROOTDIR)makefile $(HEADERS)
	zip pdcurs$(VER) $(ROOTDIR)tui.h $(ROOTDIR)pdcurses.def $(ROOTDIR)pdcurses.lnk $(DOC_DIR)*.man
	zip pdcurs$(VER) $(PORT_DIR)*.c $(NONP_DIR)*.c $(PRIV_DIR)*.c
	zip pdcurs$(VER) $(FLEX_DIR)*.c $(UNIX_DIR)*.c $(DEMO_DIR)*.c $(DEMO_DIR)*.def 
	zip pdcurs$(VER) $(TOOLS_DIR)*.c $(TOOLS_DIR)*.def $(TOOLS_DIR)*.ini $(ROOTDIR)*.rsp

tar:
	tar cvf pdcurs$(VER).tar $(ROOTDIR)readme.20 $(ROOTDIR)readme.21 $(ROOTDIR)makefile $(HEADERS) \
	$(ROOTDIR)tui.h $(ROOTDIR)pdcurses.def $(ROOTDIR)pdcurses.lnk $(DOC_DIR)*.man                                      \
	$(PORT_DIR)*.c $(NONP_DIR)*.c $(PRIV_DIR)*.c                         \
	$(FLEX_DIR)*.c $(UNIX_DIR)*.c $(DEMO_DIR)*.c $(DEMO_DIR)*.def        \
	$(TOOLS_DIR)*.c $(TOOLS_DIR)*.def $(TOOLS_DIR)*.ini $(ROOTDIR)*.rsp
	compress pdcurs$(VER).tar
