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.5 (Berkeley) 06/02/87 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 47SRCS= asscan1.c asscan2.c asscan3.c asscan4.c bignum1.c bignum2.c natof.c \ 48 floattab.c asmain.c asparse.c asexpr.c assyms.c asjxxx.c ascode.c \ 49 aspseudo.c assizetab.c asio.c 50OBJS= asscan1.o asscan2.o asscan3.o asscan4.o bignum1.o bignum2.o natof.o \ 51 floattab.o asparse.o asexpr.o asmain.o assyms.o asjxxx.o ascode.o \ 52 aspseudo.o assizetab.o asio.o 53GRIND = astoks.h as.h asscan.h assyms.h asexpr.h instrs.h asnumber.h \ 54 asscanl.h asscan1.c asscan2.c asscan3.c asscan4.c bignum1.c \ 55 bignum2.c natof.c floattab.c asmain.c asscan.c asparse.c asexpr.c \ 56 assyms.c asjxxx.c ascode.c asio.c assizetab.c aspseudo.c 57 58# available flags: 59# 60# AS This is the assembler; always set 61# (UNIX and VMS are mutually exclusive.) 62# UNIX Must be set if the assembler is to produce a.out 63# files for UNIX. 64# 65# VMS Must be set if the assembler is to produce executables 66# for VMS (Thanks to David Kashtan, SRI for these fixes) 67# 68# if VMS is set, then these two flags are also valid: 69# (necessary to frob system calls and '$' conventions 70# VMSDEVEL The assembler is being compiled under VMS 71# UNIXDEVEL The assembler is being compiled under UNIX 72# 73# 74# DEBUG print out various debugging information 75# in the first pass 76# 77# FLEXNAMES All names are stored internally as true character 78# strings, null terminated, and can be no more 79# than BUFSIZ long. 80# 81AS= /bin/as 82DFLAGS= -DAS 83CFLAGS= -O ${DFLAGS} 84 85as: ${OBJS} ${LIBC} 86 ${CC} -o $@ ${CFLAGS} ${OBJS} 87 88.c.o: astoks.h ${HDRS} 89 ${CC} ${CFLAGS} -c $*.c 90 91astoks.h: astoks.H astokfix.awk 92 awk -f astokfix.awk < astoks.H > astoks.h 93 94aspseudo.o: as.h astoks.h aspseudo.c instrs.h instrs.as 95 ${CC} -c -R ${DFLAGS} aspseudo.c 96 97instrs.as: instrs 98 (echo FLAVOR AS ; cat instrs) | awk -f instrs > instrs.as 99 100lint: FRC 101 lint ${CFLAGS} ${SRCS} 102 103clean: FRC 104 rm -f ${OBJS} instrs.as as core a.out errs 105 106depend: instrs.as FRC 107 mkdep ${CFLAGS} ${SRCS} 108 109install: FRC 110 install -s -o bin -g bin -m 755 as ${DESTDIR}/bin/as 111 112tags: FRC 113 ctags ${SRCS} 114 115print: 116 pr Makefile ${HDRS} ${SRCS} 117 118FRC: 119# DO NOT DELETE THIS LINE -- mkdep uses it. 120# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. 121 122asscan1.o: asscan1.c asscanl.h /usr/include/stdio.h as.h 123asscan1.o: /usr/include/sys/types.h /usr/include/a.out.h 124asscan1.o: /usr/include/sys/exec.h /usr/include/stab.h instrs.h astoks.h 125asscan1.o: asnumber.h asscan.h 126asscan2.o: asscan2.c asscanl.h /usr/include/stdio.h as.h 127asscan2.o: /usr/include/sys/types.h /usr/include/a.out.h 128asscan2.o: /usr/include/sys/exec.h /usr/include/stab.h instrs.h astoks.h 129asscan2.o: asnumber.h asscan.h 130asscan3.o: asscan3.c asscanl.h /usr/include/stdio.h as.h 131asscan3.o: /usr/include/sys/types.h /usr/include/a.out.h 132asscan3.o: /usr/include/sys/exec.h /usr/include/stab.h instrs.h astoks.h 133asscan3.o: asnumber.h asscan.h 134asscan4.o: asscan4.c asscanl.h /usr/include/stdio.h as.h 135asscan4.o: /usr/include/sys/types.h /usr/include/a.out.h 136asscan4.o: /usr/include/sys/exec.h /usr/include/stab.h instrs.h astoks.h 137asscan4.o: asnumber.h asscan.h 138bignum1.o: bignum1.c /usr/include/errno.h /usr/include/stdio.h as.h 139bignum1.o: /usr/include/sys/types.h /usr/include/a.out.h 140bignum1.o: /usr/include/sys/exec.h /usr/include/stab.h instrs.h astoks.h 141bignum1.o: asnumber.h 142bignum2.o: bignum2.c /usr/include/stdio.h as.h /usr/include/sys/types.h 143bignum2.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/stab.h 144bignum2.o: instrs.h astoks.h asnumber.h 145natof.o: natof.c /usr/include/stdio.h /usr/include/ctype.h /usr/include/errno.h 146natof.o: as.h /usr/include/sys/types.h /usr/include/a.out.h 147natof.o: /usr/include/sys/exec.h /usr/include/stab.h instrs.h astoks.h 148natof.o: asnumber.h 149floattab.o: floattab.c /usr/include/stdio.h as.h /usr/include/sys/types.h 150floattab.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/stab.h 151floattab.o: instrs.h astoks.h asnumber.h 152asmain.o: asmain.c /usr/include/stdio.h /usr/include/ctype.h 153asmain.o: /usr/include/signal.h as.h /usr/include/sys/types.h 154asmain.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/stab.h 155asmain.o: instrs.h astoks.h asnumber.h assyms.h asscan.h asexpr.h 156asmain.o: /usr/include/sys/stat.h 157asparse.o: asparse.c /usr/include/stdio.h as.h /usr/include/sys/types.h 158asparse.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/stab.h 159asparse.o: instrs.h astoks.h asnumber.h asscan.h assyms.h asexpr.h 160asexpr.o: asexpr.c /usr/include/stdio.h as.h /usr/include/sys/types.h 161asexpr.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/stab.h 162asexpr.o: instrs.h astoks.h asnumber.h asscan.h asexpr.h 163assyms.o: assyms.c /usr/include/stdio.h /usr/include/ctype.h as.h 164assyms.o: /usr/include/sys/types.h /usr/include/a.out.h /usr/include/sys/exec.h 165assyms.o: /usr/include/stab.h instrs.h astoks.h asnumber.h asscan.h assyms.h 166asjxxx.o: asjxxx.c /usr/include/stdio.h as.h /usr/include/sys/types.h 167asjxxx.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/stab.h 168asjxxx.o: instrs.h astoks.h asnumber.h assyms.h 169ascode.o: ascode.c /usr/include/stdio.h as.h /usr/include/sys/types.h 170ascode.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/stab.h 171ascode.o: instrs.h astoks.h asnumber.h assyms.h 172aspseudo.o: aspseudo.c /usr/include/stdio.h as.h /usr/include/sys/types.h 173aspseudo.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/stab.h 174aspseudo.o: instrs.h astoks.h asnumber.h instrs.as 175assizetab.o: assizetab.c /usr/include/stdio.h as.h /usr/include/sys/types.h 176assizetab.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/stab.h 177assizetab.o: instrs.h astoks.h asnumber.h assyms.h 178asio.o: asio.c /usr/include/stdio.h as.h /usr/include/sys/types.h 179asio.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/stab.h 180asio.o: instrs.h astoks.h asnumber.h 181 182# IF YOU PUT ANYTHING HERE IT WILL GO AWAY 183