1# 2# Copyright (c) 1980 Regents of the University of California. 3# All rights reserved. The Berkeley software License Agreement 4# specifies the terms and conditions for redistribution. 5# 6# @(#)Makefile 5.1 (Berkeley) 04/24/85 7# 8# as.h Definitions for data structures 9# asnumber.h Definitions for all numbers: byte .. G format float 10# asscan.h Definitions for the character scanner 11# asscanl.h Definitions for the character scanner; 12# local to asscan?.c 13# astokfix.awk 14# astoks.H The defines for tokens that yacc produced 15# This is processed by astokfix.awk to yield: 16# astoks.h Included implicitly in as.h 17# asexpr.h The macros for parsing and expressions 18# assyms.h Macros for dealing with the symbol table 19# instrs.h Definitions to make instrs more readable 20# 21# asscan1.c buffer management, yylex, and buffer drainer 22# asscan2.c character scanner, and buffer filler 23# asscan3.c character sets definitions (initialized data) 24# asscan4.c constructs normal integers; interfaces with bignum?.c 25# 26# bignum1.c constructs large integers; utility routines 27# bignum2.c packs/unpacks floating point numbers 28# natof.c constructs large floating point #'s, ala atof 29# 30# asparse.c parser 31# asexpr.c parses expressions, constructs and evaluates 32# expression trees 33# 34# asmain.c main body 35# assyms.c symbol table processing routines 36# asjxxx.c Fixes jxxx instructions 37# ascode.c Emits code 38# assizetab.c Converts internal ordinal #'s into sizes, strings, etc 39# asio.c Does block I/O and faster versions of fwrite 40# 41# aspseudo.c Symbol table definitions for reserved words 42# instrs included in pseudo.c; instructions and semantic info 43# for each instructions 44# 45HDRS = astoks.H astokfix.awk as.h asexpr.h asnumber.h asscan.h asscanl.h \ 46 assyms.h instrs.h 47 48SRCS = asscan1.c asscan2.c asscan3.c asscan4.c \ 49 bignum1.c bignum2.c natof.c floattab.c \ 50 asmain.c asparse.c \ 51 asexpr.c assyms.c \ 52 asjxxx.c ascode.c aspseudo.c \ 53 assizetab.c asio.c 54 55OBJS = asscan1.o asscan2.o asscan3.o asscan4.o \ 56 bignum1.o bignum2.o natof.o floattab.o\ 57 asparse.o asexpr.o \ 58 asmain.o assyms.o \ 59 asjxxx.o ascode.o aspseudo.o \ 60 assizetab.o asio.o 61 62GRIND = astoks.h as.h asscan.h assyms.h asexpr.h instrs.h asnumber.h \ 63 asscanl.h asscan1.c asscan2.c asscan3.c asscan4.c \ 64 bignum1.c bignum2.c natof.c floattab.c \ 65 asmain.c asscan.c asparse.c asexpr.c \ 66 assyms.c asjxxx.c ascode.c asio.c \ 67 assizetab.c aspseudo.c 68 69DESTDIR = 70 71# 72# available flags: 73# 74# AS This is the assembler; always set 75# (UNIX and VMS are mutually exclusive.) 76# UNIX Must be set if the assembler is to produce a.out 77# files for UNIX. 78# 79# VMS Must be set if the assembler is to produce executables 80# for VMS (Thanks to David Kashtan, SRI for these fixes) 81# 82# if VMS is set, then these two flags are also valid: 83# (necessary to frob system calls and '$' conventions 84# VMSDEVEL The assembler is being compiled under VMS 85# UNIXDEVEL The assembler is being compiled under UNIX 86# 87# 88# DEBUG print out various debugging information 89# in the first pass 90# 91# FLEXNAMES All names are stored internally as true character 92# strings, null terminated, and can be no more 93# than BUFSIZ long. 94# 95 96AS = /bin/as 97LD = /bin/ld 98 99DFLAGS= -DAS 100CFLAGS = -O ${DFLAGS} 101 102LDFLAGS = -O 103 104as: ${OBJS} 105 ${CC} ${LDFLAGS} ${OBJS} -o as 106 107.c.o: astoks.h ${HDRS} 108 ${CC} ${CFLAGS} -c $*.c 109 110astoks.h: astoks.H astokfix.awk 111 awk -f astokfix.awk < astoks.H > astoks.h 112 113aspseudo.o: as.h astoks.h aspseudo.c instrs.h instrs.as 114 ${CC} -c -R ${DFLAGS} aspseudo.c 115 116instrs.as: instrs 117 (echo FLAVOR AS ; cat instrs) | awk -f instrs > instrs.as 118 119lint: 120 lint ${DFLAGS} ${SRCS} 121clean: 122 rm -f ${OBJS} as 123install: 124 install -s as ${DESTDIR}/bin 125 126print: 127 pr Makefile ${HDRS} ${SRCS} 128 129sources: ${SRCS} ${HDRS} 130${SRCS} ${HDRS}: 131 sccs get $@ 132