home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of A1200
/
World_Of_A1200.iso
/
programs
/
text
/
vim
/
src
/
makefile.sas
< prev
next >
Wrap
Makefile
|
1995-02-27
|
9KB
|
300 lines
#
# Makefile for VIM on the Amiga, using SAS/Lattice C 6.0 to 6.3
#
# Do NOT use the peephole optimizer! It messes up all kinds of things.
# For 6.0 and 6.1, expand_env() will not work correctly.
# For 6.2 and 6.3 the call to free_line in u_freeentry is wrong.
# Don't know about 6.50, might work...
# You should use Manx Aztec C whenever possible.
#
# The prototypes from Manx and SAS are incompatible. If the prototypes
# were generated by Manx, first do "touch *.c; make proto" before "make".
#
# Note: not all dependencies are included. This was done to avoid having
# to compile everything when a global variable or function is added
#
#>>>>> choose options:
### DEF=DIGRAPHS digraph support (at the cost of 1.6 Kbyte code)
### DEF=NO_ARP do not use arp.library, DOS 2.0 required
### DEF=COMPATIBLE start in vi-compatible mode
### DEF=NOBACKUP default is no backup file
### DEF=DEBUG output a lot of debugging garbage
### DEF=TERMCAP include termcap file support
### DEF=NO_BUILTIN_TCAPS do not include builtin termcap entries
### (use only with -DTERMCAP)
### DEF=SOME_BUILTIN_TCAPS include most useful builtin termcap entries
### (use only without -DNO_BUILTIN_TCAPS)
### DEF=ALL_BUILTIN_TCAPS include all builtin termcap entries
### (use only without -DNO_BUILTIN_TCAPS)
### DEF=WEBB_COMPLETE include Webb's code for command line completion
### DEF=WEBB_KEYWORD_COMPL include Webb's code for keyword completion
### DEF=NOTITLE 'title' option off by default
DEFINES = DEF=DIGRAPHS DEF=SOME_BUILTIN_TCAPS \
DEF=WEBB_COMPLETE DEF=WEBB_KEYWORD_COMPL
#>>>>> if TERMCAP is defined obj/termlib.o has to be used
#TERMLIB = obj/termlib.o
TERMLIB =
#>>>>> choose NODEBUG for normal compiling, the other for debugging and profiling
# don't switch on debugging when generating proto files, it crashes the compiler.
DBG = NODEBUG
#DBG = DBG=SF
#>>>>> choose NOOPTPEEP for 6.0 to 6.3, NOOPT for debugging
# when all the optimizer bugs are finally solved you can use OPT
#OPTIMIZE=OPT
OPTIMIZE=NOOPTPEEP
#OPTIMIZE=NOOPT
#>>>>> end of choices
###########################################################################
CC = sc
GST = vim.gst
COPTS = SINT SCODE SDATA
CFLAGS = NOLINK $(OPTIMIZE) $(COPTS) DEF=AMIGA DEF=SASC $(DBG) $(DEFINES) GST=$(GST)
PROPT = DEF=PROTO GPROTO GPPARM
OBJ = obj/alloc.o obj/amiga.o obj/buffer.o obj/charset.o obj/cmdcmds.o obj/cmdline.o \
obj/csearch.o obj/digraph.o obj/edit.o obj/fileio.o obj/getchar.o obj/help.o \
obj/linefunc.o obj/main.o obj/mark.o obj/memfile.o obj/memline.o obj/message.o obj/misccmds.o \
obj/normal.o obj/ops.o obj/param.o obj/quickfix.o obj/regexp.o \
obj/regsub.o obj/screen.o obj/search.o \
obj/tag.o obj/term.o obj/undo.o obj/window.o $(TERMLIB)
PRO = proto/alloc.pro proto/buffer.pro proto/charset.pro proto/cmdcmds.pro proto/cmdline.pro \
proto/csearch.pro proto/digraph.pro proto/edit.pro proto/fileio.pro \
proto/getchar.pro proto/help.pro proto/linefunc.pro proto/main.pro proto/mark.pro \
proto/memfile.pro proto/memline.pro proto/message.pro proto/misccmds.pro proto/normal.pro proto/ops.pro \
proto/param.pro proto/quickfix.pro proto/regexp.pro proto/regsub.pro \
proto/screen.pro proto/search.pro \
proto/tag.pro proto/term.pro proto/termlib.pro \
proto/undo.pro proto/window.pro proto/amiga.pro
/Vim: $(OBJ) version.c
$(CC) $(CFLAGS) version.c OBJNAME=obj/
$(CC) LINK $(COPTS) $(OBJ) obj/version.o $(DBG) PNAME=/Vim
debug: $(OBJ) version.c
$(CC) $(CFLAGS) version.c OBJNAME=obj/
$(CC) LINK $(COPTS) $(OBJ) obj/version.o $(DBG) PNAME=/Vim
proto: $(GST) $(PRO)
ctags:
csh -c ctags *.c *.h
# can't use delete here, too many file names
clean:
csh -c rm -f $(OBJ) obj/version.o obj/mkcmdtab.o /Vim $(GST) mkcmdtab cmdtab.h
$(GST) : vim.h keymap.h macros.h ascii.h term.h structs.h
$(CC) $(CFLAGS) MGST=$(GST) vim.h
###########################################################################
obj/alloc.o: alloc.c $(GST)
$(CC) $(CFLAGS) alloc.c OBJNAME=obj/
proto/alloc.pro: alloc.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/alloc.pro $(PROPT) alloc.c
obj/amiga.o: amiga.c $(GST)
$(CC) $(CFLAGS) amiga.c OBJNAME=obj/
proto/amiga.pro: amiga.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/amiga.pro $(PROPT) amiga.c
obj/buffer.o: buffer.c $(GST)
$(CC) $(CFLAGS) buffer.c OBJNAME=obj/
proto/buffer.pro: buffer.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/buffer.pro $(PROPT) buffer.c
obj/charset.o: charset.c $(GST)
$(CC) $(CFLAGS) charset.c OBJNAME=obj/
proto/charset.pro: charset.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/charset.pro $(PROPT) charset.c
obj/cmdcmds.o: cmdcmds.c $(GST)
$(CC) $(CFLAGS) cmdcmds.c OBJNAME=obj/
proto/cmdcmds.pro: cmdcmds.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/cmdcmds.pro $(PROPT) cmdcmds.c
obj/cmdline.o: cmdline.c $(GST) cmdtab.h
$(CC) $(CFLAGS) cmdline.c OBJNAME=obj/
proto/cmdline.pro: cmdline.c $(GST) cmdtab.h
$(CC) $(CFLAGS) GPFILE=proto/cmdline.pro $(PROPT) cmdline.c
obj/csearch.o: csearch.c $(GST)
$(CC) $(CFLAGS) csearch.c OBJNAME=obj/
proto/csearch.pro: csearch.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/csearch.pro $(PROPT) csearch.c
obj/digraph.o: digraph.c $(GST)
$(CC) $(CFLAGS) digraph.c OBJNAME=obj/
proto/digraph.pro: digraph.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/digraph.pro $(PROPT) digraph.c
obj/edit.o: edit.c $(GST)
$(CC) $(CFLAGS) edit.c OBJNAME=obj/
proto/edit.pro: edit.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/edit.pro $(PROPT) edit.c
obj/fileio.o: fileio.c $(GST)
$(CC) $(CFLAGS) fileio.c OBJNAME=obj/
proto/fileio.pro: fileio.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/fileio.pro $(PROPT) fileio.c
obj/getchar.o: getchar.c $(GST)
$(CC) $(CFLAGS) getchar.c OBJNAME=obj/
proto/getchar.pro: getchar.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/getchar.pro $(PROPT) getchar.c
obj/help.o: help.c $(GST)
$(CC) $(CFLAGS) help.c OBJNAME=obj/
proto/help.pro: help.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/help.pro $(PROPT) help.c
obj/linefunc.o: linefunc.c $(GST)
$(CC) $(CFLAGS) linefunc.c OBJNAME=obj/
proto/linefunc.pro: linefunc.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/linefunc.pro $(PROPT) linefunc.c
obj/main.o: main.c $(GST)
$(CC) $(CFLAGS) main.c OBJNAME=obj/
proto/main.pro: main.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/main.pro $(PROPT) main.c
obj/mark.o: mark.c $(GST)
$(CC) $(CFLAGS) mark.c OBJNAME=obj/
proto/mark.pro: mark.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/mark.pro $(PROPT) mark.c
obj/memfile.o: memfile.c $(GST)
$(CC) $(CFLAGS) memfile.c OBJNAME=obj/
proto/memfile.pro: memfile.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/memfile.pro $(PROPT) memfile.c
obj/memline.o: memline.c $(GST)
$(CC) $(CFLAGS) memline.c OBJNAME=obj/
proto/memline.pro: memline.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/memline.pro $(PROPT) memline.c
obj/message.o: message.c $(GST)
$(CC) $(CFLAGS) message.c OBJNAME=obj/
proto/message.pro: message.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/message.pro $(PROPT) message.c
obj/misccmds.o: misccmds.c $(GST)
$(CC) $(CFLAGS) misccmds.c OBJNAME=obj/
proto/misccmds.pro: misccmds.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/misccmds.pro $(PROPT) misccmds.c
obj/normal.o: normal.c $(GST) ops.h
$(CC) $(CFLAGS) normal.c OBJNAME=obj/
proto/normal.pro: normal.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/normal.pro $(PROPT) normal.c
obj/ops.o: ops.c $(GST) ops.h
$(CC) $(CFLAGS) ops.c OBJNAME=obj/
proto/ops.pro: ops.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/ops.pro $(PROPT) ops.c
obj/param.o: param.c $(GST)
$(CC) $(CFLAGS) param.c OBJNAME=obj/
proto/param.pro: param.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/param.pro $(PROPT) param.c
obj/quickfix.o: quickfix.c $(GST)
$(CC) $(CFLAGS) quickfix.c OBJNAME=obj/
proto/quickfix.pro: quickfix.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/quickfix.pro $(PROPT) quickfix.c
obj/regexp.o: regexp.c $(GST)
$(CC) $(CFLAGS) regexp.c OBJNAME=obj/
proto/regexp.pro: regexp.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/regexp.pro $(PROPT) regexp.c
obj/regsub.o: regsub.c $(GST)
$(CC) $(CFLAGS) regsub.c OBJNAME=obj/
proto/regsub.pro: regsub.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/regsub.pro $(PROPT) regsub.c
obj/screen.o: screen.c $(GST)
$(CC) $(CFLAGS) screen.c OBJNAME=obj/
proto/screen.pro: screen.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/screen.pro $(PROPT) screen.c
obj/search.o: search.c $(GST)
$(CC) $(CFLAGS) search.c OBJNAME=obj/
proto/search.pro: search.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/search.pro $(PROPT) search.c
obj/tag.o: tag.c $(GST)
$(CC) $(CFLAGS) tag.c OBJNAME=obj/
proto/tag.pro: tag.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/tag.pro $(PROPT) tag.c
obj/term.o: term.c $(GST)
$(CC) $(CFLAGS) term.c OBJNAME=obj/
proto/term.pro: term.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/term.pro $(PROPT) term.c
obj/termlib.o: termlib.c $(GST)
$(CC) $(CFLAGS) termlib.c OBJNAME=obj/
proto/termlib.pro: termlib.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/termlib.pro $(PROPT) termlib.c
obj/undo.o: undo.c $(GST)
$(CC) $(CFLAGS) undo.c OBJNAME=obj/
proto/undo.pro: undo.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/undo.pro $(PROPT) undo.c
obj/window.o: window.c $(GST)
$(CC) $(CFLAGS) window.c OBJNAME=obj/
proto/window.pro: window.c $(GST)
$(CC) $(CFLAGS) GPFILE=proto/window.pro $(PROPT) window.c
cmdtab.h: cmdtab.tab mkcmdtab
mkcmdtab cmdtab.tab cmdtab.h
obj/mkcmdtab.o: mkcmdtab.c
$(CC) $(CFLAGS) mkcmdtab.c OBJNAME=obj/
mkcmdtab: obj/mkcmdtab.o
$(CC) LINK $(COPTS) obj/mkcmdtab.o PNAME=mkcmdtab