Figure 1

#
# Make file for CMENU Menu compiler system (DOS version)
# Developed under Borland C++, but written portably
#

################################################################
# Primary configuration section
################################################################

CC = bcc                    # command-line compiler name

# uncomment only one line in each of following 3 pairs of lines:

#DEBUG = -v                 # enable Turbo Debugger info
DEBUG =                     # disable debugging

#BCCOPTS =
BCCOPTS = -w-pia -A         # Borland-specific stuff

#NEEDSTR = -DNEEDSTR        # compile own strstr() definition
NEEDSTR =                   # use library version of strstr()

WILDLIB = wildargs.obj      # links wildcard module

CULIBS = tscurses.lib       # curses library

##############################################################
# End of primary configuration section
##############################################################

COPTS = $(BCCOPTS) -DDOS=1 $(DEBUG) $(NEEDSTR)
CFILES = cmenu1.obj cmenu2.obj cmenu3.obj
RFILES = rmenu1.obj rmenu2.obj rmenu3.obj rmenu4.obj

all: cmenu.exe rmenu.exe dmenu.exe

.c.obj:                         # For non-Borland MAKE, you may need to
    $(CC) -c $(COPTS) {$< }     # substitute "$*.c" for "{$< }"

cmenu.exe: $(CFILES)
    $(CC) $(DEBUG) -ecmenu $(CFILES) $(WILDLIB)

rmenu.exe: $(RFILES)
    $(CC) $(DEBUG) -ermenu $(RFILES) $(CULIBS)

dmenu.exe: dmenu.c cmenu.h
    $(CC) $(COPTS) -edmenu dmenu.c

$(CFILES): ccmenu.h cmenu.h makefile

$(RFILES): rcmenu.h cmenu.h makefile