1# Copyright (C) 1996,1997 Robert de Bath <robert@mayday.cix.co.uk> 2# This file is part of the Linux-8086 C library and is distributed 3# under the GNU Library General Public License. 4 5ifeq ($(TOPDIR),) 6# This should work, but .. 7TOP=.. 8else 9TOP=$(TOPDIR)/libc 10endif 11 12LIBBCC=$(TOP)/libbcc.a 13CC=bcc 14CCFLAGS=-I -I$(TOP)/include 15DEFS=-D__LIBC__ 16 17include Make.defs 18 19ifeq ($(VERSION),) 20include VERSION 21endif 22 23CFLAGS=-pipe -O2 -fno-strict-aliasing $(ARCH) $(CCFLAGS) $(DEFS) 24USERID=$(shell id -gn) 25GROUPID=$(shell id -un) 26 27############################################################################ 28 29MAKEPASS= \ 30 LIBC='$(LIBC)' CC='$(CC)' ARCH='$(ARCH)' CCFLAGS='-pipe -O2 -fno-strict-aliasing $(CCFLAGS)' \ 31 DEFS='$(DEFS)' LIB_CPU='$(LIB_CPU)' LIB_OS='$(LIB_OS)' \ 32 33 34all: $(OBJ) $(LIBC) $(LIBBCC) 35 @: 36 37$(LIBC): transfer .config.dir 38 @for i in `cat .config.dir` ; do \ 39 $(MAKE) $(MAKEPASS) -C $$i all || exit 1 ; \ 40 done 41 42$(LIBBCC): .config.dir 43 $(MAKE) $(MAKEPASS) LIBC=$(LIBBCC) -C bcc all 44 45crt3.o: crt0.c Makefile 46 $(CC) -c $(CFLAGS) -D__LIBC_VER__='"$(VERSION)"' -o $@ crt0.c 47 48crt0.o: crt0.c Makefile 49 $(CC) -c $(CFLAGS) -D__LIBC_VER__='"$(VERSION)"' -o $@ crt0.c 50 51crtg.o: crt0.c Makefile 52 $(CC) -c $(CFLAGS) -D__LIBC_VER__='"$(VERSION)"' -o $@ crt0.c 53 54crtX.o: 55 @echo "You need to define the 'PLATFORM=...' variable," 56 @echo "Preferably by doing make from `dirname \`pwd\``" 57 @exit 1 58 59############################################################################ 60 61transfer: .config.dir 62 @for i in `cat .config.dir`; do \ 63 grep -s '^transfer' $$i/Makefile && $(MAKE) -s -C $$i $@ ; \ 64 done ; echo -n 65 @[ -d include/linuxmt/. ] || \ 66 ln -s $(ELKSSRC)/include/linuxmt include 67 @[ -d include/arch/. ] || \ 68 ln -s $(ELKSSRC)/include/arch include 69 70############################################################################ 71 72realclean: clean noconfig 73 74clean: 75 rm -f *.o *.a 76 @for i in */Makefile ; do \ 77 $(MAKE) -C `dirname $$i` $@ || exit 1 ; \ 78 done 79 80############################################################################ 81 82install_incl: transfer 83 install -d $(DISTINCL)/include 84 rm -f $(DISTINCL)/include/linuxmt $(DISTINCL)/include/arch ||: 85 cp -LpR include/* $(DISTINCL)/include 86 -chown -R $(USERID):$(GROUPID) $(DISTINCL)/include 87 -chmod -R ugo-x,u=rwX,og=rX $(DISTINCL)/include 88 89############################################################################ 90 91config: 92 sh Config_sh 93 94.config.dir: .config.lst 95 @grep '^[^:]*:+:' < .config.lst | sed 's/:.*//' > .config.tmp 96 @mv -f .config.tmp .config.dir 97 98.config.lst: Config_sh 99 sh Config_sh 100 101noconfig: 102 rm -f .config.dir .config.lst .config.tmp 103 104############################################################################ 105