]>
Commit | Line | Data |
---|---|---|
fecd2382 RP |
1 | #----------------------------------------------------------------------------- |
2 | # Makefile for gas960 | |
3 | # | |
4 | # $Id$ | |
5 | #----------------------------------------------------------------------------- | |
6 | ||
7 | # The following two lines should be uncommented for system V (i386v). | |
8 | #__i386v__#USG = -DUSG | |
9 | #__i386v__#LIBS = -lmalloc -lPW | |
10 | ||
11 | # The following two lines should be uncommented for HP-UX | |
12 | #__hp9000__#USG = -DUSG | |
13 | ||
14 | # The following line should be uncommented for Macintosh A/UX. | |
15 | #__mac-aux__#USG = -DUSG | |
16 | ||
17 | #Always build with static libraries on Sun systems | |
18 | #__sun3__#LDFLAGS = -Bstatic | |
19 | #__sun386i__#LDFLAGS = -Bstatic | |
20 | #__sun4__#LDFLAGS = -Bstatic | |
21 | ||
22 | # Essential under System V, harmless elsewhere | |
23 | SHELL = /bin/sh | |
24 | ||
25 | TARG = gas960 | |
26 | OPT = -g | |
27 | IPATH = ../../include | |
28 | CFLAGS = ${OPT} ${USG} -DI80960 -I${IPATH} | |
29 | ||
30 | ||
31 | OBJS = app.o append.o as.o atof-generic.o bignum-copy.o expr.o \ | |
32 | flonum-const.o flonum-copy.o flonum-mult.o frags.o gdb-blocks.o \ | |
33 | gdb-file.o gdb-lines.o gdb-symbols.o gdb.o hash.o hex-value.o \ | |
34 | input-file.o input-scrub.o messages.o obstack.o output-file.o read.o \ | |
35 | strstr.o subsegs.o symbols.o version.o write.o xmalloc.o xrealloc.o | |
36 | ||
37 | # Note that we use the 386 floating-point support for the i80960 | |
38 | I960OBJ = i960.o i960-opcode.o atof-i386.o | |
39 | ||
40 | gas960: ${OBJS} ${I960OBJ} VERSION | |
41 | make ver960.o | |
42 | ${CC} -o gas960 ${LDFLAGS} ${OBJS} ${I960OBJ} ver960.o ${LIBS} | |
43 | ||
44 | hash.o: hash.c | |
45 | ${CC} -c ${CFLAGS} -Derror=as_fatal hash.c | |
46 | ||
47 | xmalloc.o: xmalloc.c | |
48 | ${CC} -c ${CFLAGS} -Derror=as_fatal xmalloc.c | |
49 | ||
50 | xrealloc.o: xrealloc.c | |
51 | ${CC} -c ${CFLAGS} -Derror=as_fatal xrealloc.c | |
52 | ||
53 | app.o: as.h | |
54 | ||
55 | as.o: ${IPATH}/b.out.h as.h read.h struc-symbol.h write.h | |
56 | atof-generic.o: flonum.h | |
57 | bignum-copy.o: bignum.h | |
58 | expr.o: ${IPATH}/b.out.h as.h expr.h flonum.h obstack.h read.h | |
59 | expr.o: struc-symbol.h symbols.h | |
60 | flonum-const.o: flonum.h | |
61 | flonum-copy.o: flonum.h | |
62 | flonum-mult.o: flonum.h | |
63 | flonum-normal.o:flonum.h | |
64 | flonum-print.o: flonum.h | |
65 | frags.o: ${IPATH}/b.out.h as.h frags.h obstack.h struc-symbol.h subsegs.h | |
66 | gdb.o: as.h | |
67 | gdb-blocks.o: as.h | |
68 | gdb-lines.o: as.h frags.h obstack.h | |
69 | gdb-symbols.o: ${IPATH}/b.out.h as.h struc-symbol.h | |
70 | hash.o: hash.h | |
71 | i960.o: as.h ${IPATH}/b.out.h expr.h flonum.h frags.h hash.h | |
72 | i960.o: i960-opcode.h md.h obstack.h struc-symbol.h write.h | |
73 | i960-opcode.o: i960-opcode.h | |
74 | input-file.o: input-file.h | |
75 | input-scrub.o: as.h input-file.h read.h | |
76 | messages.o: as.h | |
77 | obstack.o: obstack.h | |
78 | read.o: ${IPATH}/b.out.h as.h expr.h flonum.h frags.h hash.h md.h | |
79 | read.o: obstack.h read.h struc-symbol.h symbols.h | |
80 | subsegs.o: ${IPATH}/b.out.h as.h frags.h obstack.h struc-symbol.h subsegs.h | |
81 | subsegs.o: write.h | |
82 | symbols.o: ${IPATH}/b.out.h as.h frags.h hash.h obstack.h struc-symbol.h | |
83 | symbols.o: symbols.h | |
84 | write.o: ${IPATH}/b.out.h as.h md.h obstack.h struc-symbol.h subsegs.h | |
85 | write.o: symbols.h write.h | |
86 | ||
87 | flonum.h: bignum.h | |
88 | ||
89 | #----------------------------------------------------------------------------- | |
90 | # 'STANDARD' GNU/960 TARGETS BELOW THIS POINT | |
91 | # | |
92 | # 'VERSION' file must be present and contain a string of the form "x.y" | |
93 | #----------------------------------------------------------------------------- | |
94 | ||
95 | ver960.c: FORCE | |
96 | rm -f ver960.c | |
97 | echo "char ${TARG}_ver[]= \"${TARG} `cat VERSION`, `date`\";" > ver960.c | |
98 | ||
99 | ||
100 | # This target should be invoked before building a new release. | |
101 | # 'VERSION' file must be present and contain a string of the form "x.y" | |
102 | # | |
103 | roll: | |
104 | @V=`cat VERSION` ; \ | |
105 | MAJ=`sed 's/\..*//' VERSION` ; \ | |
106 | MIN=`sed 's/.*\.//' VERSION` ; \ | |
107 | V=$$MAJ.`expr $$MIN + 1` ; \ | |
108 | rm -f VERSION ; \ | |
109 | echo $$V >VERSION ; \ | |
110 | echo Version $$V | |
111 | ||
112 | # Dummy target to force execution of dependent targets. | |
113 | # | |
114 | FORCE: | |
115 | ||
116 | # 'G960BASE' will be defined at invocation | |
117 | install: | |
118 | make ${TARG} OPT=-O | |
119 | strip ${TARG} | |
120 | rm -f ${G960BASE}/bin/${TARG} | |
121 | mv ${TARG} ${G960BASE}/bin/${TARG} | |
122 | ||
123 | clean: | |
124 | rm -f ${TARG} *.o core | |
125 | ||
126 | # Target to uncomment host-specific lines in this makefile. Such lines must | |
127 | # have the following string beginning in column 1: #__<hostname>__# | |
128 | # Original Makefile is backed up as 'Makefile.old'. | |
129 | # | |
130 | # Invoke with: make make HOST=xxx | |
131 | # | |
132 | make: | |
133 | -@if test $(HOST)x = x ; then \ | |
134 | echo '\aSpecify "make make HOST=???"'; \ | |
135 | exit 1; \ | |
136 | fi ; \ | |
137 | grep -s "^#The next line was generated by 'make make'" Makefile; \ | |
138 | if test $$? = 0 ; then \ | |
139 | echo "\aMakefile has already been processed with 'make make'";\ | |
140 | exit 1; \ | |
141 | fi ; \ | |
142 | mv -f Makefile Makefile.old; \ | |
143 | echo "#The next line was generated by 'make make'" >Makefile ; \ | |
144 | echo "HOST=$(HOST)" >>Makefile ; \ | |
145 | echo >>Makefile ; \ | |
146 | sed "s/^#__$(HOST)__#//" < Makefile.old >>Makefile |