121 lines
2.5 KiB
Makefile
121 lines
2.5 KiB
Makefile
|
#
|
||
|
# Makefile for development tools.
|
||
|
#
|
||
|
# Last Mod Tue Apr 2 16:57:52 PST 1991, by rich@sendai
|
||
|
#
|
||
|
|
||
|
srcdir = .
|
||
|
subdir = Host-$(host)/Target-$(target)
|
||
|
|
||
|
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
|
||
|
AR = ar cqv
|
||
|
|
||
|
#### 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)" \
|
||
|
"AR=$(AR)" \
|
||
|
"RANLIB=$(RANLIB)" $(DO)) ; \
|
||
|
then true ; \
|
||
|
else exit 1 ; \
|
||
|
fi ;\
|
||
|
done
|
||
|
|
||
|
$(TARGETLIB): FORCE
|
||
|
@$(MAKE) subdir_do "DO=all"
|
||
|
$(RANLIB) $(TARGETLIB)
|
||
|
|
||
|
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$
|
||
|
# Revision 1.1 1991/04/04 18:56:39 rich
|
||
|
# Initial revision
|
||
|
#
|
||
|
#
|
||
|
#
|
||
|
|
||
|
# end of Makefile.in
|