New installation mechanism
This commit is contained in:
parent
53b7af7a80
commit
e7856a2204
|
@ -1,5 +1,5 @@
|
||||||
ACKNOWLEDGEMENTS
|
ACKNOWLEDGEMENTS
|
||||||
Makefile
|
proto.make
|
||||||
NEW_FEATURES
|
NEW_FEATURES
|
||||||
NO_WARRANTY
|
NO_WARRANTY
|
||||||
README
|
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
|
bootgram.y
|
||||||
bootlex.l
|
bootlex.l
|
||||||
main.c
|
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
|
GCIPM.c
|
||||||
Makefile
|
proto.make
|
||||||
cclash.1
|
cclash.1
|
||||||
cclash.c
|
cclash.c
|
||||||
cid.1
|
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.
|
given, this command is equivalent to the C command.
|
||||||
.IP S\fInum\fP
|
.IP S\fInum\fP
|
||||||
Set the table size to \fInum\fP entries. The default size is 128.
|
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"
|
.SH "AN EXAMPLE"
|
||||||
.PP
|
.PP
|
||||||
The next example is a part of the \fItabgen\fP description of the
|
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 */
|
/* format for spitting out a string */
|
||||||
char *Table[MAXTAB];
|
char *Table[MAXTAB];
|
||||||
char *ProgCall; /* callname of this program */
|
char *ProgCall; /* callname of this program */
|
||||||
int signedch = 0; /* set if characters are signed */
|
|
||||||
int TabSize = 128; /* default size of generated table */
|
int TabSize = 128; /* default size of generated table */
|
||||||
char *InitialValue; /* initial value of all table entries */
|
char *InitialValue; /* initial value of all table entries */
|
||||||
#define CHROFFSETFILE "charoffset.h"
|
|
||||||
char *chroffsetfile = 0;
|
|
||||||
|
|
||||||
extern char *malloc(), *strcpy();
|
extern char *malloc(), *strcpy();
|
||||||
|
|
||||||
main(argc, argv)
|
main(argc, argv)
|
||||||
char *argv[];
|
char *argv[];
|
||||||
{
|
{
|
||||||
if (((char) -1) < 0) signedch = 1;
|
|
||||||
|
|
||||||
ProgCall = *argv++;
|
ProgCall = *argv++;
|
||||||
argc--;
|
argc--;
|
||||||
|
@ -50,24 +46,8 @@ main(argc, argv)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (chroffsetfile) MkCharIndex();
|
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
/*NOTREACHED*/
|
||||||
|
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
char *
|
char *
|
||||||
|
@ -126,16 +106,6 @@ option(str)
|
||||||
}
|
}
|
||||||
else InitTable(str);
|
else InitTable(str);
|
||||||
break;
|
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':
|
case 'S':
|
||||||
{
|
{
|
||||||
register i = atoi(++str);
|
register i = atoi(++str);
|
||||||
|
@ -232,14 +202,14 @@ c_proc(str, Name)
|
||||||
ch = quoted(&str);
|
ch = quoted(&str);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
ch = *str++;
|
ch = *str++ & 0377;
|
||||||
}
|
}
|
||||||
if (*str == '-') {
|
if (*str == '-') {
|
||||||
if (*++str == '\\') {
|
if (*++str == '\\') {
|
||||||
ch2 = quoted(&str);
|
ch2 = quoted(&str);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (ch2 = *str++);
|
if (ch2 = (*str++ & 0377));
|
||||||
else str--;
|
else str--;
|
||||||
}
|
}
|
||||||
if (ch > ch2) {
|
if (ch > ch2) {
|
||||||
|
@ -255,23 +225,20 @@ c_proc(str, Name)
|
||||||
if (! setval(ch, name)) return 0;
|
if (! setval(ch, name)) return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (chroffsetfile) Table[256] = Table[0];
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define ind(X) (chroffsetfile && signedch?(X>=128?X-128:X+128):X)
|
|
||||||
|
|
||||||
int
|
int
|
||||||
setval(ch, nm)
|
setval(ch, nm)
|
||||||
char *nm;
|
char *nm;
|
||||||
{
|
{
|
||||||
register char **p = &Table[ind(ch)];
|
register char **p = &Table[ch];
|
||||||
|
|
||||||
if (ch < 0 || ch >= TabSize) {
|
if (ch < 0 || ch >= TabSize) {
|
||||||
fprintf(stderr, "Illegal index: %d\n", ch);
|
fprintf(stderr, "Illegal index: %d\n", ch);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (*(p = &Table[ind(ch)])) {
|
if (*(p = &Table[ch])) {
|
||||||
fprintf(stderr, "Warning: redefinition of index %d\n", ch);
|
fprintf(stderr, "Warning: redefinition of index %d\n", ch);
|
||||||
}
|
}
|
||||||
*p = nm;
|
*p = nm;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
LLlex.c
|
LLlex.c
|
||||||
LLlex.h
|
LLlex.h
|
||||||
LLmessage.c
|
LLmessage.c
|
||||||
Makefile
|
proto.make
|
||||||
Parameters
|
Parameters
|
||||||
bits.h
|
bits.h
|
||||||
ch7bin.c
|
ch7bin.c
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
%
|
%
|
||||||
% some general settings:
|
% some general settings:
|
||||||
%F %s,
|
%F %s,
|
||||||
%H
|
|
||||||
%S257
|
%S257
|
||||||
%
|
%
|
||||||
% START OF TOKEN
|
% START OF TOKEN
|
||||||
|
|
|
@ -10,9 +10,7 @@
|
||||||
At present such a class number is supposed to fit in 4 bits.
|
At present such a class number is supposed to fit in 4 bits.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "charoffset.h"
|
#define class(ch) (tkclass[(unsigned char) ch])
|
||||||
|
|
||||||
#define class(ch) ((tkclass+CharOffset)[ch])
|
|
||||||
|
|
||||||
/* Being the start of a token is, fortunately, a mutual exclusive
|
/* Being the start of a token is, fortunately, a mutual exclusive
|
||||||
property, so, as there are less than 16 classes they can be
|
property, so, as there are less than 16 classes they can be
|
||||||
|
@ -38,9 +36,9 @@
|
||||||
#define _D_ 04
|
#define _D_ 04
|
||||||
#define _H_ 010
|
#define _H_ 010
|
||||||
|
|
||||||
#define in_idf(ch) ((tk2class+CharOffset)[ch] & _I_)
|
#define in_idf(ch) (tk2class[(unsigned char)ch] & _I_)
|
||||||
#define is_oct(ch) ((tk2class+CharOffset)[ch] & _O_)
|
#define is_oct(ch) (tk2class[(unsigned char)ch] & _O_)
|
||||||
#define is_dig(ch) ((tk2class+CharOffset)[ch] & _D_)
|
#define is_dig(ch) (tk2class[(unsigned char)ch] & _D_)
|
||||||
#define is_hex(ch) ((tk2class+CharOffset)[ch] & _H_)
|
#define is_hex(ch) (tk2class[(unsigned char)ch] & _H_)
|
||||||
|
|
||||||
extern char tkclass[], tk2class[];
|
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_flag.c
|
||||||
em_mnem.c
|
em_mnem.c
|
||||||
em_pseu.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
|
initscan.c
|
||||||
libmain.c
|
libmain.c
|
||||||
main.c
|
main.c
|
||||||
makefile
|
proto.make
|
||||||
misc.c
|
misc.c
|
||||||
nfa.c
|
nfa.c
|
||||||
parse.y
|
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
|
READ_ME
|
||||||
Makefile
|
proto.make
|
||||||
mkiswitch.c
|
mkiswitch.c
|
||||||
mkswitch.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
|
prtime.c
|
||||||
set.c
|
set.c
|
||||||
sig.c
|
sig.c
|
||||||
Makefile
|
proto.make
|
||||||
READ_ME
|
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