1# @(#)Makefile 5.9 (Berkeley) 05/11/90 2# 3# as.h Definitions for data structures 4# asnumber.h Definitions for all numbers: byte .. G format float 5# asscan.h Definitions for the character scanner 6# asscanl.h Definitions for the character scanner; 7# local to asscan?.c 8# astokfix.awk 9# astoks.H The defines for tokens that yacc produced 10# This is processed by astokfix.awk to yield: 11# astoks.h Included implicitly in as.h 12# asexpr.h The macros for parsing and expressions 13# assyms.h Macros for dealing with the symbol table 14# instrs.h Definitions to make instrs more readable 15# 16# asscan1.c buffer management, yylex, and buffer drainer 17# asscan2.c character scanner, and buffer filler 18# asscan3.c character sets definitions (initialized data) 19# asscan4.c constructs normal integers; interfaces with bignum?.c 20# 21# bignum1.c constructs large integers; utility routines 22# bignum2.c packs/unpacks floating point numbers 23# natof.c constructs large floating point #'s, ala atof 24# 25# asparse.c parser 26# asexpr.c parses expressions, constructs and evaluates 27# expression trees 28# 29# asmain.c main body 30# assyms.c symbol table processing routines 31# asjxxx.c Fixes jxxx instructions 32# ascode.c Emits code 33# assizetab.c Converts internal ordinal #'s into sizes, strings, etc 34# asio.c Does block I/O and faster versions of fwrite 35# 36# aspseudo.c Symbol table definitions for reserved words 37# instrs included in pseudo.c; instructions and semantic info 38# for each instructions 39# 40# available flags: 41# 42# AS This is the assembler; always set 43# (UNIX and VMS are mutually exclusive.) 44# UNIX Must be set if the assembler is to produce a.out 45# files for UNIX. 46# 47# VMS Must be set if the assembler is to produce executables 48# for VMS (Thanks to David Kashtan, SRI for these fixes) 49# 50# if VMS is set, then these two flags are also valid: 51# (necessary to frob system calls and '$' conventions 52# VMSDEVEL The assembler is being compiled under VMS 53# UNIXDEVEL The assembler is being compiled under UNIX 54# 55# 56# DEBUG print out various debugging information 57# in the first pass 58# 59# FLEXNAMES All names are stored internally as true character 60# strings, null terminated, and can be no more 61# than BUFSIZ long. 62# 63PROG= as 64CFLAGS+=-DAS -I. 65SRCS= asscan1.c asscan2.c asscan3.c asscan4.c bignum1.c bignum2.c natof.c \ 66 floattab.c asmain.c asparse.c asexpr.c assyms.c asjxxx.c ascode.c \ 67 aspseudo.c assizetab.c asio.c 68 69all: astoks.h 70 71astoks.h: astoks.H astokfix.awk 72 awk -f ${.CURDIR}/astokfix.awk < ${.CURDIR}/astoks.H > astoks.h 73 74aspseudo.o: as.h astoks.h aspseudo.c instrs.h instrs.as 75 ${CC} ${CFLAGS} -R -c ${.IMPSRC} 76 77instrs.as: ${.CURDIR}/instrs 78 (echo FLAVOR AS ; cat ${.CURDIR}/instrs) | \ 79 awk -f ${.CURDIR}/instrs > instrs.as 80 81.include <bsd.prog.mk> 82