1 VERSION := $(shell cat version)
2 SUBDIRS = klibc ash ipconfig nfsmount utils kinit gzip
7 rpmbuild = $(shell which rpmbuild 2>/dev/null || which rpm)
9 klibc.spec: klibc.spec.in version
10 sed -e 's/@@VERSION@@/$(VERSION)/g' < $< > $@
14 +$(rpmbuild) -bb klibc.spec --target=$(ARCH)
16 $(CROSS)klibc.config: Makefile
18 echo 'ARCH=$(ARCH)' >> $@
19 echo 'CROSS=$(CROSS)' >> $@
20 echo 'KCROSS=$(KCROSS)' >> $@
21 echo "CC=$(shell bash -c 'type -p $(CC)')" >> $@
22 echo "LD=$(shell bash -c 'type -p $(LD)')" >> $@
23 echo 'REQFLAGS=$(filter-out -I%,$(REQFLAGS))' >> $@
24 echo 'OPTFLAGS=$(OPTFLAGS)' >> $@
25 echo 'LDFLAGS=$(LDFLAGS)' >> $@
26 echo "STRIP=$(shell bash -c 'type -p $(STRIP)')" >> $@
27 echo 'STRIPFLAGS=$(STRIPFLAGS)' >> $@
28 echo 'EMAIN=$(EMAIN)' >> $@
29 echo 'BITSIZE=$(BITSIZE)' >> $@
30 echo 'INSTALLDIR=$(INSTALLDIR)' >> $@
32 $(CROSS)klcc: klcc.in $(CROSS)klibc.config makeklcc.pl
33 $(PERL) makeklcc.pl klcc.in $(CROSS)klibc.config \
34 $(shell bash -c 'type -p $(PERL)') > $@ || ( rm -f $@ ; exit 1 )
38 @set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done
40 local-all: $(CROSS)klcc
43 rm -f klibc.config klcc
46 rm -f klibc.spec *~ tags
48 local-install: $(CROSS)klcc
49 mkdir -p $(INSTALLROOT)$(bindir)
50 mkdir -p $(INSTALLROOT)$(mandir)/man1
51 mkdir -p $(INSTALLROOT)$(SHLIBDIR)
52 mkdir -p $(INSTALLROOT)$(INSTALLDIR)
53 -rm -rf $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
54 mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
55 mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
56 mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
57 set -xe ; for d in linux scsi asm-$(ARCH) asm-generic $(ASMARCH); do \
58 mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)include/$$d ; \
59 for r in $(KRNLSRC)/include $(KRNLOBJ)/include $(KRNLOBJ)/include2 ; do \
61 cp -rfL $$r/$$d/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/$$d/. ; \
64 cd $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include && ln -sf asm-$(ARCH) asm
65 cp -rf include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/.
66 $(INSTALL_DATA) klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1
67 $(INSTALL_EXEC) $(KCROSS)klcc $(INSTALLROOT)$(bindir)