aboutsummaryrefslogtreecommitdiff
path: root/Makefile.in
blob: 80a40aabc2b747d5647654ff5eebc292be7cdd59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#
# Makefile for directory with subdirs to build.
#
# Last Mod Sat May 18 17:24:38 PDT 1991, by rich@cygint.cygnus.com
#

# $Id$

srcdir = .
destdir = /usr/local

#CC = gcc -b$(target) # -B$(srcdir)/../gas/Host-$(host)/Target-$(target)/
#CFLAGS = -g -nostdinc -nostdlib -I- -I/usr/local/lib/gcc/$(target)/1.92/include -I$(srcdir) -I$(srcdir)/../include -I$(OSINCLUDE)

RANLIB = ranlib
AR = ar
AR_FLAGS = cqv

SUBDIRS = libiberty bfd binutils ld gas gcc gnulib
OTHERS = 

#### host and target specific makefile fragments come in here.
###

all:
	$(MAKE) subdir_do DO=all "DODIRS=$(SUBDIRS) $(OTHERS)"

subdir_do: force
	for i in $(DODIRS); \
	  do \
	if [ -d $(srcdir)/$$i -o -d $(srcdir)/$$i.$(target) ] ; then \
	    if (cd $(srcdir)/$$i`if [ -d $(srcdir)/$$i.$(target) ] ; \
		then echo .$(target) ; fi`$(subdir); \
		$(MAKE) \
		    "destdir=$(destdir)" \
		    "AR=$(AR)" \
		    "AR_FLAGS=$(AR_FLAGS)" \
		    "RANLIB=$(RANLIB)" $(DO)) ; \
	    then true ; \
	    else exit 1 ; \
	    fi ;\
	fi ; \
	  done

bootstrap:
	$(MAKE) all
	$(MAKE) stage1
	$(MAKE) pass "stagepass=stage1"
	$(MAKE) stage2
	$(MAKE) pass "stagepass=stage2"

bootstrap2:
	$(MAKE) pass "stagepass=stage1"
	$(MAKE) stage2
	$(MAKE) pass "stagepass=stage2"

bootstrap3:
	$(MAKE) pass "stagepass=stage2"

pass:
	$(MAKE) subdir_do DO=all "DODIRS=$(SUBDIRS)" \
		"CC=$(srcdir)/../gcc`if [ -d $(srcdir)/gcc.$(target) ] ; \
		then echo .$(target) ; fi`$(subdir)/$(stagepass)/gcc -O \
		-B$(srcdir)/../gcc`if [ -d $(srcdir)/gcc.$(target) ] ; \
		then echo .$(target) ; fi`$(subdir)/$(stagepass)/ \
		-B$(srcdir)/../gas`if [ -d $(srcdir)/gas.$(target) ] ; \
		then echo .$(target) ; fi`$(subdir)/$(stagepass)/" \
		"AR=$(srcdir)/../binutils`if [ -d $(srcdir)/binutils.$(target) ] ; \
		then echo .$(target) ; fi`$(subdir)/$(stagepass)/ar" \
		"RANLIB=$(srcdir)/../binutils`if [ -d $(srcdir)/binutils.$(target) ] ; \
		then echo .$(target) ; fi`$(subdir)/$(stagepass)/ranlib" \
		"LOADLIBES=$(srcdir)/../gnulib`if [ -d $(srcdir)/binutils.$(target) ] ; \
		then echo .$(target) ; fi`$(subdir)/$(stagepass)/gnulib.a /lib/libc.a" \
		"LDFLAGS=-nostdlib /lib/crt0.o \
		-B$(srcdir)/../ld`if [ -d $(srcdir)/ld.$(target) ] ; \
		then echo .$(target) ; fi`$(subdir)/$(stagepass)/"


stage1:
	$(MAKE) subdir_do DO=stage1 "DODIRS=$(SUBDIRS)"

stage2:
	$(MAKE) subdir_do DO=stage2 "DODIRS=$(SUBDIRS)"

stage3:
	$(MAKE) subdir_do DO=stage3 "DODIRS=$(SUBDIRS)"

stage4:
	$(MAKE) subdir_do DO=stage4 "DODIRS=$(SUBDIRS)"

de-stage1:; $(MAKE) subdir_do DO=de-stage1 "DODIRS=$(SUBDIRS)"
de-stage2:; $(MAKE) subdir_do DO=de-stage2 "DODIRS=$(SUBDIRS)"
de-stage3:; $(MAKE) subdir_do DO=de-stage3 "DODIRS=$(SUBDIRS)"
de-stage4:; $(MAKE) subdir_do DO=de-stage4 "DODIRS=$(SUBDIRS)"

clean:
	rm -rf *.a TEMP errs core *.o *~ \#* TAGS *.E
	$(MAKE) subdir_do DO=clean "DODIRS=$(SUBDIRS) $(OTHERS)"

install:
	$(MAKE) subdir_do DO=install "DODIRS=$(SUBDIRS) $(OTHERS)"

etags tags: TAGS

TAGS: FORCE
	etags `$(MAKE) ls`

ls:
	@echo Makefile
	@for i in $(SUBDIRS); \
	do \
		(cd $$i; \
			pwd=`pwd`; \
			wd=`basename $$pwd`; \
			for j in `$(MAKE) ls`; \
			do \
				echo $$wd/$$j; \
			done) \
	done

force:

# with the gnu make, this is done automatically.

Makefile: $(srcdir)/Makefile.in $(srcdir)/configure
	(cd $(srcdir) ; \
		./configure +destdir=$(destdir) +norecurse \
		 `if [ "$(srcdir)" != "." ] ; then echo +f; fi` \
		$(host) +target=$(target))

#
# $Log$
# Revision 1.12  1991/05/19 00:36:44  rich
# Added gdb.
#
# Revision 1.11  1991/05/03  21:30:41  gnu
# Rename getopt to libiberty.
#
# Revision 1.10  1991/04/24  16:50:53  rich
# Three staging checkpoint.
#
# Revision 1.9  1991/04/17  01:34:36  rich
# Added getopt for binutils, fixed problem with host dependancies in
# configure.template.
#
# Revision 1.8  1991/04/15  23:43:45  rich
# Now handles multiple hosts and targets.
#
# Revision 1.7  1991/04/13  13:06:16  tiemann
# Don't depend `install' on `all'.  Actually, the way things work, all
# depends on things being incrementally installed, and install depends
# on everything happening in a topological fashion.
#
# This will need to be worked on further, but for now it's ok.
#
# Revision 1.6  1991/04/13  10:04:14  rich
# Now can build gas for a29k on a29k.
#
# Revision 1.5  1991/04/13  07:40:41  rich
# Fixed an ordering bug.  Now everything is built, and then installed.
#
# Revision 1.4  1991/04/13  02:11:09  rich
# Config cut 3.  We now almost install a29k.
#
# Revision 1.3  1991/04/11  02:41:53  rich
# Cut 2 config.  Subdirs.
#
#
#

# end of Makefile.in