1991-04-04 19:01:18 +00:00
|
|
|
#
|
|
|
|
# Makefile for development tools.
|
|
|
|
#
|
1991-04-09 23:52:42 +00:00
|
|
|
# Last Mod Mon Apr 8 22:31:28 PDT 1991, by rich@sendai
|
1991-04-04 19:01:18 +00:00
|
|
|
#
|
|
|
|
|
|
|
|
srcdir = .
|
1991-04-09 23:52:42 +00:00
|
|
|
#subdir = Host-$(host)/Target-$(target)
|
1991-04-04 19:01:18 +00:00
|
|
|
|
|
|
|
OSLAYER = clib/os-layer
|
|
|
|
OSINCLUDE = $(OSLAYER)/include
|
|
|
|
|
|
|
|
#CC = gcc -b$(target) # -B$(srcdir)/../gas/Host-$(host)/Target-$(target)/
|
|
|
|
#CFLAGS = -g -nostdinc -nostdlib -I- -I$(srcdir) -I$(srcdir)/../include -I$(OSINCLUDE)
|
|
|
|
|
|
|
|
# These are roughly topologically sorted in order to make porting more
|
|
|
|
# streamlined.
|
|
|
|
|
|
|
|
SUBDIRS =
|
|
|
|
NONSUBDIRS =
|
|
|
|
SUBDIRS_INCLUDE = machine-dep
|
|
|
|
|
|
|
|
TARGETLIB = libc.a
|
|
|
|
RANLIB = ranlib
|
1991-04-09 23:52:42 +00:00
|
|
|
AR = ar
|
|
|
|
AR_FLAGS = cqv
|
1991-04-04 19:01:18 +00:00
|
|
|
|
|
|
|
#### host and target specific makefile fragments come in here.
|
|
|
|
|
|
|
|
all: $(TARGETLIB)
|
|
|
|
|
|
|
|
subdir_do: $(SUBDIRS) $(TARGETDIRS)
|
|
|
|
for i in $(SUBDIRS); \
|
|
|
|
do \
|
|
|
|
if (cd $(srcdir)/$$i`if [ -d $(srcdir)/$$i.$(target) ] ; \
|
|
|
|
then echo .$(target) ; fi`/$(subdir); \
|
|
|
|
$(MAKE) \
|
|
|
|
"OSLAYER=../$(OSLAYER)" \
|
|
|
|
"TARGETLIB=../$(srcdir)/$(subdir)/$(TARGETLIB)" \
|
1991-04-09 23:52:42 +00:00
|
|
|
"AR=$(AR)" "AR_FLAGS=$(AR_FLAGS)" \
|
1991-04-04 19:01:18 +00:00
|
|
|
"RANLIB=$(RANLIB)" $(DO)) ; \
|
|
|
|
then true ; \
|
|
|
|
else exit 1 ; \
|
|
|
|
fi ;\
|
|
|
|
done
|
|
|
|
|
|
|
|
$(TARGETLIB): FORCE
|
|
|
|
@$(MAKE) subdir_do "DO=all"
|
1991-04-09 23:52:42 +00:00
|
|
|
# $(RANLIB) $(TARGETLIB)
|
1991-04-04 19:01:18 +00:00
|
|
|
|
|
|
|
oldlibc.a: $(SUBDIRS) FORCE
|
|
|
|
@$(MAKE) subdir_do DO=all
|
|
|
|
rm -rf TEMP
|
|
|
|
mkdir TEMP
|
|
|
|
# Extract files from all subdirs, making sure that none overwrites others.
|
|
|
|
cd TEMP; for i in $(SUBDIRS); do\
|
|
|
|
ar x ../$$i/library.a;\
|
|
|
|
chmod a-w *;\
|
|
|
|
done;
|
|
|
|
# Be sure if interrupted, no libc.a exists.
|
|
|
|
rm -f libc.new
|
|
|
|
cd TEMP; ar cq ../libc.new *
|
|
|
|
ranlib libc.new
|
|
|
|
mv libc.new libc.a
|
|
|
|
rm -rf TEMP
|
|
|
|
|
|
|
|
clean:
|
|
|
|
rm -rf *.a TEMP errs core *.o *~ \#* TAGS *.E
|
|
|
|
$(MAKE) subdir_do DO=clean
|
|
|
|
|
|
|
|
install: all install_include install_crt install_gnulib install_lib
|
|
|
|
|
|
|
|
# When installing include files, be sure that machine-dependent
|
|
|
|
# files override machine-independent files.
|
|
|
|
# Might be better to check for collisions? FIXME
|
|
|
|
install_crt:
|
|
|
|
$(MAKE) SUBDIRS=machine-dep DO=install_crt
|
|
|
|
|
|
|
|
install_gnulib:
|
|
|
|
$(MAKE) SUBDIRS=gnulib DO=install_gnulib
|
|
|
|
|
|
|
|
install_include:
|
|
|
|
$(MAKE) SUBDIRS=$(SUBDIRS_INCLUDE) DO=install_include
|
|
|
|
|
|
|
|
install_lib: libc.a
|
|
|
|
cp libc.a $(DESTDIR)/lib/libc.a
|
|
|
|
|
|
|
|
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 -srcdir=$(srcdir) -host=$(host) $(target) -norecurse)
|
|
|
|
|
|
|
|
#
|
|
|
|
# $Log$
|
1991-04-09 23:52:42 +00:00
|
|
|
# Revision 1.2 1991/04/09 23:52:40 rich
|
|
|
|
# First cut config. builds in place.
|
|
|
|
#
|
|
|
|
# Revision 1.1 1991/04/04 18:56:39 rich
|
1991-04-04 19:01:18 +00:00
|
|
|
# Initial revision
|
|
|
|
#
|
|
|
|
#
|
|
|
|
#
|
|
|
|
|
|
|
|
# end of Makefile.in
|