diff options
Diffstat (limited to 'libc/Makefile')
-rw-r--r-- | libc/Makefile | 73 |
1 files changed, 51 insertions, 22 deletions
diff --git a/libc/Makefile b/libc/Makefile index a88ffb2..d533320 100644 --- a/libc/Makefile +++ b/libc/Makefile @@ -12,51 +12,86 @@ TARGETS=$(OBJ) $(LIBC) TXT=Makefile Make.defs README KERNEL COPYING Contributors MAGIC \ New_subdir Pre_main Config_sh -all: .config.lst $(TARGETS) +all: .config.dir .config.otype $(TARGETS) -install: all +install: all install_incl install -d $(BCCHOME) + install -d $(LIBDIR)/$(LIB_CPU) + install -m 644 crt0.o $(LIBDIR)/$(LIB_CPU) + install -m 644 $(LIBC) $(LIBDIR)/$(LIB_CPU) + -install -d $(DIST)/usr/lib + -install -m 644 error/liberror.txt $(DIST)/usr/lib/liberror.txt + +# I've changed this so it'll be easier to make a binary dist. +old_install_incl: rm -rf $(BCCHOME)/include ln -s $(TOPDIR)/libc/include $(BCCHOME)/include - install -d $(LIBDIR)/i86 - install -m 644 crt0.o $(LIBDIR)/i86 - install -m 644 $(LIBC) $(LIBDIR)/i86 - -install -m 644 error/liberror.txt /usr/lib + +install_incl: + rm -rf $(BCCHOME)/include + cp -pr include $(BCCHOME)/include + if [ -f kinclude/Used ] ; \ + then cp -pr kinclude/arch $(BCCHOME)/include/arch ; \ + else rm -rf $(BCCHOME)/include/linuxmt ; \ + ln -s $(ELKSSRC)/include/linuxmt $(BCCHOME)/include ; \ + fi + -chown -R root:root $(BCCHOME)/include 2>/dev/null + -chmod -R u=rwX,og=rX $(BCCHOME)/include tests: dummy - make -C tests + $(MAKE) -C tests dummy: -$(LIBC): .config.dir transfer +$(LIBC): transfer .config.dir @for i in `cat .config.dir` ; do \ - echo make -C $$i libc.a ; make -C $$i libc.a || exit 1 ; \ + echo $(MAKE) -C $$i libc.a ; $(MAKE) -C $$i libc.a || exit 1 ; \ done -realclean: dummy - rm -f $(OBJ) $(LIBC) .config.dir - @for i in */Makefile ; do \ - grep -q '^clean:' $$i && make -C `dirname $$i` clean ; \ +transfer: .config.dir + @echo Checking for transfers + @for i in `cat .config.dir`; do \ + grep -q '^transfer' $$i/Makefile && $(MAKE) -s -C $$i $@ ; \ done ; echo -n + @[ -f kinclude/Used ] || \ + { rm -f include/linuxmt ; \ + ln -s $(ELKSSRC)/include/linuxmt include ; } -clean: .config.dir +realclean: noconfig clean dellib + +clean: + rm -f $(OBJ) $(LIBC) @for i in */Makefile ; do \ - make -C `dirname $$i` $@ || exit 1 ; \ + $(MAKE) -C `dirname $$i` $@ || exit 1 ; \ done +dellib: + rm -f libc*.a libdos.a + +############################################################################## + .config.lst: Makefile Make.defs Config_sh sh Config_sh config: sh Config_sh +noconfig: + rm -f .config.dir .config.lst .config.otype + .config.dir: .config.lst @grep '^[^:]*:+:' < .config.lst | sed 's/:.*//' > .config.dir +.config.otype: dummy + @[ -f .config.otype ] || echo $(PLATFORM) > .config.otype + @[ "$(PLATFORM)" = "`cat .config.otype `" ] || $(MAKE) -$(MAKEFLAGS) clean + @rm -f .config.otype + @echo $(PLATFORM) > .config.otype + dist: clean -rm -f include/linuxmt tar cf temp.tar \ - $(TXT) $(TARGETS) $(SRC) include \ + $(TXT) $(SRC) include \ `for i in */Makefile */Config; do dirname $$i; done | sort -u` rm -rf libc-$(VER) mkdir libc-$(VER) ; cd libc-$(VER) ; tar xf ../temp.tar @@ -66,9 +101,3 @@ dist: clean dist_ver: dist mv libc-8086-$(VER).tar.gz .. echo $(VER) > ../Libc_version - -transfer: dummy - @echo Checking for transfers - @for i in `cat .config.dir`; do \ - grep -q '^transfer' $$i/Makefile && make -C $$i $@ ; \ - done ; echo -n |