diff options
Diffstat (limited to 'libc/Makefile')
-rw-r--r-- | libc/Makefile | 132 |
1 files changed, 65 insertions, 67 deletions
diff --git a/libc/Makefile b/libc/Makefile index 0359619..83aded9 100644 --- a/libc/Makefile +++ b/libc/Makefile @@ -1,103 +1,101 @@ -# Copyright (C) 1995,1996 Robert de Bath <rdebath@cix.compulink.co.uk> +# Copyright (C) 1996,1997 Robert de Bath <robert@mayday.cix.co.uk> # This file is part of the Linux-8086 C library and is distributed # under the GNU Library General Public License. -TOP=. -include $(TOP)/Make.defs +ifeq ($(TOPDIR),) +# This should work, but .. +TOP=.. +else +TOP=$(TOPDIR)/libc +endif -SRC=crt0.c -OBJ=crt0.o +VERMAJOR=0 +VERMINOR=0 +VERPATCH=11 +VER=$(VERMAJOR).$(VERMINOR).$(VERPATCH) -TARGETS=$(OBJ) $(LIBC) -TXT=Makefile Make.defs README KERNEL COPYING Contributors MAGIC \ - New_subdir Pre_main Config_sh +CC=bcc +CCFLAGS=-I -I$(TOP)/include +DEFS=-D__LIBC__ -all: .config.dir .config.otype $(TARGETS) +include Make.defs -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 +CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS) -# 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_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 +MAKEPASS= \ + LIBC='$(LIBC)' CC='$(CC)' ARCH='$(ARCH)' CCFLAGS='$(CCFLAGS)' \ + DEFS='$(DEFS)' LIB_CPU='$(LIB_CPU)' LIB_OS='$(LIB_OS)' \ -tests: dummy - $(MAKE) -C tests -dummy: +all: $(OBJ) $(LIBC) + @: $(LIBC): transfer .config.dir @for i in `cat .config.dir` ; do \ - echo $(MAKE) -C $$i libc.a ; $(MAKE) -C $$i libc.a || exit 1 ; \ + $(MAKE) $(MAKEPASS) -C $$i all || exit 1 ; \ done +crt3.o: crt0.c Makefile + $(CC) -c $(CFLAGS) -D__LIBC_VER__='"$(VER)"' -o $@ crt0.c + +crt0.o: crt0.c Makefile + $(CC) -c $(CFLAGS) -D__LIBC_VER__='"$(VER)"' -o $@ crt0.c + +crtX.o: + @echo "You need to define the 'PLATFORM=...' variable" + @exit 1 + +############################################################################ + transfer: .config.dir - @echo Checking for transfers @for i in `cat .config.dir`; do \ - grep -q '^transfer' $$i/Makefile && $(MAKE) -s -C $$i $@ ; \ + grep -s '^transfer' $$i/Makefile && $(MAKE) -s -C $$i $@ ; \ done ; echo -n @[ -f kinclude/Used ] || \ { rm -f include/linuxmt ; \ ln -s $(ELKSSRC)/include/linuxmt include ; } -realclean: noconfig clean dellib +############################################################################ + +realclean: clean noconfig clean: - rm -f $(OBJ) $(LIBC) + rm -f *.o *.a @for i in */Makefile ; do \ $(MAKE) -C `dirname $$i` $@ || exit 1 ; \ done -dellib: - rm -f *.a +############################################################################ -############################################################################## +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 -.config.lst: Makefile Make.defs Config_sh - sh Config_sh - -config: +############################################################################ + +config: sh Config_sh +.config.dir: .config.lst + @grep '^[^:]*:+:' < .config.lst | sed 's/:.*//' > .config.tmp + @mv -f .config.tmp .config.dir + +.config.lst: Config_sh + sh Config_sh + noconfig: - rm -f .config.dir .config.lst .config.otype + rm -f .config.dir .config.lst .config.tmp -.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) $(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 - tar czf libc-8086-$(VER).tar.gz libc-$(VER) - rm -rf libc-$(VER) temp.tar - -dist_ver: dist - mv libc-8086-$(VER).tar.gz .. +############################################################################ + +Libc_version: echo $(VER) > ../Libc_version |