chiark / gitweb /
[PATCH] klibc: strlcpy/strlcat - don't alter destination if size == 0
[elogind.git] / klibc / Makefile
index eb8f55570d15c430e9741b9cf48e0178e6ad0010..7a9b92e8d61b1ed0c95bfd9b7662c5bb5d43af04 100644 (file)
@@ -17,6 +17,7 @@ $(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))' >> $@
@@ -26,7 +27,10 @@ $(CROSS)klibc.config: Makefile
        echo 'STRIPFLAGS=$(STRIPFLAGS)' >> $@
        echo 'EMAIN=$(EMAIN)' >> $@
        echo 'BITSIZE=$(BITSIZE)' >> $@
-       echo 'INSTALLDIR=$(INSTALLDIR)' >> $@
+       echo 'prefix=$(INSTALLDIR)' >> $@
+       echo 'bindir=$(INSTALLDIR)/$(KCROSS)bin' >> $@
+       echo 'libdir=$(INSTALLDIR)/$(KCROSS)lib' >> $@
+       echo 'includedir=$(INSTALLDIR)/$(KCROSS)include' >> $@
 
 $(CROSS)klcc: klcc.in $(CROSS)klibc.config makeklcc.pl
        $(PERL) makeklcc.pl klcc.in $(CROSS)klibc.config \
@@ -49,19 +53,20 @@ local-install: $(CROSS)klcc
        mkdir -p $(INSTALLROOT)$(mandir)/man1
        mkdir -p $(INSTALLROOT)$(SHLIBDIR)
        mkdir -p $(INSTALLROOT)$(INSTALLDIR)
-       -rm -rf $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)include
-       mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)include
-       mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)lib
-       mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)bin
-       set -xe ; for d in linux asm asm-generic ; do \
+       -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 ; \
-         cp -rfL $(KRNLSRC)/include/$$d/.  $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)include/$$d/. ; \
-         cp -rfL $(KRNLOBJ)/include/$$d/.  $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)include/$$d/. ; \
-         [ ! -d $(KRNLOBJ)/include2/$$d ] || \
-           cp -rfL $(KRNLOBJ)/include2/$$d/. $(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
-       cp -rf include/. $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)include/.
-       $(INSTALL_DATA) klcc.1 $(INSTALLROOT)$(mandir)/man1/$(CROSS)klcc.1
-       $(INSTALL_EXEC) $(CROSS)klcc $(INSTALLROOT)$(bindir)
+       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