cleaned up considerably
This commit is contained in:
parent
284bd607fd
commit
0b44329a4b
4 changed files with 476 additions and 61 deletions
|
@ -24,7 +24,7 @@ dfdnam.c
|
||||||
dfilb.c
|
dfilb.c
|
||||||
dlb.c
|
dlb.c
|
||||||
dnam.c
|
dnam.c
|
||||||
e
|
em.c
|
||||||
em.nogen
|
em.nogen
|
||||||
end.c
|
end.c
|
||||||
endarg.c
|
endarg.c
|
||||||
|
@ -37,8 +37,6 @@ ilb.c
|
||||||
insert.c
|
insert.c
|
||||||
insert.h
|
insert.h
|
||||||
internerr.c
|
internerr.c
|
||||||
io.c
|
|
||||||
k
|
|
||||||
make.em.gen
|
make.em.gen
|
||||||
make.sh
|
make.sh
|
||||||
msend.c
|
msend.c
|
||||||
|
|
|
@ -9,10 +9,10 @@ LIBSUF = a
|
||||||
SRC = bhcst.c bhdlb.c bhdnam.c bhfcon.c bhicon.c bhilb.c bhpnam.c bhucon.c \
|
SRC = bhcst.c bhdlb.c bhdnam.c bhfcon.c bhicon.c bhilb.c bhpnam.c bhucon.c \
|
||||||
crcst.c crdlb.c crdnam.c crfcon.c cricon.c crilb.c crpnam.c crscon.c \
|
crcst.c crdlb.c crdnam.c crfcon.c cricon.c crilb.c crpnam.c crscon.c \
|
||||||
crucon.c cst.c dfdlb.c dfdnam.c dfilb.c dlb.c dnam.c end.c endarg.c \
|
crucon.c cst.c dfdlb.c dfdnam.c dfilb.c dlb.c dnam.c end.c endarg.c \
|
||||||
exc.c fcon.c getid.c icon.c ilb.c insert.c internerr.c io.c \
|
exc.c fcon.c getid.c icon.c ilb.c insert.c internerr.c \
|
||||||
msend.c op.c opcst.c opdlb.c opdnam.c opilb.c opnarg.c oppnam.c pnam.c \
|
msend.c op.c opcst.c opdlb.c opdnam.c opilb.c opnarg.c oppnam.c pnam.c \
|
||||||
pro.c pronarg.c msstart.c psdlb.c psdnam.c pspnam.c scon.c ucon.c \
|
pro.c pronarg.c msstart.c psdlb.c psdnam.c pspnam.c scon.c ucon.c \
|
||||||
C_out.c failed.c
|
C_out.c failed.c em.c
|
||||||
|
|
||||||
OBS = failed.$(SUF) insert.$(SUF) internerr.$(SUF) getid.$(SUF)
|
OBS = failed.$(SUF) insert.$(SUF) internerr.$(SUF) getid.$(SUF)
|
||||||
|
|
||||||
|
@ -38,12 +38,12 @@ em_code.3: em_code.3X
|
||||||
-sh -c 'tbl < em_code.3X > em_code.3'
|
-sh -c 'tbl < em_code.3X > em_code.3'
|
||||||
-sh -c 'if test -s em_code.3 ; then : ; else cp em_code.3X em_code.3 ; fi '
|
-sh -c 'if test -s em_code.3 ; then : ; else cp em_code.3X em_code.3 ; fi '
|
||||||
|
|
||||||
libeme.$(LIBSUF): e/em_private.h e/em.c $(OBS) io.c
|
libeme.$(LIBSUF): em_private.h $(SRC) $(OBS)
|
||||||
EMHOME=$(EMHOME); cc="$(CC)"; suf="$(SUF)"; libsuf="$(LIBSUF)"; cflags="-c -Ie $(CFLAGS)"; ar="$(AR)"; export EMHOME cc ar suf libsuf cflags; sh -x make.sh e
|
EMHOME=$(EMHOME); cc="$(CC)"; suf="$(SUF)"; libsuf="$(LIBSUF)"; cflags="-c -DREADABLE_EM $(CFLAGS)"; ar="$(AR)"; export EMHOME cc ar suf libsuf cflags; sh make.sh e $(SRC)
|
||||||
-sh -c 'ranlib libeme.$(LIBSUF)'
|
-sh -c 'ranlib libeme.$(LIBSUF)'
|
||||||
|
|
||||||
libemk.$(LIBSUF): k/em_private.h k/em.c $(OBS) io.c
|
libemk.$(LIBSUF): em_private.h $(SRC) $(OBS)
|
||||||
EMHOME=$(EMHOME); cc="$(CC)"; suf="$(SUF)"; libsuf="$(LIBSUF)"; cflags="-c -Ik $(CFLAGS)"; ar="$(AR)"; export EMHOME cc ar suf libsuf cflags; sh -x make.sh k
|
EMHOME=$(EMHOME); cc="$(CC)"; suf="$(SUF)"; libsuf="$(LIBSUF)"; cflags="-c $(CFLAGS)"; ar="$(AR)"; export EMHOME cc ar suf libsuf cflags; sh make.sh k $(SRC)
|
||||||
-sh -c 'ranlib libemk.$(LIBSUF)'
|
-sh -c 'ranlib libemk.$(LIBSUF)'
|
||||||
|
|
||||||
em_codeEK.h: make.em.gen $(ETC)/em_table em.nogen
|
em_codeEK.h: make.em.gen $(ETC)/em_table em.nogen
|
||||||
|
@ -51,7 +51,7 @@ em_codeEK.h: make.em.gen $(ETC)/em_table em.nogen
|
||||||
cat em.nogen >> em_codeEK.h
|
cat em.nogen >> em_codeEK.h
|
||||||
|
|
||||||
pr:
|
pr:
|
||||||
@pr Makefile em.nogen make.em.gen make.sh insert.h $(SRC) e/em_private.h e/em.c k/em_private.h k/em.c
|
@pr Makefile em.nogen make.em.gen make.sh insert.h $(SRC) em_private.h
|
||||||
|
|
||||||
opr:
|
opr:
|
||||||
make pr | opr
|
make pr | opr
|
||||||
|
@ -60,8 +60,8 @@ clean:
|
||||||
rm -f *.$(SUF) *.$(LIBSUF) em_code.3
|
rm -f *.$(SUF) *.$(LIBSUF) em_code.3
|
||||||
|
|
||||||
lintlib: make.sh
|
lintlib: make.sh
|
||||||
lint -I. -I../../h -I../../../h -Ie -Ceme $(SRC) e/*.c
|
lint -I. -I../../h -I../../../h -Ceme -DREADABLE_EM $(SRC)
|
||||||
lint -I. -I../../h -I../../../h -Ik -Cemk $(SRC) k/*.c
|
lint -I. -I../../h -I../../../h -Cemk $(SRC)
|
||||||
mv llib-leme.ln llib-lemk.ln $(EMHOME)/modules/lib
|
mv llib-leme.ln llib-lemk.ln $(EMHOME)/modules/lib
|
||||||
|
|
||||||
insert.$(SUF): insert.c insert.h
|
insert.$(SUF): insert.c insert.h
|
||||||
|
|
445
modules/src/em_code/em.c
Normal file
445
modules/src/em_code/em.c
Normal file
|
@ -0,0 +1,445 @@
|
||||||
|
/* $Header$ */
|
||||||
|
/*
|
||||||
|
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
|
||||||
|
* See the copyright notice in the ACK home directory, in the file "Copyright".
|
||||||
|
*/
|
||||||
|
/* EM CODE OUTPUT ROUTINES */
|
||||||
|
|
||||||
|
/* I/O part of em_code module.
|
||||||
|
Also contains C_open, C_close
|
||||||
|
*/
|
||||||
|
#include <alloc.h>
|
||||||
|
#include <em_path.h>
|
||||||
|
#include <em_arith.h>
|
||||||
|
#include "insert.h"
|
||||||
|
#include "em_private.h"
|
||||||
|
|
||||||
|
int C_ontmpfile = 0;
|
||||||
|
int C_sequential = 1;
|
||||||
|
Part *C_curr_part;
|
||||||
|
Part *C_stable[TABSIZ];
|
||||||
|
char *C_tmpdir = TMP_DIR;
|
||||||
|
int (*C_outpart)(), (*C_swtout)(), (*C_swttmp)();
|
||||||
|
|
||||||
|
#ifdef INCORE
|
||||||
|
char *C_BASE;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
File *C_ofp;
|
||||||
|
|
||||||
|
#ifndef INCORE
|
||||||
|
File *C_tfr, *C_old_ofp;
|
||||||
|
char *C_tmpfile;
|
||||||
|
char *strcpy(), *strcat();
|
||||||
|
char *C_ibuf = 0;
|
||||||
|
long C_current_out;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if BUFSIZ <= 1024 && BIGMACHINE
|
||||||
|
#define BUFFERSIZ 8*BUFSIZ
|
||||||
|
#else
|
||||||
|
#define BUFFERSIZ BUFSIZ
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static char obuf[BUFFERSIZ];
|
||||||
|
char *C_top = &obuf[BUFFERSIZ];
|
||||||
|
char *C_old_top;
|
||||||
|
char *C_old_opp;
|
||||||
|
#ifdef INCORE
|
||||||
|
char *C_current_out = obuf;
|
||||||
|
#else
|
||||||
|
char *C_opp = obuf;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
C_flush() {
|
||||||
|
#ifdef INCORE
|
||||||
|
static unsigned int bufsiz;
|
||||||
|
|
||||||
|
if (C_ontmpfile) {
|
||||||
|
if (C_BASE == 0) {
|
||||||
|
C_BASE = Malloc(BUFFERSIZ);
|
||||||
|
bufsiz = BUFFERSIZ;
|
||||||
|
C_current_out = C_BASE;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
C_BASE = Srealloc(C_BASE, (bufsiz << 1));
|
||||||
|
C_current_out = C_BASE + bufsiz;
|
||||||
|
bufsiz <<= 1;
|
||||||
|
}
|
||||||
|
C_top = C_BASE + bufsiz;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
if (C_opp != obuf && sys_write(C_ofp, obuf, C_opp - obuf) == 0) {
|
||||||
|
C_failed();
|
||||||
|
}
|
||||||
|
C_opp = obuf;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef INCORE
|
||||||
|
#define Xputbyte(c) if (C_ontmpfile) C_current_out++; put(c)
|
||||||
|
#else
|
||||||
|
#define Xputbyte(c) put(c)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
C_putbyte(c)
|
||||||
|
int c;
|
||||||
|
{
|
||||||
|
Xputbyte(c);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define C_putbyte Xputbyte
|
||||||
|
|
||||||
|
C_init(w, p)
|
||||||
|
arith w, p;
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
C_open(nm)
|
||||||
|
char *nm;
|
||||||
|
{
|
||||||
|
/* Open file "nm" for output
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (nm == 0)
|
||||||
|
C_ofp = STDOUT; /* standard output */
|
||||||
|
else
|
||||||
|
if (sys_open(nm, OP_WRITE, &C_ofp) == 0)
|
||||||
|
return 0;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
C_close()
|
||||||
|
{
|
||||||
|
/* Finish the code-generation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef INCORE
|
||||||
|
C_flush();
|
||||||
|
if (C_tmpfile) {
|
||||||
|
(*C_swttmp)();
|
||||||
|
sys_close(C_ofp);
|
||||||
|
#else
|
||||||
|
if (C_BASE) {
|
||||||
|
#endif
|
||||||
|
if (C_curr_part) {
|
||||||
|
C_curr_part->p_parts->pp_end = C_current_out - C_BASE;
|
||||||
|
}
|
||||||
|
(*C_swtout)();
|
||||||
|
if (! C_sequential) {
|
||||||
|
(*C_outpart)(0);
|
||||||
|
}
|
||||||
|
#ifndef INCORE
|
||||||
|
sys_close(C_tfr);
|
||||||
|
sys_remove(C_tmpfile);
|
||||||
|
if (C_ibuf) free(C_ibuf);
|
||||||
|
#else
|
||||||
|
free(C_BASE);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
C_flush();
|
||||||
|
if (C_ofp != STDOUT)
|
||||||
|
sys_close(C_ofp);
|
||||||
|
C_ofp = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
C_busy()
|
||||||
|
{
|
||||||
|
return C_ofp != 0; /* true if code is being generated */
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef READABLE_EM
|
||||||
|
/*
|
||||||
|
The C_pt_*() functions serve as formatting functions of the
|
||||||
|
various EM language constructs.
|
||||||
|
See "Description of a Machine Architecture for use with
|
||||||
|
Block Structured Languages" par. 11.2 for the meaning of these
|
||||||
|
names.
|
||||||
|
*/
|
||||||
|
|
||||||
|
C_magic()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** the readable code generating routines ***/
|
||||||
|
|
||||||
|
static
|
||||||
|
wrs(s)
|
||||||
|
register char *s;
|
||||||
|
{
|
||||||
|
while (*s) {
|
||||||
|
C_putbyte(*s++);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_dnam(s)
|
||||||
|
char *s;
|
||||||
|
{
|
||||||
|
wrs(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_ilb(l)
|
||||||
|
label l;
|
||||||
|
{
|
||||||
|
char buf[16];
|
||||||
|
|
||||||
|
sprint(buf, "*%ld", (long) l);
|
||||||
|
wrs(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern char em_mnem[][4];
|
||||||
|
extern char em_pseu[][4];
|
||||||
|
|
||||||
|
C_pt_op(x)
|
||||||
|
{
|
||||||
|
C_putbyte(' ');
|
||||||
|
wrs(em_mnem[x - sp_fmnem]);
|
||||||
|
C_putbyte(' ');
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_cst(l)
|
||||||
|
arith l;
|
||||||
|
{
|
||||||
|
char buf[16];
|
||||||
|
|
||||||
|
sprint(buf, "%ld", (long) l);
|
||||||
|
wrs(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_scon(x, y)
|
||||||
|
char *x;
|
||||||
|
arith y;
|
||||||
|
{
|
||||||
|
char xbuf[1024];
|
||||||
|
register char *p;
|
||||||
|
char *bts2str();
|
||||||
|
|
||||||
|
C_putbyte('\'');
|
||||||
|
p = bts2str(x, (int) y, xbuf);
|
||||||
|
while (*p) {
|
||||||
|
if (*p == '\'') {
|
||||||
|
C_putbyte('\\');
|
||||||
|
}
|
||||||
|
C_putbyte(*p++);
|
||||||
|
}
|
||||||
|
C_putbyte('\'');
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_ps(x)
|
||||||
|
{
|
||||||
|
C_putbyte(' ');
|
||||||
|
wrs(em_pseu[x - sp_fpseu]);
|
||||||
|
C_putbyte(' ');
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_dlb(l)
|
||||||
|
label l;
|
||||||
|
{
|
||||||
|
char buf[16];
|
||||||
|
|
||||||
|
sprint(buf, ".%ld", (long) l);
|
||||||
|
wrs(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_doff(l, v)
|
||||||
|
label l;
|
||||||
|
arith v;
|
||||||
|
{
|
||||||
|
char buf[16];
|
||||||
|
|
||||||
|
C_pt_dlb(l);
|
||||||
|
if (v != 0) {
|
||||||
|
sprint(buf,"+%ld", (long) v);
|
||||||
|
wrs(buf);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_noff(s, v)
|
||||||
|
char *s;
|
||||||
|
arith v;
|
||||||
|
{
|
||||||
|
char buf[16];
|
||||||
|
|
||||||
|
wrs(s);
|
||||||
|
if (v != 0) {
|
||||||
|
sprint(buf,"+%ld", (long) v);
|
||||||
|
wrs(buf);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_pnam(s)
|
||||||
|
char *s;
|
||||||
|
{
|
||||||
|
C_putbyte('$');
|
||||||
|
wrs(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_dfilb(l)
|
||||||
|
label l;
|
||||||
|
{
|
||||||
|
char buf[16];
|
||||||
|
|
||||||
|
sprint(buf, "%ld", (long) l);
|
||||||
|
wrs(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_wcon(sp, v, sz) /* sp_icon, sp_ucon or sp_fcon with int repr */
|
||||||
|
int sp;
|
||||||
|
char *v;
|
||||||
|
arith sz;
|
||||||
|
{
|
||||||
|
int ch = sp == sp_icon ? 'I' : sp == sp_ucon ? 'U' : 'F';
|
||||||
|
|
||||||
|
wrs(v);
|
||||||
|
C_putbyte(ch);
|
||||||
|
C_pt_cst(sz);
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_nl() { C_putbyte('\n'); }
|
||||||
|
C_pt_comma() { C_putbyte(','); }
|
||||||
|
C_pt_ccend() { C_putbyte('?'); }
|
||||||
|
|
||||||
|
#else /* READABLE_EM */
|
||||||
|
|
||||||
|
#define put8(x) C_putbyte(x)
|
||||||
|
#define put16(x) put8((int) x); put8((int) (x >> 8))
|
||||||
|
#define put32(x) put16((int) x); put16((int) (x >> 16))
|
||||||
|
|
||||||
|
/*
|
||||||
|
The C_pt_*() functions serve as formatting functions of the
|
||||||
|
various EM language constructs.
|
||||||
|
See "Description of a Machine Architecture for use with
|
||||||
|
Block Structured Languages" par. 11.2 for the meaning of these
|
||||||
|
names.
|
||||||
|
*/
|
||||||
|
|
||||||
|
C_magic()
|
||||||
|
{
|
||||||
|
put16(sp_magic);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** the compact code generating routines ***/
|
||||||
|
#define fit16i(x) ((x) >= (long)0xFFFF8000 && (x) <= (long)0x00007FFF)
|
||||||
|
#define fit8u(x) ((x) <= 0xFF) /* x is already unsigned */
|
||||||
|
|
||||||
|
C_pt_ilb(l)
|
||||||
|
register label l;
|
||||||
|
{
|
||||||
|
if (fit8u(l)) {
|
||||||
|
put8(sp_ilb1);
|
||||||
|
put8(l);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
put8(sp_ilb2);
|
||||||
|
put16(l);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_dlb(l)
|
||||||
|
register label l;
|
||||||
|
{
|
||||||
|
if (fit8u(l)) {
|
||||||
|
put8(sp_dlb1);
|
||||||
|
put8(l);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
put8(sp_dlb2);
|
||||||
|
put16((int)l);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_cst(l)
|
||||||
|
register arith l;
|
||||||
|
{
|
||||||
|
if (l >= (arith) -sp_zcst0 && l < (arith) (sp_ncst0 - sp_zcst0)) {
|
||||||
|
/* we can convert 'l' to an int because its value
|
||||||
|
can be stored in a byte.
|
||||||
|
*/
|
||||||
|
put8((int)l + (sp_zcst0 + sp_fcst0));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if (fit16i(l)) { /* the cast from long to int causes no trouble here */
|
||||||
|
put8(sp_cst2);
|
||||||
|
put16((int) l);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
put8(sp_cst4);
|
||||||
|
put32(l);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_doff(l, v)
|
||||||
|
label l;
|
||||||
|
arith v;
|
||||||
|
{
|
||||||
|
if (v == 0) {
|
||||||
|
C_pt_dlb(l);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
put8(sp_doff);
|
||||||
|
C_pt_dlb(l);
|
||||||
|
C_pt_cst(v);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_noff(s, v)
|
||||||
|
char *s;
|
||||||
|
arith v;
|
||||||
|
{
|
||||||
|
if (v == 0) {
|
||||||
|
C_pt_dnam(s);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
put8(sp_doff);
|
||||||
|
C_pt_dnam(s);
|
||||||
|
C_pt_cst(v);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_dnam(s)
|
||||||
|
char *s;
|
||||||
|
{
|
||||||
|
put8(sp_dnam);
|
||||||
|
C_pt_str(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_pnam(s)
|
||||||
|
char *s;
|
||||||
|
{
|
||||||
|
put8(sp_pnam);
|
||||||
|
C_pt_str(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_wcon(sp, v, sz) /* sp_icon, sp_ucon or sp_fcon with int repr */
|
||||||
|
int sp;
|
||||||
|
char *v;
|
||||||
|
arith sz;
|
||||||
|
{
|
||||||
|
/* how 'bout signextension int --> long ??? */
|
||||||
|
put8(sp);
|
||||||
|
C_pt_cst(sz);
|
||||||
|
C_pt_str(v);
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_str(s)
|
||||||
|
register char *s;
|
||||||
|
{
|
||||||
|
register int len;
|
||||||
|
|
||||||
|
C_pt_cst((arith) (len = strlen(s)));
|
||||||
|
while (--len >= 0) {
|
||||||
|
put8(*s++);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
C_pt_scon(b, n)
|
||||||
|
register char *b;
|
||||||
|
register arith n;
|
||||||
|
{
|
||||||
|
put8(sp_scon);
|
||||||
|
C_pt_cst(n);
|
||||||
|
while (--n >= 0) {
|
||||||
|
put8(*b++);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif /* READABLE_EM */
|
|
@ -1,50 +1,22 @@
|
||||||
if $cc $cflags bhcst.c ; then : ; else exit 1 ; fi
|
list=
|
||||||
if $cc $cflags bhdlb.c ; then : ; else exit 1 ; fi
|
target=$1
|
||||||
if $cc $cflags bhdnam.c ; then : ; else exit 1 ; fi
|
shift
|
||||||
if $cc $cflags bhfcon.c ; then : ; else exit 1 ; fi
|
for i
|
||||||
if $cc $cflags bhicon.c ; then : ; else exit 1 ; fi
|
do
|
||||||
if $cc $cflags bhilb.c ; then : ; else exit 1 ; fi
|
echo "+$cc $cflags $i"
|
||||||
if $cc $cflags bhpnam.c ; then : ; else exit 1 ; fi
|
if $cc $cflags $i
|
||||||
if $cc $cflags bhucon.c ; then : ; else exit 1 ; fi
|
then
|
||||||
if $cc $cflags crcst.c ; then : ; else exit 1 ; fi
|
list="$list `basename $i .c`.o"
|
||||||
if $cc $cflags crdlb.c ; then : ; else exit 1 ; fi
|
else
|
||||||
if $cc $cflags crdnam.c ; then : ; else exit 1 ; fi
|
exit 1
|
||||||
if $cc $cflags crfcon.c ; then : ; else exit 1 ; fi
|
fi
|
||||||
if $cc $cflags cricon.c ; then : ; else exit 1 ; fi
|
done
|
||||||
if $cc $cflags crilb.c ; then : ; else exit 1 ; fi
|
echo "+$cc $cflags -I../read_em C_out.c"
|
||||||
if $cc $cflags crpnam.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags crscon.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags crucon.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags cst.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags dfdlb.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags dfdnam.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags dfilb.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags dlb.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags dnam.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags end.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags endarg.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags exc.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags fcon.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags icon.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags ilb.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags msend.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags op.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags opcst.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags opdlb.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags opdnam.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags opilb.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags opnarg.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags oppnam.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags pnam.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags pro.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags pronarg.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags msstart.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags psdlb.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags psdnam.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags pspnam.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags scon.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags ucon.c ; then : ; else exit 1 ; fi
|
|
||||||
if $cc $cflags -I../read_em C_out.c ; then : ; else exit 1 ; fi
|
if $cc $cflags -I../read_em C_out.c ; then : ; else exit 1 ; fi
|
||||||
if $cc $cflags $1/em.c ; then : ; else exit 1 ; fi
|
echo "+$ar rc libem$target.$libsuf $list"
|
||||||
if mv em.$suf em$1.$suf ; then : ; else exit 1 ; fi
|
if $ar rc libem$target.$libsuf $list
|
||||||
if $ar rc libem$1.$libsuf bhcst.$suf bhdlb.$suf bhdnam.$suf bhfcon.$suf bhicon.$suf bhilb.$suf bhpnam.$suf bhucon.$suf crcst.$suf crdlb.$suf crdnam.$suf crfcon.$suf cricon.$suf crilb.$suf crpnam.$suf crscon.$suf crucon.$suf cst.$suf dfdlb.$suf dfdnam.$suf dfilb.$suf dlb.$suf dnam.$suf end.$suf endarg.$suf exc.$suf fcon.$suf getid.$suf icon.$suf ilb.$suf insert.$suf internerr.$suf msend.$suf op.$suf opcst.$suf opdlb.$suf opdnam.$suf opilb.$suf opnarg.$suf oppnam.$suf pnam.$suf pro.$suf pronarg.$suf msstart.$suf psdlb.$suf psdnam.$suf pspnam.$suf scon.$suf ucon.$suf C_out.$suf em$1.$suf failed.$suf ; then : ; else exit 1 ; fi
|
then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
Loading…
Add table
Reference in a new issue