X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=klibc%2FMakefile;h=a512aa308aeda11c05d2f7454bc3d4d64a803ba0;hb=4272779706c53c635a3fa5431a4e8791402183b4;hp=ef5fbabff8fc06291be7a5331c3fdf097364ecbc;hpb=3555a14bae9f372385e4bc01368027cdbc29384c;p=elogind.git diff --git a/klibc/Makefile b/klibc/Makefile index ef5fbabff..a512aa308 100644 --- a/klibc/Makefile +++ b/klibc/Makefile @@ -1,5 +1,6 @@ VERSION := $(shell cat version) -SUBDIRS = klibc +SUBDIRS = klibc ash ipconfig nfsmount utils kinit gzip +SRCROOT = . all: @@ -10,14 +11,59 @@ klibc.spec: klibc.spec.in version .PHONY: rpm rpm: klibc.spec - +$(rpmbuild) -bb klibc.spec + +$(rpmbuild) -bb klibc.spec --target=$(ARCH) -%: - @set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done +$(CROSS)klibc.config: Makefile + rm -f $@ + echo 'ARCH=$(ARCH)' >> $@ + echo 'CROSS=$(CROSS)' >> $@ + echo 'KCROSS=$(KCROSS)' >> $@ + echo "CC=$(shell bash -c 'type -p $(CC)')" >> $@ + echo "LD=$(shell bash -c 'type -p $(LD)')" >> $@ + echo 'REQFLAGS=$(filter-out -I%,$(REQFLAGS))' >> $@ + echo 'OPTFLAGS=$(OPTFLAGS)' >> $@ + echo 'LDFLAGS=$(LDFLAGS)' >> $@ + echo "STRIP=$(shell bash -c 'type -p $(STRIP)')" >> $@ + echo 'STRIPFLAGS=$(STRIPFLAGS)' >> $@ + echo 'EMAIN=$(EMAIN)' >> $@ + echo 'BITSIZE=$(BITSIZE)' >> $@ + echo 'INSTALLDIR=$(INSTALLDIR)' >> $@ -clean: - @set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done +$(CROSS)klcc: klcc.in $(CROSS)klibc.config makeklcc.pl + $(PERL) makeklcc.pl klcc.in $(CROSS)klibc.config \ + $(shell bash -c 'type -p $(PERL)') > $@ || ( rm -f $@ ; exit 1 ) + chmod a+x $@ -spotless: +%: local-% @set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done + +local-all: $(CROSS)klcc + +local-clean: + rm -f klibc.config klcc + +local-spotless: rm -f klibc.spec *~ tags + +local-install: $(CROSS)klcc + mkdir -p $(INSTALLROOT)$(bindir) + mkdir -p $(INSTALLROOT)$(mandir)/man1 + mkdir -p $(INSTALLROOT)$(SHLIBDIR) + mkdir -p $(INSTALLROOT)$(INSTALLDIR) + -rm -rf $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include + mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include + mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib + mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin + set -xe ; for d in linux scsi asm-$(ARCH) asm-generic $(ASMARCH); do \ + mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)include/$$d ; \ + for r in $(KRNLSRC)/include $(KRNLOBJ)/include $(KRNLOBJ)/include2 ; do \ + [ ! -d $$r/$$d ] || \ + cp -rfL $$r/$$d/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/$$d/. ; \ + done ; \ + done + cd $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include && ln -sf asm-$(ARCH) asm + cp -rf include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/. + $(INSTALL_DATA) klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1 + $(INSTALL_EXEC) $(KCROSS)klcc $(INSTALLROOT)$(bindir) + +-include MCONFIG