# assyms.c symbol table processing routines
# asjxxx.c Fixes jxxx instructions
# ascode.c Emits code
+# asio.c Does block I/O and faster versions of fwrite
#
# aspseudo.c Symbol table definitions for reserved words
# instrs included in pseudo.c; instructions and semantic info
HDRS = astoks.h as.h asscan.h assyms.h asexpr.h
-SRCS = asscan.c asparse.c asexpr.c \
- asmain.c assyms.c \
- asjxxx.c ascode.c aspseudo.c
-
-SRCS1= asscan.c asparse.c asexpr.c
-
-SRCS2 = asmain.c assyms.c asjxxx.c ascode.c aspseudo.c instrs
+SRCS = asscan.c asmain.c asparse.c \
+ asexpr.c assyms.c \
+ asjxxx.c ascode.c aspseudo.c \
+ asio.c
OBJS = asscan.o asparse.o asexpr.o \
asmain.o assyms.o \
- asjxxx.o ascode.o aspseudo.o
+ asjxxx.o ascode.o aspseudo.o \
+ asio.o
+
+GRIND = astoks.h as.h asscan.h assyms.h asexpr.h \
+ asmain.c asscan.c asparse.c asexpr.c \
+ assyms.c asjxxx.c ascode.c asio.c
DESTDIR =
#
# available flags:
#
-# SORTEDOUTPUT create the final a.out symbol table sorted by
-# (segment number, value) keys, instead of
-# by declaration order. SDB currently requires
-# the symbol table to be in declaration order.
-# METRIC print out number of times the hashing routine is called
+# (UNIX and VMS are mutually exclusive.)
+# UNIX Must be set if the assembler is to produce a.out
+# files for UNIX.
+#
+# VMS Must be set if the assembler is to produce executables
+# for VMS (Thanks to David Kashtan, SRI for these fixes)
+#
+# if VMS is set, then these two flags are also valid:
+# (necessary to frob system calls and '$' conventions
+# VMSDEVEL The assembler is being compiled under VMS
+# UNIXDEVEL The assembler is being compiled under UNIX
+#
+#
# DEBUG print out various debugging information
# in the first pass
#
-#
+# FLEXNAMES All names are stored internally as true character
+# strings, null terminated, and can be no more
+# than BUFSIZ long.
+#
+
+LD = /bin/ld
-CFLAGS= -O
-LINTFLAGS =
+CFLAGS= -DUNIX -DUNIXDEVEL -DFLEXNAMES -g
+
+LDFLAGS = -g
+
+LINTFLAGS = -DUNIX -DUNIXDEVEL -DFLEXNAMES
as: $(OBJS)
- $(CC) $(OBJS)
+ $(CC) $(LDFLAGS) $(OBJS)
mv a.out as
lint:
lint $(LINTFLAGS) $(SRCS)
-asscan.o : as.h astoks.h asexpr.h asscan.h asscan.c
- $(CC) $(CFLAGS) -c asscan.c
-
-asparse.o: as.h astoks.h asexpr.h asscan.h asparse.c
- $(CC) $(CFLAGS) -c asparse.c
-
-asexpr.o: as.h astoks.h asexpr.h asexpr.c
- $(CC) $(CFLAGS) -c asexpr.c
-
-asmain.o : as.h astoks.h asexpr.h assyms.h asmain.c
- $(CC) $(CFLAGS) -c asmain.c
-
-assyms.o: as.h astoks.h assyms.h assyms.c
- $(CC) $(CFLAGS) -c assyms.c
-
-asjxxx.o: as.h astoks.h assyms.h asjxxx.c
- $(CC) $(CFLAGS) -c asjxxx.c
-
-ascode.o: as.h astoks.h assyms.h ascode.c
- $(CC) $(CFLAGS) -c ascode.c
-
aspseudo.o : as.h astoks.h aspseudo.c instrs
$(CC) -S $(CFLAGS) aspseudo.c
- :rofix aspseudo.s
+ sh ./:rofix aspseudo.s
$(AS) -o aspseudo.o aspseudo.s
rm aspseudo.s
clean:
rm -f $(OBJS) as
-
-netprint:
- pr $(HDRS) $(SRCS1) > as1.pr
- pr $(SRCS2) > as2.pr
- netcp as1.pr Cory:netbin/as1.pr
- netcp as2.pr Cory:netbin/as2.pr
- rm as1.pr
- rm as2.pr
+install:
+ install -s as ${DESTDIR}/bin
print:
- pr $(HDRS) $(SRCS)
+ pr Makefile $(HDRS) $(SRCS)
-vprint:
- vgrind $(HDRS) $(SRCS)
+netprint:
+ csh /usr/grad/henry/bin/:netprint Makefile $(HDRS) $(SRCS)
-install:
- install -s as ${DESTDIR}/bin/as
+vgrind:
+ vgrind $(GRIND)
+
+sources: ${SRCS} ${HDRS}
+${SRCS} ${HDRS}:
+ sccs get $@