New installation mechanism
This commit is contained in:
parent
53b7af7a80
commit
e7856a2204
|
@ -1,5 +1,5 @@
|
|||
ACKNOWLEDGEMENTS
|
||||
Makefile
|
||||
proto.make
|
||||
NEW_FEATURES
|
||||
NO_WARRANTY
|
||||
README
|
||||
|
|
97
util/byacc/proto.make
Normal file
97
util/byacc/proto.make
Normal file
|
@ -0,0 +1,97 @@
|
|||
# $Header$
|
||||
|
||||
#PARAMS do not remove this line!
|
||||
|
||||
SRC_DIR = $(SRC_HOME)/util/byacc
|
||||
DEST = $(TARGET_HOME)/bin
|
||||
MAN = $(TARGET_HOME)/man
|
||||
|
||||
HDRS = $(SRC_DIR)/defs.h
|
||||
|
||||
INCLUDES = -I$(SRC_DIR)
|
||||
CFLAGS = $(COPTIONS) $(INCLUDES)
|
||||
LDFLAGS = $(LDOPTIONS)
|
||||
LINTFLAGS = $(LINTOPTIONS) $(INCLUDES)
|
||||
|
||||
OBJS = closure.$(SUF) \
|
||||
error.$(SUF) \
|
||||
lalr.$(SUF) \
|
||||
lr0.$(SUF) \
|
||||
main.$(SUF) \
|
||||
mkpar.$(SUF) \
|
||||
output.$(SUF) \
|
||||
reader.$(SUF) \
|
||||
skeleton.$(SUF) \
|
||||
symtab.$(SUF) \
|
||||
verbose.$(SUF) \
|
||||
warshall.$(SUF)
|
||||
|
||||
PROGRAM = yacc
|
||||
|
||||
SRCS = $(SRC_DIR)/closure.c \
|
||||
$(SRC_DIR)/error.c \
|
||||
$(SRC_DIR)/lalr.c \
|
||||
$(SRC_DIR)/lr0.c \
|
||||
$(SRC_DIR)/main.c \
|
||||
$(SRC_DIR)/mkpar.c \
|
||||
$(SRC_DIR)/output.c \
|
||||
$(SRC_DIR)/reader.c \
|
||||
$(SRC_DIR)/skeleton.c \
|
||||
$(SRC_DIR)/symtab.c \
|
||||
$(SRC_DIR)/verbose.c \
|
||||
$(SRC_DIR)/warshall.c
|
||||
|
||||
all: $(PROGRAM)
|
||||
|
||||
$(PROGRAM): $(OBJS)
|
||||
$(CC) $(LDFLAGS) -o $(PROGRAM) $(OBJS)
|
||||
|
||||
clean:
|
||||
rm -f $(OBJS) $(PROGRAM)
|
||||
|
||||
install: $(PROGRAM)
|
||||
cp $(PROGRAM) $(DEST)/$(PROGRAM)
|
||||
cp $(SRC_DIR)/manpage $(MAN)/yacc.1
|
||||
|
||||
cmp: $(PROGRAM)
|
||||
-cmp $(PROGRAM) $(DEST)/$(PROGRAM)
|
||||
-cmp $(SRC_DIR)/manpage $(MAN)/yacc.1
|
||||
|
||||
pr:
|
||||
@pr proto.make $(HDRS) $(SRCS)
|
||||
|
||||
opr:
|
||||
make pr | opr
|
||||
|
||||
lint:
|
||||
$(LINT) $(LINTFLAGS) $(SRCS)
|
||||
|
||||
program: $(PROGRAM)
|
||||
|
||||
tags: $(HDRS) $(SRCS)
|
||||
@ctags $(HDRS) $(SRCS)
|
||||
|
||||
closure.$(SUF): $(SRC_DIR)/closure.c $(SRC_DIR)/defs.h
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/closure.c
|
||||
error.$(SUF): $(SRC_DIR)/error.c $(SRC_DIR)/defs.h
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/error.c
|
||||
lalr.$(SUF): $(SRC_DIR)/lalr.c $(SRC_DIR)/defs.h
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/lalr.c
|
||||
lr0.$(SUF): $(SRC_DIR)/lr0.c $(SRC_DIR)/defs.h
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/lr0.c
|
||||
main.$(SUF): $(SRC_DIR)/main.c $(SRC_DIR)/defs.h
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/main.c
|
||||
mkpar.$(SUF): $(SRC_DIR)/mkpar.c $(SRC_DIR)/defs.h
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/mkpar.c
|
||||
output.$(SUF): $(SRC_DIR)/output.c $(SRC_DIR)/defs.h
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/output.c
|
||||
reader.$(SUF): $(SRC_DIR)/reader.c $(SRC_DIR)/defs.h
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/reader.c
|
||||
skeleton.$(SUF): $(SRC_DIR)/skeleton.c $(SRC_DIR)/defs.h
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/skeleton.c
|
||||
symtab.$(SUF): $(SRC_DIR)/symtab.c $(SRC_DIR)/defs.h
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/symtab.c
|
||||
verbose.$(SUF): $(SRC_DIR)/verbose.c $(SRC_DIR)/defs.h
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/verbose.c
|
||||
warshall.$(SUF): $(SRC_DIR)/warshall.c $(SRC_DIR)/defs.h
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/warshall.c
|
|
@ -1,4 +1,4 @@
|
|||
Makefile
|
||||
proto.make
|
||||
bootgram.y
|
||||
bootlex.l
|
||||
main.c
|
||||
|
|
45
util/cgg/proto.make
Normal file
45
util/cgg/proto.make
Normal file
|
@ -0,0 +1,45 @@
|
|||
# $Header$
|
||||
|
||||
#PARAMS do not remove this line!
|
||||
|
||||
SRC_DIR = $(SRC_HOME)/util/cgg
|
||||
INCLUDES=-I$(TARGET_HOME)/h
|
||||
CFLAGS=$(INCLUDES) $(COPTIONS)
|
||||
LDFLAGS=$(LDOPTIONS)
|
||||
LINTFLAGS=$(INCLUDES) $(LINTOPTIONS)
|
||||
LIBS=$(TARGET_HOME)/lib.bin/em_data.$(LIBSUF)
|
||||
|
||||
cgg: bootgram.$(SUF) main.$(SUF) bootlex.$(SUF)
|
||||
$(CC) $(LDFLAGS) bootgram.$(SUF) main.$(SUF) bootlex.$(SUF) $(LIBS) -o cgg
|
||||
|
||||
bootgram.c: $(SRC_DIR)/bootgram.y
|
||||
@echo expect 1 shift/reduce conflict
|
||||
yacc -d $(SRC_DIR)/bootgram.y
|
||||
mv y.tab.c bootgram.c
|
||||
|
||||
install: cgg
|
||||
cp cgg $(TARGET_HOME)/lib.bin/cgg
|
||||
|
||||
cmp: cgg
|
||||
-cmp cgg $(TARGET_HOME)/lib.bin/cgg
|
||||
|
||||
bootlex.c: $(SRC_DIR)/bootlex.l
|
||||
flex -st $(SRC_DIR)/bootlex.l > bootlex.c
|
||||
|
||||
lint: bootgram.c $(SRC_DIR)/main.c bootlex.c
|
||||
$(LINT) $(LINTFLAGS) bootgram.c $(SRC_DIR)/main.c bootlex.c $(UTIL_HOME)/lib.bin/$(LINTPREF)em_data.$(LINTSUF)
|
||||
clean:
|
||||
rm -f *.$(SUF) bootgram.c bootlex.c cgg y.tab.h
|
||||
|
||||
bootgram.$(SUF): bootgram.c
|
||||
$(CC) -c $(CFLAGS) bootgram.c
|
||||
bootgram.$(SUF): $(SRC_DIR)/booth.h
|
||||
bootgram.$(SUF): $(TARGET_HOME)/h/cg_pattern.h
|
||||
bootlex.$(SUF): bootlex.c
|
||||
$(CC) -c $(CFLAGS) bootlex.c
|
||||
bootlex.$(SUF): $(SRC_DIR)/booth.h
|
||||
bootlex.$(SUF): $(TARGET_HOME)/h/cg_pattern.h
|
||||
main.$(SUF): $(SRC_DIR)/main.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/main.c
|
||||
main.$(SUF): $(SRC_DIR)/booth.h
|
||||
main.$(SUF): $(TARGET_HOME)//h/cg_pattern.h
|
|
@ -1,5 +1,5 @@
|
|||
GCIPM.c
|
||||
Makefile
|
||||
proto.make
|
||||
cclash.1
|
||||
cclash.c
|
||||
cid.1
|
||||
|
|
69
util/cmisc/proto.make
Normal file
69
util/cmisc/proto.make
Normal file
|
@ -0,0 +1,69 @@
|
|||
# $Header$
|
||||
|
||||
#PARAMS do not remove this line!
|
||||
|
||||
SRC_DIR = $(SRC_HOME)/util/cmisc
|
||||
TARGET_BIN = $(TARGET_HOME)/bin
|
||||
TARGET_MAN = $(TARGET_HOME)/man
|
||||
CFLAGS = $(COPTIONS)
|
||||
LDFLAGS = $(LDOPTIONS)
|
||||
LINTFLAGS = $(LINTOPTIONS)
|
||||
|
||||
all: cid cclash prid tabgen
|
||||
|
||||
install: all
|
||||
cp cid cclash prid tabgen $(TARGET_BIN)
|
||||
cp $(SRC_DIR)/cid.1 $(SRC_DIR)/cclash.1 $(SRC_DIR)/prid.1 $(SRC_DIR)/tabgen.1 $(TARGET_MAN)
|
||||
|
||||
cmp: all
|
||||
-cmp cid $(TARGET_BIN)/cid
|
||||
-cmp cclash $(TARGET_BIN)/cclash
|
||||
-cmp prid $(TARGET_BIN)/prid
|
||||
-cmp tabgen $(TARGET_BIN)/tabgen
|
||||
-cmp $(SRC_DIR)/cid.1 $(TARGET_MAN)/cid.1
|
||||
-cmp $(SRC_DIR)/cclash.1 $(TARGET_MAN)/cclash.1
|
||||
-cmp $(SRC_DIR)/prid.1 $(TARGET_MAN)/prid.1
|
||||
-cmp $(SRC_DIR)/tabgen.1 $(TARGET_MAN)/tabgen.1
|
||||
|
||||
clean:
|
||||
rm -f *.$(SUF) cid cclash prid tabgen
|
||||
|
||||
pr:
|
||||
@pr $(SRC_DIR)/proto.make $(SRC_DIR)/cclash.c $(SRC_DIR)/cid.c \
|
||||
$(SRC_DIR)/prid.c $(SRC_DIR)/GCIPM.c $(SRC_DIR)/tabgen.c
|
||||
|
||||
opr:
|
||||
make pr | opr
|
||||
|
||||
tabgen: tabgen.$(SUF)
|
||||
$(CC) $(LDFLAGS) -o tabgen tabgen.$(SUF)
|
||||
|
||||
cid: cid.$(SUF) GCIPM.$(SUF)
|
||||
$(CC) $(LDFLAGS) -o cid cid.$(SUF) GCIPM.$(SUF)
|
||||
|
||||
cclash: cclash.$(SUF) GCIPM.$(SUF)
|
||||
$(CC) $(LDFLAGS) -o cclash cclash.$(SUF) GCIPM.$(SUF)
|
||||
|
||||
prid: prid.$(SUF) GCIPM.$(SUF)
|
||||
$(CC) $(LDFLAGS) -o prid prid.$(SUF) GCIPM.$(SUF)
|
||||
|
||||
lint:
|
||||
$(LINT) $(LINTFLAGS) $(SRC_DIR)/cid.c $(SRC_DIR)/GCIPM.c
|
||||
$(LINT) $(LINTFLAGS) $(SRC_DIR)/prid.c $(SRC_DIR)/GCIPM.c
|
||||
$(LINT) $(LINTFLAGS) $(SRC_DIR)/cclash.c $(SRC_DIR)/GCIPM.c
|
||||
$(LINT) $(LINTFLAGS) $(SRC_DIR)/tabgen.c
|
||||
|
||||
tabgen.$(SUF): $(SRC_DIR)/tabgen.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/tabgen.c
|
||||
|
||||
cid.$(SUF): $(SRC_DIR)/cid.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/cid.c
|
||||
|
||||
prid.$(SUF): $(SRC_DIR)/prid.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/prid.c
|
||||
|
||||
cclash.$(SUF): $(SRC_DIR)/cclash.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/cclash.c
|
||||
|
||||
GCIPM.$(SUF): $(SRC_DIR)/GCIPM.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/GCIPM.c
|
|
@ -60,13 +60,6 @@ Initialize all internal table values to \fIstr\fP. if \fIstr\fP is not
|
|||
given, this command is equivalent to the C command.
|
||||
.IP S\fInum\fP
|
||||
Set the table size to \fInum\fP entries. The default size is 128.
|
||||
.IP H\fIfilename\fP
|
||||
Create tables which can be indexed by the full range of characters,
|
||||
rather than 0..127. As this depends on the implementation of 'char'
|
||||
in C (signed or unsigned), this also generates a file \fIfilename\fP,
|
||||
with a #define for the constant "CharOffset". The generated tables can
|
||||
be indexed by first adding "CharOffset" to the base of the table.
|
||||
If \fIfilename\fP is not given, "charoffset.h" is used.
|
||||
.SH "AN EXAMPLE"
|
||||
.PP
|
||||
The next example is a part of the \fItabgen\fP description of the
|
||||
|
|
|
@ -25,18 +25,14 @@ char OutputForm[MAXBUF] = "%s,\n";
|
|||
/* format for spitting out a string */
|
||||
char *Table[MAXTAB];
|
||||
char *ProgCall; /* callname of this program */
|
||||
int signedch = 0; /* set if characters are signed */
|
||||
int TabSize = 128; /* default size of generated table */
|
||||
char *InitialValue; /* initial value of all table entries */
|
||||
#define CHROFFSETFILE "charoffset.h"
|
||||
char *chroffsetfile = 0;
|
||||
|
||||
extern char *malloc(), *strcpy();
|
||||
|
||||
main(argc, argv)
|
||||
char *argv[];
|
||||
{
|
||||
if (((char) -1) < 0) signedch = 1;
|
||||
|
||||
ProgCall = *argv++;
|
||||
argc--;
|
||||
|
@ -50,24 +46,8 @@ main(argc, argv)
|
|||
}
|
||||
}
|
||||
}
|
||||
if (chroffsetfile) MkCharIndex();
|
||||
exit(0);
|
||||
}
|
||||
|
||||
MkCharIndex()
|
||||
{
|
||||
/* Assumption: 8 bit bytes, ASCII character set */
|
||||
FILE *fp;
|
||||
|
||||
if ((fp = fopen(chroffsetfile, "w")) == NULL) {
|
||||
fprintf(stderr, "%s: cannot write file %s\n", ProgCall, chroffsetfile);
|
||||
exit(1);
|
||||
}
|
||||
if (signedch) {
|
||||
fputs("#define CharOffset 128\n", fp);
|
||||
}
|
||||
else fputs("#define CharOffset 0\n", fp);
|
||||
fclose(fp);
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
|
||||
char *
|
||||
|
@ -126,16 +106,6 @@ option(str)
|
|||
}
|
||||
else InitTable(str);
|
||||
break;
|
||||
case 'H': /* create include file for character offset,
|
||||
and create tables which can be indexed by the
|
||||
full range of characters, rather than 0..127,
|
||||
by adding "CharOffset" to the base.
|
||||
*/
|
||||
if (*++str == '\0') {
|
||||
chroffsetfile = CHROFFSETFILE;
|
||||
}
|
||||
else chroffsetfile = ++str;
|
||||
break;
|
||||
case 'S':
|
||||
{
|
||||
register i = atoi(++str);
|
||||
|
@ -232,14 +202,14 @@ c_proc(str, Name)
|
|||
ch = quoted(&str);
|
||||
}
|
||||
else {
|
||||
ch = *str++;
|
||||
ch = *str++ & 0377;
|
||||
}
|
||||
if (*str == '-') {
|
||||
if (*++str == '\\') {
|
||||
ch2 = quoted(&str);
|
||||
}
|
||||
else {
|
||||
if (ch2 = *str++);
|
||||
if (ch2 = (*str++ & 0377));
|
||||
else str--;
|
||||
}
|
||||
if (ch > ch2) {
|
||||
|
@ -255,23 +225,20 @@ c_proc(str, Name)
|
|||
if (! setval(ch, name)) return 0;
|
||||
}
|
||||
}
|
||||
if (chroffsetfile) Table[256] = Table[0];
|
||||
return 1;
|
||||
}
|
||||
|
||||
#define ind(X) (chroffsetfile && signedch?(X>=128?X-128:X+128):X)
|
||||
|
||||
int
|
||||
setval(ch, nm)
|
||||
char *nm;
|
||||
{
|
||||
register char **p = &Table[ind(ch)];
|
||||
register char **p = &Table[ch];
|
||||
|
||||
if (ch < 0 || ch >= TabSize) {
|
||||
fprintf(stderr, "Illegal index: %d\n", ch);
|
||||
return 0;
|
||||
}
|
||||
if (*(p = &Table[ind(ch)])) {
|
||||
if (*(p = &Table[ch])) {
|
||||
fprintf(stderr, "Warning: redefinition of index %d\n", ch);
|
||||
}
|
||||
*p = nm;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
LLlex.c
|
||||
LLlex.h
|
||||
LLmessage.c
|
||||
Makefile
|
||||
proto.make
|
||||
Parameters
|
||||
bits.h
|
||||
ch7bin.c
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
%
|
||||
% some general settings:
|
||||
%F %s,
|
||||
%H
|
||||
%S257
|
||||
%
|
||||
% START OF TOKEN
|
||||
|
|
|
@ -10,9 +10,7 @@
|
|||
At present such a class number is supposed to fit in 4 bits.
|
||||
*/
|
||||
|
||||
#include "charoffset.h"
|
||||
|
||||
#define class(ch) ((tkclass+CharOffset)[ch])
|
||||
#define class(ch) (tkclass[(unsigned char) ch])
|
||||
|
||||
/* Being the start of a token is, fortunately, a mutual exclusive
|
||||
property, so, as there are less than 16 classes they can be
|
||||
|
@ -38,9 +36,9 @@
|
|||
#define _D_ 04
|
||||
#define _H_ 010
|
||||
|
||||
#define in_idf(ch) ((tk2class+CharOffset)[ch] & _I_)
|
||||
#define is_oct(ch) ((tk2class+CharOffset)[ch] & _O_)
|
||||
#define is_dig(ch) ((tk2class+CharOffset)[ch] & _D_)
|
||||
#define is_hex(ch) ((tk2class+CharOffset)[ch] & _H_)
|
||||
#define in_idf(ch) (tk2class[(unsigned char)ch] & _I_)
|
||||
#define is_oct(ch) (tk2class[(unsigned char)ch] & _O_)
|
||||
#define is_dig(ch) (tk2class[(unsigned char)ch] & _D_)
|
||||
#define is_hex(ch) (tk2class[(unsigned char)ch] & _H_)
|
||||
|
||||
extern char tkclass[], tk2class[];
|
||||
|
|
350
util/cpp/proto.make
Normal file
350
util/cpp/proto.make
Normal file
|
@ -0,0 +1,350 @@
|
|||
# $Header$
|
||||
|
||||
#PARAMS do not remove this line!
|
||||
|
||||
SRC_DIR = $(SRC_HOME)/util/cpp
|
||||
|
||||
MODULES=$(TARGET_HOME)/modules
|
||||
MODULES=$(UTIL_HOME)/modules
|
||||
MODULESLIB=$(MODULES)/lib
|
||||
UMODULESLIB=$(UMODULES)/lib
|
||||
BIN=$(TARGET_HOME)/lib.bin
|
||||
MANDIR=$(TARGET_HOME)/man
|
||||
|
||||
# Libraries
|
||||
SYSLIB = $(MODULESLIB)/libsystem.$(LIBSUF)
|
||||
STRLIB = $(MODULESLIB)/libstring.$(LIBSUF)
|
||||
PRTLIB = $(MODULESLIB)/libprint.$(LIBSUF)
|
||||
ALLOCLIB = $(MODULESLIB)/liballoc.$(LIBSUF)
|
||||
ASSERTLIB = $(MODULESLIB)/libassert.$(LIBSUF)
|
||||
MALLOC = $(MODULESLIB)/malloc.$(SUF)
|
||||
LIBS = $(PRTLIB) $(STRLIB) $(ALLOCLIB) $(MALLOC) $(ASSERTLIB) $(SYSLIB)
|
||||
LINTLIBS = \
|
||||
$(UMODULESLIB)/$(LINTPREF)print.$(LINTSUF) \
|
||||
$(UMODULESLIB)/$(LINTPREF)string.$(LINTSUF) \
|
||||
$(UMODULESLIB)/$(LINTPREF)alloc.$(LINTSUF) \
|
||||
$(UMODULESLIB)/$(LINTPREF)assert.$(LINTSUF) \
|
||||
$(UMODULESLIB)/$(LINTPREF)system.$(LINTSUF)
|
||||
INCLUDES = -I$(MODULES)/h -I$(MODULES)/pkg -I. -I$(SRC_DIR)
|
||||
|
||||
CFLAGS = $(INCLUDES) $(COPTIONS)
|
||||
LDFLAGS = $(LDOPTIONS)
|
||||
LINTFLAGS = $(INCLUDES) $(LINTOPTIONS)
|
||||
|
||||
# Where to install the preprocessor
|
||||
CEMPP = $(BIN)/cpp
|
||||
|
||||
# Grammar files and their objects
|
||||
LSRC = tokenfile.g $(SRC_DIR)/expression.g
|
||||
LCSRC = tokenfile.c expression.c Lpars.c
|
||||
LOBJ = tokenfile.$(SUF) expression.$(SUF) Lpars.$(SUF)
|
||||
|
||||
# Objects of hand-written C files
|
||||
CSRC = $(SRC_DIR)/LLlex.c $(SRC_DIR)/LLmessage.c $(SRC_DIR)/ch7bin.c \
|
||||
$(SRC_DIR)/ch7mon.c $(SRC_DIR)/domacro.c $(SRC_DIR)/error.c \
|
||||
$(SRC_DIR)/idf.c $(SRC_DIR)/init.c $(SRC_DIR)/input.c \
|
||||
$(SRC_DIR)/main.c $(SRC_DIR)/options.c $(SRC_DIR)/Version.c \
|
||||
$(SRC_DIR)/preprocess.c $(SRC_DIR)/replace.c $(SRC_DIR)/scan.c \
|
||||
$(SRC_DIR)/skip.c $(SRC_DIR)/tokenname.c $(SRC_DIR)/next.c \
|
||||
$(SRC_DIR)/expr.c
|
||||
COBJ = LLlex.$(SUF) LLmessage.$(SUF) ch7bin.$(SUF) ch7mon.$(SUF) \
|
||||
domacro.$(SUF) error.$(SUF) idf.$(SUF) init.$(SUF) input.$(SUF) \
|
||||
main.$(SUF) options.$(SUF) Version.$(SUF) \
|
||||
preprocess.$(SUF) replace.$(SUF) scan.$(SUF) skip.$(SUF) \
|
||||
tokenname.$(SUF) next.$(SUF) expr.$(SUF)
|
||||
|
||||
PRFILES = $(SRC_DIR)/proto.make $(SRC_DIR)/Parameters \
|
||||
$(SRC_DIR)/make.hfiles $(SRC_DIR)/make.tokcase $(SRC_DIR)/make.tokfile \
|
||||
$(SRC_DIR)/LLlex.h $(SRC_DIR)/bits.h $(SRC_DIR)/file_info.h \
|
||||
$(SRC_DIR)/idf.h $(SRC_DIR)/input.h $(SRC_DIR)/interface.h \
|
||||
$(SRC_DIR)/macro.h \
|
||||
$(SRC_DIR)/class.h $(SRC_DIR)/char.tab $(SRC_DIR)/expression.g $(CSRC)
|
||||
|
||||
# Objects of other generated C files
|
||||
GOBJ = char.$(SUF) symbol2str.$(SUF)
|
||||
|
||||
# generated source files
|
||||
GSRC = char.c symbol2str.c
|
||||
|
||||
# .h files generated by `make hfiles'; PLEASE KEEP THIS UP-TO-DATE!
|
||||
GHSRC = errout.h idfsize.h ifdepth.h lapbuf.h \
|
||||
nparams.h numsize.h obufsize.h \
|
||||
parbufsize.h pathlength.h strsize.h textsize.h \
|
||||
botch_free.h debug.h inputtype.h dobits.h line_prefix.h
|
||||
|
||||
# Other generated files, for 'make clean' only
|
||||
GENERATED = tokenfile.g Lpars.h LLfiles LL.output lint.out \
|
||||
Xref hfiles cfiles
|
||||
|
||||
all: cc
|
||||
|
||||
cc: hfiles LLfiles
|
||||
make cpp
|
||||
|
||||
hfiles: Parameters char.c
|
||||
$(SRC_DIR)/make.hfiles Parameters
|
||||
@touch hfiles
|
||||
|
||||
Parameters: $(SRC_DIR)/Parameters
|
||||
cp $(SRC_DIR)/Parameters Parameters
|
||||
|
||||
char.c: $(SRC_DIR)/char.tab
|
||||
tabgen -f$(SRC_DIR)/char.tab > char.c
|
||||
|
||||
LLfiles: $(LSRC)
|
||||
LLgen $(LLGENOPTIONS) $(LSRC)
|
||||
@touch LLfiles
|
||||
|
||||
tokenfile.g: $(SRC_DIR)/tokenname.c $(SRC_DIR)/make.tokfile
|
||||
<$(SRC_DIR)/tokenname.c $(SRC_DIR)/make.tokfile >tokenfile.g
|
||||
|
||||
symbol2str.c: $(SRC_DIR)/tokenname.c $(SRC_DIR)/make.tokcase
|
||||
<$(SRC_DIR)/tokenname.c $(SRC_DIR)/make.tokcase >symbol2str.c
|
||||
|
||||
# Objects needed for 'cpp'
|
||||
OBJ = $(COBJ) $(LOBJ) $(GOBJ)
|
||||
SRC = $(CSRC) $(LCSRC) $(GSRC)
|
||||
|
||||
cpp: $(OBJ)
|
||||
$(CC) $(LDFLAGS) $(OBJ) $(LIBS) -o cpp
|
||||
|
||||
cfiles: hfiles LLfiles $(GSRC)
|
||||
@touch cfiles
|
||||
|
||||
install: all
|
||||
rm -f $(CEMPP)
|
||||
cp cpp $(CEMPP)
|
||||
rm -f $(MANDIR)/cpp.6
|
||||
cp $(SRC_DIR)/cpp.6 $(MANDIR)/cpp.6
|
||||
|
||||
cmp: all
|
||||
-cmp cpp $(CEMPP)
|
||||
-cmp $(SRC_DIR)/cpp.6 $(MANDIR)/cpp.6
|
||||
|
||||
pr:
|
||||
@pr $(PRFILES)
|
||||
|
||||
opr:
|
||||
make pr | opr
|
||||
|
||||
tags: cfiles
|
||||
ctags $(SRC)
|
||||
|
||||
depend: cfiles
|
||||
sed '/^#DEPENDENCIES/,$$d' Makefile >Makefile.new
|
||||
echo '#DEPENDENCIES' >>Makefile.new
|
||||
for i in $(SRC) ; do \
|
||||
echo "`basename $$i .c`.$$(SUF): $$i" >> Makefile.new ; \
|
||||
echo ' $$(CC) -c $$(CFLAGS)' $$i >> Makefile.new ; \
|
||||
$(UTIL_HOME)/lib.bin/cpp -d $(INCLUDES) $$i | sed "s/^/`basename $$i .c`.$$(SUF): /" >> Makefile.new ; \
|
||||
done
|
||||
mv Makefile Makefile.old
|
||||
mv Makefile.new Makefile
|
||||
|
||||
lint: cfiles
|
||||
$(LINT) $(LINTFLAGS) $(INCLUDES) $(SRC) $(LINTLIBS)
|
||||
|
||||
clean:
|
||||
rm -f $(LCSRC) $(OBJ) $(GENERATED) $(GSRC) $(GHSRC) cpp Out
|
||||
|
||||
# do not remove the next line. It is used for generating dependencies.
|
||||
#DEPENDENCIES
|
||||
LLlex.$(SUF): $(SRC_DIR)/LLlex.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/LLlex.c
|
||||
LLlex.$(SUF): ./dobits.h
|
||||
LLlex.$(SUF): $(SRC_DIR)/bits.h
|
||||
LLlex.$(SUF): $(SRC_DIR)/class.h
|
||||
LLlex.$(SUF): ./Lpars.h
|
||||
LLlex.$(SUF): $(SRC_DIR)/file_info.h
|
||||
LLlex.$(SUF): $(TARGET_HOME)/modules/h/em_arith.h
|
||||
LLlex.$(SUF): $(SRC_DIR)/LLlex.h
|
||||
LLlex.$(SUF): $(TARGET_HOME)/modules/pkg/idf_pkg.spec
|
||||
LLlex.$(SUF): $(SRC_DIR)/idf.h
|
||||
LLlex.$(SUF): $(TARGET_HOME)/modules/pkg/inp_pkg.spec
|
||||
LLlex.$(SUF): ./inputtype.h
|
||||
LLlex.$(SUF): $(SRC_DIR)/input.h
|
||||
LLlex.$(SUF): $(TARGET_HOME)/modules/h/alloc.h
|
||||
LLlex.$(SUF): ./strsize.h
|
||||
LLlex.$(SUF): ./numsize.h
|
||||
LLlex.$(SUF): ./idfsize.h
|
||||
LLmessage.$(SUF): $(SRC_DIR)/LLmessage.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/LLmessage.c
|
||||
LLmessage.$(SUF): ./Lpars.h
|
||||
LLmessage.$(SUF): $(SRC_DIR)/file_info.h
|
||||
LLmessage.$(SUF): $(TARGET_HOME)/modules/h/em_arith.h
|
||||
LLmessage.$(SUF): $(SRC_DIR)/LLlex.h
|
||||
ch7bin.$(SUF): $(SRC_DIR)/ch7bin.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/ch7bin.c
|
||||
ch7bin.$(SUF): $(TARGET_HOME)/modules/h/em_arith.h
|
||||
ch7bin.$(SUF): ./Lpars.h
|
||||
ch7mon.$(SUF): $(SRC_DIR)/ch7mon.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/ch7mon.c
|
||||
ch7mon.$(SUF): $(TARGET_HOME)/modules/h/em_arith.h
|
||||
ch7mon.$(SUF): ./Lpars.h
|
||||
domacro.$(SUF): $(SRC_DIR)/domacro.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/domacro.c
|
||||
domacro.$(SUF): ./dobits.h
|
||||
domacro.$(SUF): $(SRC_DIR)/bits.h
|
||||
domacro.$(SUF): $(SRC_DIR)/macro.h
|
||||
domacro.$(SUF): $(SRC_DIR)/class.h
|
||||
domacro.$(SUF): $(TARGET_HOME)/modules/h/alloc.h
|
||||
domacro.$(SUF): $(TARGET_HOME)/modules/h/assert.h
|
||||
domacro.$(SUF): ./idfsize.h
|
||||
domacro.$(SUF): ./textsize.h
|
||||
domacro.$(SUF): ./parbufsize.h
|
||||
domacro.$(SUF): ./nparams.h
|
||||
domacro.$(SUF): ./botch_free.h
|
||||
domacro.$(SUF): ./ifdepth.h
|
||||
domacro.$(SUF): $(TARGET_HOME)/modules/pkg/inp_pkg.spec
|
||||
domacro.$(SUF): ./inputtype.h
|
||||
domacro.$(SUF): $(SRC_DIR)/input.h
|
||||
domacro.$(SUF): $(TARGET_HOME)/modules/pkg/idf_pkg.spec
|
||||
domacro.$(SUF): $(SRC_DIR)/idf.h
|
||||
domacro.$(SUF): ./debug.h
|
||||
domacro.$(SUF): ./Lpars.h
|
||||
domacro.$(SUF): $(SRC_DIR)/file_info.h
|
||||
domacro.$(SUF): $(TARGET_HOME)/modules/h/em_arith.h
|
||||
domacro.$(SUF): $(SRC_DIR)/LLlex.h
|
||||
domacro.$(SUF): $(SRC_DIR)/interface.h
|
||||
error.$(SUF): $(SRC_DIR)/error.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/error.c
|
||||
error.$(SUF): $(SRC_DIR)/file_info.h
|
||||
error.$(SUF): $(TARGET_HOME)/modules/h/em_arith.h
|
||||
error.$(SUF): $(SRC_DIR)/LLlex.h
|
||||
error.$(SUF): ./errout.h
|
||||
error.$(SUF): /usr/include/varargs.h
|
||||
error.$(SUF): $(TARGET_HOME)/modules/h/system.h
|
||||
idf.$(SUF): $(SRC_DIR)/idf.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/idf.c
|
||||
idf.$(SUF): $(TARGET_HOME)/modules/h/alloc.h
|
||||
idf.$(SUF): $(TARGET_HOME)/modules/pkg/idf_pkg.body
|
||||
idf.$(SUF): $(TARGET_HOME)/modules/pkg/idf_pkg.spec
|
||||
idf.$(SUF): $(SRC_DIR)/idf.h
|
||||
init.$(SUF): $(SRC_DIR)/init.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/init.c
|
||||
init.$(SUF): $(SRC_DIR)/interface.h
|
||||
init.$(SUF): $(TARGET_HOME)/modules/pkg/idf_pkg.spec
|
||||
init.$(SUF): $(SRC_DIR)/idf.h
|
||||
init.$(SUF): $(SRC_DIR)/macro.h
|
||||
init.$(SUF): $(SRC_DIR)/class.h
|
||||
init.$(SUF): $(TARGET_HOME)/modules/h/alloc.h
|
||||
init.$(SUF): $(TARGET_HOME)/modules/h/system.h
|
||||
input.$(SUF): $(SRC_DIR)/input.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/input.c
|
||||
input.$(SUF): $(TARGET_HOME)/modules/h/system.h
|
||||
input.$(SUF): $(TARGET_HOME)/modules/h/alloc.h
|
||||
input.$(SUF): $(TARGET_HOME)/modules/pkg/inp_pkg.body
|
||||
input.$(SUF): $(TARGET_HOME)/modules/pkg/inp_pkg.spec
|
||||
input.$(SUF): ./inputtype.h
|
||||
input.$(SUF): $(SRC_DIR)/input.h
|
||||
input.$(SUF): $(SRC_DIR)/file_info.h
|
||||
main.$(SUF): $(SRC_DIR)/main.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/main.c
|
||||
main.$(SUF): $(SRC_DIR)/macro.h
|
||||
main.$(SUF): $(TARGET_HOME)/modules/pkg/idf_pkg.spec
|
||||
main.$(SUF): $(SRC_DIR)/idf.h
|
||||
main.$(SUF): ./idfsize.h
|
||||
main.$(SUF): $(SRC_DIR)/file_info.h
|
||||
main.$(SUF): $(TARGET_HOME)/modules/h/system.h
|
||||
main.$(SUF): $(TARGET_HOME)/modules/h/assert.h
|
||||
main.$(SUF): $(TARGET_HOME)/modules/h/em_arith.h
|
||||
main.$(SUF): $(TARGET_HOME)/modules/h/alloc.h
|
||||
options.$(SUF): $(SRC_DIR)/options.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/options.c
|
||||
options.$(SUF): $(TARGET_HOME)/modules/pkg/idf_pkg.spec
|
||||
options.$(SUF): $(SRC_DIR)/idf.h
|
||||
options.$(SUF): $(SRC_DIR)/macro.h
|
||||
options.$(SUF): $(SRC_DIR)/class.h
|
||||
options.$(SUF): ./idfsize.h
|
||||
options.$(SUF): $(TARGET_HOME)/modules/h/alloc.h
|
||||
Version.$(SUF): $(SRC_DIR)/Version.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/Version.c
|
||||
preprocess.$(SUF): $(SRC_DIR)/preprocess.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/preprocess.c
|
||||
preprocess.$(SUF): ./line_prefix.h
|
||||
preprocess.$(SUF): ./dobits.h
|
||||
preprocess.$(SUF): $(SRC_DIR)/bits.h
|
||||
preprocess.$(SUF): ./idfsize.h
|
||||
preprocess.$(SUF): $(TARGET_HOME)/modules/pkg/idf_pkg.spec
|
||||
preprocess.$(SUF): $(SRC_DIR)/idf.h
|
||||
preprocess.$(SUF): $(SRC_DIR)/class.h
|
||||
preprocess.$(SUF): $(SRC_DIR)/file_info.h
|
||||
preprocess.$(SUF): $(TARGET_HOME)/modules/h/em_arith.h
|
||||
preprocess.$(SUF): $(SRC_DIR)/LLlex.h
|
||||
preprocess.$(SUF): ./obufsize.h
|
||||
preprocess.$(SUF): $(TARGET_HOME)/modules/pkg/inp_pkg.spec
|
||||
preprocess.$(SUF): ./inputtype.h
|
||||
preprocess.$(SUF): $(SRC_DIR)/input.h
|
||||
preprocess.$(SUF): $(TARGET_HOME)/modules/h/system.h
|
||||
replace.$(SUF): $(SRC_DIR)/replace.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/replace.c
|
||||
replace.$(SUF): $(SRC_DIR)/interface.h
|
||||
replace.$(SUF): $(SRC_DIR)/class.h
|
||||
replace.$(SUF): $(SRC_DIR)/file_info.h
|
||||
replace.$(SUF): $(TARGET_HOME)/modules/h/em_arith.h
|
||||
replace.$(SUF): $(SRC_DIR)/LLlex.h
|
||||
replace.$(SUF): $(SRC_DIR)/macro.h
|
||||
replace.$(SUF): $(TARGET_HOME)/modules/pkg/inp_pkg.spec
|
||||
replace.$(SUF): ./inputtype.h
|
||||
replace.$(SUF): $(SRC_DIR)/input.h
|
||||
replace.$(SUF): $(TARGET_HOME)/modules/pkg/idf_pkg.spec
|
||||
replace.$(SUF): $(SRC_DIR)/idf.h
|
||||
replace.$(SUF): $(TARGET_HOME)/modules/h/assert.h
|
||||
replace.$(SUF): $(TARGET_HOME)/modules/h/alloc.h
|
||||
replace.$(SUF): ./textsize.h
|
||||
replace.$(SUF): ./pathlength.h
|
||||
replace.$(SUF): ./debug.h
|
||||
scan.$(SUF): $(SRC_DIR)/scan.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/scan.c
|
||||
scan.$(SUF): $(SRC_DIR)/file_info.h
|
||||
scan.$(SUF): $(SRC_DIR)/interface.h
|
||||
scan.$(SUF): $(SRC_DIR)/macro.h
|
||||
scan.$(SUF): $(TARGET_HOME)/modules/pkg/idf_pkg.spec
|
||||
scan.$(SUF): $(SRC_DIR)/idf.h
|
||||
scan.$(SUF): $(SRC_DIR)/class.h
|
||||
scan.$(SUF): $(TARGET_HOME)/modules/pkg/inp_pkg.spec
|
||||
scan.$(SUF): ./inputtype.h
|
||||
scan.$(SUF): $(SRC_DIR)/input.h
|
||||
scan.$(SUF): ./nparams.h
|
||||
scan.$(SUF): ./lapbuf.h
|
||||
skip.$(SUF): $(SRC_DIR)/skip.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/skip.c
|
||||
skip.$(SUF): $(TARGET_HOME)/modules/pkg/inp_pkg.spec
|
||||
skip.$(SUF): ./inputtype.h
|
||||
skip.$(SUF): $(SRC_DIR)/input.h
|
||||
skip.$(SUF): $(SRC_DIR)/class.h
|
||||
skip.$(SUF): $(SRC_DIR)/file_info.h
|
||||
skip.$(SUF): $(TARGET_HOME)/modules/h/em_arith.h
|
||||
skip.$(SUF): $(SRC_DIR)/LLlex.h
|
||||
tokenname.$(SUF): $(SRC_DIR)/tokenname.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/tokenname.c
|
||||
tokenname.$(SUF): ./Lpars.h
|
||||
tokenname.$(SUF): $(SRC_DIR)/file_info.h
|
||||
tokenname.$(SUF): $(TARGET_HOME)/modules/h/em_arith.h
|
||||
tokenname.$(SUF): $(SRC_DIR)/LLlex.h
|
||||
tokenname.$(SUF): $(TARGET_HOME)/modules/pkg/idf_pkg.spec
|
||||
tokenname.$(SUF): $(SRC_DIR)/idf.h
|
||||
next.$(SUF): $(SRC_DIR)/next.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/next.c
|
||||
next.$(SUF): ./debug.h
|
||||
expr.$(SUF): $(SRC_DIR)/expr.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/expr.c
|
||||
expr.$(SUF): ./Lpars.h
|
||||
tokenfile.$(SUF): tokenfile.c
|
||||
$(CC) -c $(CFLAGS) tokenfile.c
|
||||
tokenfile.$(SUF): Lpars.h
|
||||
expression.$(SUF): expression.c
|
||||
$(CC) -c $(CFLAGS) expression.c
|
||||
expression.$(SUF): $(SRC_DIR)/file_info.h
|
||||
expression.$(SUF): $(TARGET_HOME)/modules/h/em_arith.h
|
||||
expression.$(SUF): $(SRC_DIR)/LLlex.h
|
||||
expression.$(SUF): Lpars.h
|
||||
Lpars.$(SUF): Lpars.c
|
||||
$(CC) -c $(CFLAGS) Lpars.c
|
||||
Lpars.$(SUF): Lpars.h
|
||||
char.$(SUF): char.c
|
||||
$(CC) -c $(CFLAGS) char.c
|
||||
char.$(SUF): $(SRC_DIR)/class.h
|
||||
symbol2str.$(SUF): symbol2str.c
|
||||
$(CC) -c $(CFLAGS) symbol2str.c
|
||||
symbol2str.$(SUF): Lpars.h
|
|
@ -1,4 +1,4 @@
|
|||
Makefile
|
||||
proto.make
|
||||
em_flag.c
|
||||
em_mnem.c
|
||||
em_pseu.c
|
||||
|
|
49
util/data/proto.make
Normal file
49
util/data/proto.make
Normal file
|
@ -0,0 +1,49 @@
|
|||
# $Header$
|
||||
|
||||
#PARAMS do not remove this line!
|
||||
|
||||
SRC_DIR = $(SRC_HOME)/util/data
|
||||
OBJ = em_mnem.$(SUF) em_pseu.$(SUF) em_flag.$(SUF) em_ptyp.$(SUF)
|
||||
|
||||
DATA_PATH = em_data.$(LIBSUF)
|
||||
|
||||
INCLUDES = -I$(TARGET_HOME)/h
|
||||
CFLAGS = $(COPTIONS) $(INCLUDES)
|
||||
|
||||
$(DATA_PATH): $(OBJ)
|
||||
$(AR) rv $(DATA_PATH) $(OBJ)
|
||||
$(RANLIB) $(DATA_PATH)
|
||||
|
||||
install: $(DATA_PATH)
|
||||
cp $(DATA_PATH) $(TARGET_HOME)/lib.bin/$(DATA_PATH)
|
||||
$(RANLIB) $(TARGET_HOME)/lib.bin/$(DATA_PATH)
|
||||
|
||||
|
||||
cmp: $(DATA_PATH)
|
||||
-cmp $(DATA_PATH) $(TARGET_HOME)/lib.bin/$(DATA_PATH)
|
||||
|
||||
clean:
|
||||
rm -f $(OBJ) $(DATA_PATH) *.old
|
||||
|
||||
opr:
|
||||
make pr ^ opr
|
||||
|
||||
pr:
|
||||
@pr $(SRC_DIR)/proto.make $(SRC_DIR)/em_mnem.c $(SRC_DIR)/em_pseu.c $(SRC_DIR)/em_flag.c $(SRC_DIR)/em_ptyp.c
|
||||
|
||||
em_flag.$(SUF): $(SRC_DIR)/em_flag.c $(TARGET_HOME)/h/em_flag.h
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/em_flag.c
|
||||
|
||||
em_mnem.$(SUF): $(SRC_DIR)/em_mnem.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/em_mnem.c
|
||||
|
||||
em_pseu.$(SUF): $(SRC_DIR)/em_pseu.c
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/em_pseu.c
|
||||
|
||||
em_ptyp.$(SUF): $(SRC_DIR)/em_ptyp.c $(TARGET_HOME)/h/em_spec.h $(TARGET_HOME)/h/em_ptyp.h
|
||||
$(CC) -c $(CFLAGS) $(SRC_DIR)/em_ptyp.c
|
||||
|
||||
lintlib:
|
||||
$(MK_LINT_LIB) em_data $(TARGET_HOME)/lib.bin $(INCLUDES) \
|
||||
$(SRC_DIR)/em_flag.c $(SRC_DIR)/em_mnem.c \
|
||||
$(SRC_DIR)/em_pseu.c $(SRC_DIR)/em_ptyp.c
|
|
@ -14,7 +14,7 @@ gen.c
|
|||
initscan.c
|
||||
libmain.c
|
||||
main.c
|
||||
makefile
|
||||
proto.make
|
||||
misc.c
|
||||
nfa.c
|
||||
parse.y
|
||||
|
|
167
util/flex/proto.make
Normal file
167
util/flex/proto.make
Normal file
|
@ -0,0 +1,167 @@
|
|||
# $Header$
|
||||
|
||||
#PARAMS do not remove this line!
|
||||
|
||||
SRC_DIR = $(SRC_HOME)/util/flex
|
||||
|
||||
# make file for "flex" tool
|
||||
|
||||
# Porting considerations:
|
||||
#
|
||||
# For System V Unix machines, add -DUSG to CFLAGS (if it's not
|
||||
# automatically defined)
|
||||
# For Vax/VMS, add "-DVMS -DUSG" to CFLAGS.
|
||||
# For MS-DOS, add "-DMS_DOS -DUSG" to CFLAGS. Create \tmp if not present.
|
||||
# You will also want to rename flex.skel to something with a three
|
||||
# character extension, change SKELETON_FILE below appropriately,
|
||||
# See MSDOS.notes for more info.
|
||||
# For Amiga, add "-DAMIGA -DUSG" to CFLAGS.
|
||||
# For SCO Unix, add "-DSCO_UNIX" to CFLAGS.
|
||||
#
|
||||
# For C compilers which don't know about "void", add -Dvoid=int to CFLAGS.
|
||||
#
|
||||
# If your C compiler is ANSI standard but does not include the <stdlib.h>
|
||||
# header file (some installations of gcc have this problem), then add
|
||||
# -DDONT_HAVE_STDLIB_H to CFLAGS.
|
||||
#
|
||||
# By default, flex will be configured to generate 8-bit scanners only
|
||||
# if the -8 flag is given. If you want it to always generate 8-bit
|
||||
# scanners, add "-DDEFAULT_CSIZE=256" to CFLAGS. Note that doing
|
||||
# so will double the size of all uncompressed scanners.
|
||||
#
|
||||
# If on your system you have trouble building flex due to 8-bit
|
||||
# character problems, remove the -8 from FLEX_FLAGS and the
|
||||
# "#define FLEX_8_BIT_CHARS" from the beginning of flexdef.h.
|
||||
|
||||
|
||||
# the first time around use "make first_flex"
|
||||
|
||||
|
||||
# Installation targeting. Files will be installed under the tree rooted
|
||||
# at DESTDIR. User commands will be installed in BINDIR, library files
|
||||
# in LIBDIR (which will be created if necessary), auxiliary files in
|
||||
# AUXDIR, manual pages will be installed in MANDIR with extension MANEXT.
|
||||
# Raw, unformatted troff source will be installed if INSTALLMAN=man, nroff
|
||||
# preformatted versions will be installed if INSTALLMAN=cat.
|
||||
DESTDIR =
|
||||
BINDIR = $(TARGET_HOME)/bin
|
||||
AUXDIR = $(TARGET_HOME)/lib/flex
|
||||
MANDIR = $(TARGET_HOME)/man
|
||||
MANEXT = 1
|
||||
INSTALLMAN = man
|
||||
|
||||
# MAKE = make
|
||||
|
||||
SKELETON_FILE = \"$(AUXDIR)/flex.skel\"
|
||||
SKELFLAGS = -DDEFAULT_SKELETON_FILE=$(SKELETON_FILE)
|
||||
INCLUDES = -I$(SRC_DIR) -I.
|
||||
CFLAGS = $(COPTIONS) -DACK_MOD $(INCLUDES)
|
||||
LDFLAGS = $(LDOPTIONS)
|
||||
|
||||
COMPRESSION =
|
||||
FLEX_FLAGS = -ist8 -Sflex.skel
|
||||
# which "flex" to use to generate scan.c from scan.l
|
||||
FLEX = flex
|
||||
|
||||
FLEXOBJS = \
|
||||
ccl.$(SUF) \
|
||||
dfa.$(SUF) \
|
||||
ecs.$(SUF) \
|
||||
gen.$(SUF) \
|
||||
main.$(SUF) \
|
||||
misc.$(SUF) \
|
||||
nfa.$(SUF) \
|
||||
parse.$(SUF) \
|
||||
scan.$(SUF) \
|
||||
sym.$(SUF) \
|
||||
tblcmp.$(SUF) \
|
||||
yylex.$(SUF)
|
||||
|
||||
FLEX_C_SOURCES = \
|
||||
$(SRC_DIR)/ccl.c \
|
||||
$(SRC_DIR)/dfa.c \
|
||||
$(SRC_DIR)/ecs.c \
|
||||
$(SRC_DIR)/gen.c \
|
||||
$(SRC_DIR)/main.c \
|
||||
$(SRC_DIR)/misc.c \
|
||||
$(SRC_DIR)/nfa.c \
|
||||
$(SRC_DIR)/parse.c \
|
||||
$(SRC_DIR)/scan.c \
|
||||
$(SRC_DIR)/sym.c \
|
||||
$(SRC_DIR)/tblcmp.c \
|
||||
$(SRC_DIR)/yylex.c
|
||||
|
||||
|
||||
all : flex
|
||||
|
||||
flex : $(FLEXOBJS)
|
||||
$(CC) -o flex $(LDFLAGS) $(FLEXOBJS)
|
||||
|
||||
first_flex:
|
||||
cp $(SRC_DIR)/initscan.c scan.c
|
||||
make $(MFLAGS) flex
|
||||
|
||||
parse.h parse.c : $(SRC_DIR)/parse.y
|
||||
yacc -d $(SRC_DIR)/parse.y
|
||||
@mv y.tab.c parse.c
|
||||
@mv y.tab.h parse.h
|
||||
|
||||
scan.c : $(SRC_DIR)/scan.l
|
||||
$(FLEX) $(FLEX_FLAGS) $(COMPRESSION) $(SRC_DIR)/scan.l >scan.c
|
||||
|
||||
scan.$(SUF) : scan.c parse.h $(SRC_DIR)/flexdef.h
|
||||
|
||||
main.$(SUF) : $(SRC_DIR)/main.c $(SRC_DIR)/flexdef.h
|
||||
-mkdir $(AUXDIR)
|
||||
$(CC) $(CFLAGS) -c $(SKELFLAGS) $(SRC_DIR)/main.c
|
||||
|
||||
ccl.$(SUF) : $(SRC_DIR)/ccl.c $(SRC_DIR)/flexdef.h
|
||||
$(CC) $(CFLAGS) -c $(SRC_DIR)/ccl.c
|
||||
dfa.$(SUF) : $(SRC_DIR)/dfa.c $(SRC_DIR)/flexdef.h
|
||||
$(CC) $(CFLAGS) -c $(SRC_DIR)/dfa.c
|
||||
ecs.$(SUF) : $(SRC_DIR)/ecs.c $(SRC_DIR)/flexdef.h
|
||||
$(CC) $(CFLAGS) -c $(SRC_DIR)/ecs.c
|
||||
gen.$(SUF) : $(SRC_DIR)/gen.c $(SRC_DIR)/flexdef.h
|
||||
$(CC) $(CFLAGS) -c $(SRC_DIR)/gen.c
|
||||
misc.$(SUF) : $(SRC_DIR)/misc.c $(SRC_DIR)/flexdef.h
|
||||
$(CC) $(CFLAGS) -c $(SRC_DIR)/misc.c
|
||||
nfa.$(SUF) : $(SRC_DIR)/nfa.c $(SRC_DIR)/flexdef.h
|
||||
$(CC) $(CFLAGS) -c $(SRC_DIR)/nfa.c
|
||||
parse.$(SUF) : parse.c $(SRC_DIR)/flexdef.h
|
||||
$(CC) $(CFLAGS) -c parse.c
|
||||
sym.$(SUF) : $(SRC_DIR)/sym.c $(SRC_DIR)/flexdef.h
|
||||
$(CC) $(CFLAGS) -c $(SRC_DIR)/sym.c
|
||||
tblcmp.$(SUF) : $(SRC_DIR)/tblcmp.c $(SRC_DIR)/flexdef.h
|
||||
$(CC) $(CFLAGS) -c $(SRC_DIR)/tblcmp.c
|
||||
yylex.$(SUF) : $(SRC_DIR)/yylex.c $(SRC_DIR)/flexdef.h
|
||||
$(CC) $(CFLAGS) -c $(SRC_DIR)/yylex.c
|
||||
|
||||
LINTFLAGS = $(LINTOPTIONS) $(INCLUDES)
|
||||
lint : $(FLEX_C_SOURCES)
|
||||
$(LINT) $(LINTFLAGS) $(FLEX_C_SOURCES)
|
||||
|
||||
install: first_flex $(SRC_DIR)/flex.skel
|
||||
rm -f $(BINDIR)/flex
|
||||
cp flex $(BINDIR)/flex
|
||||
cp $(SRC_DIR)/flex.skel $(AUXDIR)/flex.skel
|
||||
cp $(SRC_DIR)/flex.1 $(MANDIR)/flex.1
|
||||
cp $(SRC_DIR)/flexdoc.1 $(MANDIR)/flexdoc.1
|
||||
|
||||
clean :
|
||||
rm -f core errs flex *.$(SUF) parse.c *.lint parse.h tags
|
||||
|
||||
tags :
|
||||
ctags $(FLEX_C_SOURCES)
|
||||
|
||||
test : flex
|
||||
./flex $(FLEX_FLAGS) $(COMPRESSION) scan.l | diff scan.c -
|
||||
|
||||
bigtest :
|
||||
rm -f scan.c ; $(MAKE) COMPRESSION="-C" test
|
||||
rm -f scan.c ; $(MAKE) COMPRESSION="-Ce" test
|
||||
rm -f scan.c ; $(MAKE) COMPRESSION="-Cm" test
|
||||
rm -f scan.c ; $(MAKE) COMPRESSION="-Cfe" test
|
||||
rm -f scan.c ; $(MAKE) COMPRESSION="-CFe" test
|
||||
rm -f scan.c ; $(MAKE) COMPRESSION="-Cf" test
|
||||
rm -f scan.c ; $(MAKE) COMPRESSION="-CF" test
|
||||
rm -f scan.c ; $(MAKE)
|
|
@ -1,4 +1,4 @@
|
|||
READ_ME
|
||||
Makefile
|
||||
proto.make
|
||||
mkiswitch.c
|
||||
mkswitch.c
|
||||
|
|
56
util/int/switch/proto.make
Normal file
56
util/int/switch/proto.make
Normal file
|
@ -0,0 +1,56 @@
|
|||
# $Header$
|
||||
|
||||
#PARAMS do not remove this line!
|
||||
|
||||
SRC_DIR = $(SRC_HOME)/util/int/switch
|
||||
IP_SPEC = $(SRC_HOME)/etc/ip_spec.t
|
||||
UCFLAGS = -I$(UTIL_HOME) $(COPTIONS)
|
||||
ULDFLAGS = $(ULDOPTIONS)
|
||||
LINTFLAGS = -I$(UTIL_HOME) $(LINTOPTIONS)
|
||||
|
||||
SRC = $(SRC_DIR)/mkiswitch.c $(SRC_DIR)/mkswitch.c
|
||||
OBJ = mkiswitch.$(USUF) mkswitch.$(USUF)
|
||||
|
||||
mkiswitch: mkiswitch.$(USUF)
|
||||
$(UCC) $(ULDFLAGS) -o mkiswitch mkiswitch.$(USUF) $(UTIL_HOME)/lib.bin/em_data.$(ULIBSUF)
|
||||
|
||||
mkiswitch.$(USUF): $(SRC_DIR)/mkiswitch.c
|
||||
$(UCC) $(UCFLAGS) -c $(SRC_DIR)/mkiswitch.c
|
||||
|
||||
mkswitch: mkswitch.$(USUF)
|
||||
$(UCC) $(ULDFLAGS) -o mkswitch mkswitch.$(USUF)
|
||||
|
||||
mkswitch.$(USUF): $(SRC_DIR)/mkswitch.c
|
||||
$(UCC) $(UCFLAGS) -c $(SRC_DIR)/mkswitch.c
|
||||
|
||||
DoCases: mkiswitch $(IP_SPEC)
|
||||
mkiswitch Do $(IP_SPEC) DoCases
|
||||
wc DoCases
|
||||
|
||||
PrCases: mkswitch $(IP_SPEC)
|
||||
mkswitch Pr $(IP_SPEC) PrCases
|
||||
wc PrCases
|
||||
|
||||
lint:
|
||||
$(LINT) $(LINTOPTIONS) $(SRC_DIR)/mkiswitch.c $(UTIL_HOME)/lib.bin/em_data.$(LINTSUF)
|
||||
$(LINT) $(LINTOPTIONS) $(SRC_DIR)/mkswitch.c
|
||||
|
||||
clean: # NOT the cases files !
|
||||
rm -f a.out core $(OBJ) mkswitch mkiswitch
|
||||
|
||||
bare: clean
|
||||
rm -f DoCases PrCases
|
||||
|
||||
all: mkswitch
|
||||
|
||||
install:
|
||||
echo "Nothing to install"
|
||||
|
||||
cmp:
|
||||
echo "Nothing to compare"
|
||||
|
||||
pr:
|
||||
@pr $(SRC_DIR)/READ_ME $(SRC_DIR)/proto.make $(SRC)
|
||||
|
||||
opr:
|
||||
make pr | opr
|
|
@ -5,5 +5,5 @@ ioc0.c
|
|||
prtime.c
|
||||
set.c
|
||||
sig.c
|
||||
Makefile
|
||||
proto.make
|
||||
READ_ME
|
||||
|
|
29
util/int/test/proto.make
Normal file
29
util/int/test/proto.make
Normal file
|
@ -0,0 +1,29 @@
|
|||
# $Header$
|
||||
|
||||
#PARAMS do not remove this line
|
||||
|
||||
.SUFFIXES: .em22 .em24 .em44
|
||||
|
||||
.c.em22:
|
||||
$(UTIL_HOME)/bin/em22 $*.c -o $*.em22
|
||||
|
||||
.p.em22:
|
||||
$(UTIL_HOME)/bin/em22 $*.p -o $*.em22
|
||||
|
||||
.c.em24:
|
||||
$(UTIL_HOME)/bin/em24 $*.c -o $*.em24
|
||||
|
||||
.p.em24:
|
||||
$(UTIL_HOME)/bin/em24 $*.p -o $*.em24
|
||||
|
||||
.c.em44:
|
||||
$(UTIL_HOME)/bin/em44 $*.c -o $*.em44
|
||||
|
||||
.p.em44:
|
||||
$(UTIL_HOME)/bin/em44 $*.p -o $*.em44
|
||||
|
||||
clean:
|
||||
rm -f e.out core mon.out int.mess int.log int.core int.tally \
|
||||
*.k *.m *.o *.s *.em?? a.out
|
||||
|
||||
all install cmp pr opr:
|
Loading…
Reference in a new issue