MHDIR = $(MDIR)/h
PKGDIR = $(MDIR)/pkg
LIBDIR = $(MDIR)/lib
-OBJECTCODE = $(LIBDIR)/libemk.a
LLGEN = $(EMHOME)/bin/LLgen
MKDEP = $(EMHOME)/bin/mkdep
PRID = $(EMHOME)/bin/prid
CID = $(EMHOME)/bin/cid
+OPR = opr
CURRDIR =
CC = fcc
CC = cc
-PRINTER = vu45
LINT = lint
-
-INCLUDES = -I$(MHDIR) -I$(EMHOME)/h -I$(PKGDIR)
-
-OLIBS = $(LIBDIR)/libem_mes.a $(OBJECTCODE) $(LIBDIR)/libinput.a $(LIBDIR)/libassert.a $(LIBDIR)/liballoc.a $(MALLOC) $(LIBDIR)/libprint.a $(LIBDIR)/libstring.a $(LIBDIR)/libsystem.a
+MACH = sun3
+
+MALLOC = $(LIBDIR)/malloc.o
+EMELIB = $(LIBDIR)/libem_mes.a \
+ $(LIBDIR)/libeme.a \
+ $(EMHOME)/lib/em_data.a
+EMKLIB = $(LIBDIR)/libem_mes.a $(LIBDIR)/libemk.a
+MODLIB = $(LIBDIR)/libinput.a \
+ $(LIBDIR)/libassert.a \
+ $(LIBDIR)/liballoc.a \
+ $(MALLOC) \
+ $(LIBDIR)/libprint.a \
+ $(LIBDIR)/libstring.a \
+ $(LIBDIR)/libsystem.a
+EMCELIB = $(LIBDIR)/libem_mesCE.a \
+ $(EMHOME)/lib/$(MACH)/ce.a \
+ $(EMHOME)/lib/$(MACH)/back.a \
+ $(LIBDIR)/libflt.a \
+ $(LIBDIR)/libobject.a \
+ $(EMHOME)/lib/em_data.a
+EMOCELIB = $(LIBDIR)/libem_mesO.a \
+ $(LIBDIR)/libCEopt.a \
+ $(EMHOME)/lib/$(MACH)/ce.a \
+ $(EMHOME)/lib/$(MACH)/back.a \
+ $(LIBDIR)/libflt.a \
+ $(LIBDIR)/libobject.a \
+ $(EMHOME)/lib/em_data.a
+
+LIBS = $(EMKLIB) $(MODLIB)
+CELIBS = $(EMCELIB) $(MODLIB)
+OLIBS = $(EMOCELIB) $(MODLIB)
GFILES = tokenfile.g declar.g expression.g program.g statement.g
LLGENOPTIONS =
PROFILE =
COPTIONS =
-OPTIM= -O
-CFLAGS = $(PROFILE) $(INCLUDES) $(OPTIM) $(COPTIONS) -DSTATIC=
-LINTFLAGS = -DSTATIC= -DNORCSID
-MALLOC = $(LIBDIR)/malloc.o
-LDFLAGS = -i $(PROFILE)
+INCLUDES = -I$(MHDIR) -I$(EMHOME)/h -I$(PKGDIR)
+OPTIM= -O
+CFLAGS = $(PROFILE) $(INCLUDES) $(OPTIM) $(COPTIONS) -DSTATIC=
+LINTFLAGS = -DSTATIC= -DNORCSID
+LDFLAGS = -i $(PROFILE)
+
LSRC = declar.c expression.c program.c statement.c tokenfile.c
LOBJ = declar.o expression.o program.o statement.o tokenfile.o
CSRC = LLlex.c LLmessage.c body.c chk_expr.c code.c\
Omain: Cfiles
rm -f *.o
- sh -c 'if $(CC) nmclash.c > /dev/null 2>&1 ; then make "EMHOME="$(EMHOME) "COPTIONS="-DPEEPHOLE $(CURRDIR)omain ; else EMHOME=$(EMHOME); export EMHOME; ./Resolve omain ; fi'
+ sh -c 'if $(CC) nmclash.c > /dev/null 2>&1 ; then make "MACH="$(MACH) "EMHOME="$(EMHOME) "COPTIONS="-DPEEPHOLE $(CURRDIR)omain ; else MACH=$(MACH); export MACH; EMHOME=$(EMHOME); export EMHOME; ./Resolve omain ; fi'
@rm -f nmclash.o a.out
- mv *.o PEEPHOLE
CEmain: Cfiles
rm -f *.o
- sh -c 'if $(CC) nmclash.c > /dev/null 2>&1 ; then make "EMHOME="$(EMHOME) "COPTIONS="-DCODE_EXPANDER $(CURRDIR)cemain ; else EMHOME=$(EMHOME); export EMHOME; ./Resolve cemain ; fi'
+ sh -c 'if $(CC) nmclash.c > /dev/null 2>&1 ; then make "MACH="$(MACH) "EMHOME="$(EMHOME) "COPTIONS="-DCODE_EXPANDER $(CURRDIR)cemain ; else MACH=$(MACH); export MACH; EMHOME=$(EMHOME); export EMHOME; ./Resolve cemain ; fi'
@rm -f nmclash.o a.out
- mv *.o CODE_EXPANDER
install: all
cp $(CURRDIR)main $(EMHOME)/lib/em_pc
-cmp $(CURRDIR)main $(EMHOME)/lib/em_pc
opr:
- make pr | opr
+ make pr | $(OPR)
pr:
@pr Makefile Resolve Parameters $(GFILES) *.H $(HFILES) *.C $(CSRC)
mv Makefile.new Makefile
print: $(CSRC) $(GFILES) $(HFILES) # print recently changed files
- pr -t $? | rpr $(PRINTER)
+ pr -t $? | $(OPR)
@touch print
xref:
$(CURRDIR)main: $(OBJ) $(CURRDIR)Makefile
-mv $(CURRDIR)main $(CURRDIR)main.old
- $(CC) $(LDFLAGS) $(OBJ) $(OLIBS) -o $(CURRDIR)main
+ $(CC) $(LDFLAGS) $(OBJ) $(LIBS) -o $(CURRDIR)main
-size $(CURRDIR)main.old
size $(CURRDIR)main
$(CURRDIR)omain: $(OBJ) #$(CURRDIR)Makefile
-# #$(CC) $(LDFLAGS) $(OBJ) $(OLIBS) -o $(CURRDIR)omain
-# #size $(CURRDIR)omain
+ $(CC) $(LDFLAGS) $(OBJ) $(OLIBS) -o $(CURRDIR)omain
+ -size $(CURRDIR)omain
$(CURRDIR)cemain: $(OBJ) #$(CURRDIR)Makefile
-# #$(CC) $(LDFLAGS) $(OBJ) $(OLIBS) -o $(CURRDIR)cemain
-# # #size $(CURRDIR)cemain
+ $(CC) $(LDFLAGS) $(OBJ) $(CELIBS) -o $(CURRDIR)cemain
+ -size $(CURRDIR)cemain
#AUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTO
LLlex.o: LLlex.h
: create a directory Xsrc with name clashes resolved
: and run make in that directory
+: '$Header$'
case $# in
1)
exit 1
;;
esac
-currdir=`pwd`
+PW=`pwd`
case $1 in
-main) target=$currdir/$1
+main) target=$PW/$1
;;
-omain) target=$currdir/$1
+omain) target=$PW/$1
options=-DPEEPHOLE
;;
-cemain) target=$currdir/$1
+cemain) target=$PW/$1
options=-DCODE_EXPANDER
;;
Xlint) target=$1
sed '/^C_/d' < longnames > tmp$$
cclash -c -l7 tmp$$ > ../Xsrc/Xclashes
rm -f tmp$$
-PW=`pwd`
cd ../Xsrc
if cmp -s Xclashes clashes
then
\$(CID) -Fclashes < $PW/$i > $i
EOF
done
-make EMHOME=$EMHOME CURRDIR=$currdir/ COPTIONS=$options $target
+make EMHOME=$EMHOME COPTIONS=$options MACH=$MACH CURRDIR=$PW/ $target