xref: /original-bsd/old/as.vax/Makefile (revision 0f30d223)
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