# Some symbols are specific to certain compilers:
# ONEPASS compile pass 1 and pass 2 together
# FORT get f77-style pass 2
SRCS
= code.c local.c local2.c order.c rel.c stab.c \
${MIP}/common.c
${MIP}/match.c
${MIP}/optim.c
${MIP}/pftn.c \
${MIP}/reader.c
${MIP}/scan.c
${MIP}/xdefs.c
${MIP}/cgram.y \
${MIP}/allo.c
${MIP}/trees.c table.c
OBJS
= code.o local.o local2.o order.o rel.o stab.o \
comm1.o match.o optim.o pftn.o reader.o scan.o xdefs.o cgram.o \
allo.o trees.o table.o rodata.o
FFLAGS
= ${CFLAGS} ${FOPTS}
FSRCS
= freader.c fallo.c fmatch.c ftable.c forder.c flocal2.c fcomm2.c ftable.c
FOBJS
= freader.o fallo.o fmatch.o ftable.o forder.o flocal2.o fcomm2.o ftable.o
# 'ccom' is a one-pass C compiler.
${CC} ${LDFLAGS} -o
${TESTDIR}/ccom
${OBJS} rel.o
${LIBS}
${CC} -c
${FLAGS} ${MIP}/trees.c
${CC} -c
${FLAGS} ${MIP}/optim.c
${CC} -c
${FLAGS} ${MIP}/pftn.c
${CC} -c
${FLAGS} local.c
${CC} -c
${FLAGS} ${MIP}/scan.c
${CC} -c
${FLAGS} ${MIP}/xdefs.c
${CC} -c
${FLAGS} cgram.c
${CC} -c
${FLAGS} -R rodata.c
rodata.c cgram.c
: ${MIP}/cgram.y pcctokens
cat pcctokens
${MIP}/cgram.y
> gram.in
sh
:yyfix yyexca yyact yypact yypgo yyr1 yyr2 yychk yydef
ln
${MIP}/common.c comm1.c
${CC} -c
${FLAGS} -DPASS1COMMON comm1.c
${CC} -c
${FLAGS} -R table.c
reader.o
: ${MIP}/reader.c
${CC} -c
${FLAGS} ${MIP}/reader.c
${CC} -c
${FLAGS} local2.c
${CC} -c
${FLAGS} order.c
${CC} -c
${FLAGS} ${MIP}/match.c
${CC} -c
${FLAGS} ${MIP}/allo.c
# 'f1' is the f77 and pc code generator.
${CC} ${LDFLAGS} -o
${TESTDIR}/f1 fort.o
${FOBJS} ${LIBS}
fort.o
: fort.h
${MIP}/fort.c
${CC} -c
${FFLAGS} ${MIP}/fort.c
freader.o
: ${MIP}/reader.c
ln
${MIP}/reader.c freader.c
${CC} -c
${FFLAGS} freader.c
${CC} -c
${FFLAGS} fallo.c
ln
${MIP}/match.c fmatch.c
${CC} -c
${FFLAGS} fmatch.c
${CC} -c
-R
${FFLAGS} ftable.c
${CC} -c
${FFLAGS} forder.c
${CC} -c
${FFLAGS} flocal2.c
fcomm2.o
: ${MIP}/common.c
ln
${MIP}/common.c fcomm2.c
${CC} -c
${FFLAGS} -DPASS2COMMON fcomm2.c
install -s
-o bin
-g bin
-m
755 ${TESTDIR}/ccom
${DESTDIR}/usr
/libexec
install -s
-o bin
-g bin
-m
755 ${TESTDIR}/f1
${DESTDIR}/usr
/libexec
pcclocal.h
: ..
/localdefs.h
/usr
/include/pcc.h
cat
/usr
/include/pcc.h ..
/localdefs.h | \
${GREP} '^#[ ]*(define[ ][ ]*PCC(F|T|TM|OM)?_|ifdef|ifndef|endif)' | \
sed
-e
's/PCC[A-Z]*_//' > pcclocal.h
pcctokens
: ..
/localdefs.h
/usr
/include/pcc.h
cat
/usr
/include/pcc.h ..
/localdefs.h | \
${GREP} '^#[ ]*define[ ][ ]*PCC_' | sed
-e
's/^#[ ]*define[ ][ ]*PCC_/%term /' > pcctokens
${RM} *.o ccom f1 cgram.c rodata.c pcctokens pcclocal.h \
gram.in
${SSRCS} ${FSRCS}
rm -f
${MAN} tags .depend
lint
-hx
${OPTS} -DPASS1COMMON cgram.c \
${MIP}/xdefs.c
${MIP}/scan.c
${MIP}/pftn.c
${MIP}/trees.c \
${MIP}/optim.c
${MIP}/reader.c
${MIP}/match.c
${MIP}/allo.c \
code.c local.c stab.c local2.c order.c table.c rel.c
# XXX this is less than complete
depend
: ${SRCS} ${MIP}/fort.c pcclocal.h pcctokens
mkdep
${CFLAGS} ${INCS} ${SRCS} ${MIP}/fort.c