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