From af1112c8d97830aa66715239e8d4f94811398ac6 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Thu, 12 Oct 2000 15:30:49 +0000 Subject: Makefile update --- Makefile | 2 +- Rules.mak | 106 +++++++++++++++++++++++++++++++++++++ libc/inet/Makefile | 2 +- libc/inet/rpc/Makefile | 2 +- libc/misc/assert/Makefile | 2 +- libc/misc/ctype/Makefile | 2 +- libc/misc/fnmatch/Makefile | 2 +- libc/misc/glob/Makefile | 2 +- libc/misc/internals/Makefile | 2 +- libc/misc/lsearch/Makefile | 2 +- libc/misc/regex/Makefile | 2 +- libc/misc/time/Makefile | 2 +- libc/pwd_grp/Makefile | 2 +- libc/signal/Makefile | 2 +- libc/stdio/Makefile | 2 +- libc/string/Makefile | 6 +-- libc/sysdeps/linux/common/Makefile | 2 +- libc/sysdeps/linux/i386/Makefile | 2 +- libc/termios/Makefile | 2 +- libc/unistd/Makefile | 2 +- test/string/Makefile | 2 +- test/string/string.c | 7 --- 22 files changed, 128 insertions(+), 29 deletions(-) create mode 100644 Rules.mak diff --git a/Makefile b/Makefile index d87480d8c..0ec7c135a 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ #-------------------------------------------------------- # -#There are a number of configurable options in Rules.make +#There are a number of configurable options in Rules.mak # #-------------------------------------------------------- diff --git a/Rules.mak b/Rules.mak new file mode 100644 index 000000000..7191a56b3 --- /dev/null +++ b/Rules.mak @@ -0,0 +1,106 @@ +# Rules.make for uCLibc +# +# This file contains rules which are shared between multiple Makefiles. +# Feel free to adjust to taste... +# -Erik Andersen < andersee@debian.org> +# +# Copyright (C) 2000 by Lineo, inc. +# +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU Library General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) any +# later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., 59 Temple +# Place, Suite 330, Boston, MA 02111-1307 USA +# +# Derived in part from the Linux-8086 C library, the GNU C Library, and several +# other sundry sources. Files within this library are copyright by their +# respective copyright holders. + +PROG := libc.a +VERSION := 0.95 +BUILDTIME := $(shell TZ=UTC date --utc "+%Y.%m.%d-%H:%M%z") +export VERSION + +# Set the following to `true' to make a debuggable build. +# Do not enable this for production builds... +DODEBUG = false + +# This specifies which malloc implementation is used. +# "malloc-simple" is very, very small, but is also very, very dumb +# and does not try to make good use of memory or clean up after itself. +# "malloc" on the other hand is a bit bigger, but is pretty smart thereby +# minimizing memory wastage and reusing already allocated memory. This +# can be lots faster and safer IMHO. +#MALLOC = malloc-simple +MALLOC = malloc + +# If you want large file summit support (greater then 2 Gib), +# turn this on. This has no effect unless your kernel supports +# lfs. This surrently does nothing... +DOLFS = false + +# Disable this if your CPU has a memory management unit (MMU) +HAS_MMU = true + +# Disable this if your CPU has a floating point unit (FPU) +HAS_FLOATS = true + +# If you are running a cross compiler, you may want to set this +# to something more interesting... +CROSS = #powerpc-linux- +CC = $(CROSS)gcc +STRIPTOOL = $(CROSS)strip + + +#-------------------------------------------------------- +# Nothing beyond this point should need be touched by mere +# mortals so you should probably leave this stuff alone. +#-------------------------------------------------------- + +GCCINCDIR = $(shell gcc -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp") + +ARFLAGS=r + +CCFLAGS= $(OPTIMIZATION) -fno-builtin -nostdinc $(CPUFLAGS) -Dlinux -D__linux__ -I$(TOPDIR)include -I$(GCCINCDIR) -I. -D__PIC__ -D__LIBC__ +CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS) + +ifeq ($(DODEBUG),true) + CFLAGS += -Wall -g -D__PIC__ + LDFLAGS = -nostdlib +else + CFLAGS += -Wall -D__PIC__ #-fomit-frame-pointer + LDFLAGS = -s -nostdlib +endif + +ifndef $(PREFIX) + PREFIX = `pwd`/_install +endif + +ifneq ($(HAS_MMU),true) + CFLAGS += -D__HAS_NO_MMU__ +endif + +ifneq ($(HAS_FLOATS),true) + CFLAGS += -D__HAS_NO_FLOATS__ +endif + + + +# Use '-ffunction-sections -fdata-sections' and '--gc-sections' if they work +# to try and strip out any unused junk automagically.... +# +ifeq ($(shell $(CC) -ffunction-sections -fdata-sections -S \ + -o /dev/null -xc /dev/null && $(LD) --gc-sections -v >/dev/null && echo 1),1) + CFLAGS += -ffunction-sections -fdata-sections + LDFLAGS += --gc-sections +endif + + diff --git a/libc/inet/Makefile b/libc/inet/Makefile index 572263eb1..8c846370f 100644 --- a/libc/inet/Makefile +++ b/libc/inet/Makefile @@ -21,7 +21,7 @@ # respective copyright holders. TOPDIR=../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a DIRS = #rpc diff --git a/libc/inet/rpc/Makefile b/libc/inet/rpc/Makefile index a9a4717ac..dfa68e055 100644 --- a/libc/inet/rpc/Makefile +++ b/libc/inet/rpc/Makefile @@ -21,7 +21,7 @@ # respective copyright holders. TOPDIR=../../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a CFLAGS+=-I$(TOPDIR)include/linux diff --git a/libc/misc/assert/Makefile b/libc/misc/assert/Makefile index 7dddd7d3e..68cbaec82 100644 --- a/libc/misc/assert/Makefile +++ b/libc/misc/assert/Makefile @@ -21,7 +21,7 @@ # respective copyright holders. TOPDIR=../../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a CSRC=__assert.c diff --git a/libc/misc/ctype/Makefile b/libc/misc/ctype/Makefile index 7c5d5fae6..216855544 100644 --- a/libc/misc/ctype/Makefile +++ b/libc/misc/ctype/Makefile @@ -21,7 +21,7 @@ # respective copyright holders. TOPDIR=../../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a CSRC=ctype.c diff --git a/libc/misc/fnmatch/Makefile b/libc/misc/fnmatch/Makefile index 6241cdac8..3ee0d1d02 100644 --- a/libc/misc/fnmatch/Makefile +++ b/libc/misc/fnmatch/Makefile @@ -21,7 +21,7 @@ # respective copyright holders. TOPDIR=../../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a CSRC=fnmatch.c diff --git a/libc/misc/glob/Makefile b/libc/misc/glob/Makefile index 62eac1ef0..83f9383c6 100644 --- a/libc/misc/glob/Makefile +++ b/libc/misc/glob/Makefile @@ -21,7 +21,7 @@ # respective copyright holders. TOPDIR=../../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a CSRC=glob.c diff --git a/libc/misc/internals/Makefile b/libc/misc/internals/Makefile index eb4e61ac8..3bddcfdc1 100644 --- a/libc/misc/internals/Makefile +++ b/libc/misc/internals/Makefile @@ -21,7 +21,7 @@ # respective copyright holders. TOPDIR=../../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a CSRC=itoa.c ltoa.c ltostr.c diff --git a/libc/misc/lsearch/Makefile b/libc/misc/lsearch/Makefile index 604207226..5a0fb60a6 100644 --- a/libc/misc/lsearch/Makefile +++ b/libc/misc/lsearch/Makefile @@ -21,7 +21,7 @@ # respective copyright holders. TOPDIR=../../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a CSRC=lsearch.c diff --git a/libc/misc/regex/Makefile b/libc/misc/regex/Makefile index 7289186f7..8480c650e 100644 --- a/libc/misc/regex/Makefile +++ b/libc/misc/regex/Makefile @@ -21,7 +21,7 @@ # respective copyright holders. TOPDIR=../../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a CSRC=rx.c diff --git a/libc/misc/time/Makefile b/libc/misc/time/Makefile index e5387a56a..aac0d7762 100644 --- a/libc/misc/time/Makefile +++ b/libc/misc/time/Makefile @@ -21,7 +21,7 @@ # respective copyright holders. TOPDIR=../../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a CSRC=localtime.c gmtime.c asctime.c ctime.c asc_conv.c tm_conv.c mktime.c \ diff --git a/libc/pwd_grp/Makefile b/libc/pwd_grp/Makefile index c4875c208..b6ee4df8a 100644 --- a/libc/pwd_grp/Makefile +++ b/libc/pwd_grp/Makefile @@ -21,7 +21,7 @@ # respective copyright holders. TOPDIR=../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a CSRC=__getpwent.c pwent.c getpwnam.c getpwuid.c putpwent.c getpw.c fgetpwent.c \ diff --git a/libc/signal/Makefile b/libc/signal/Makefile index ab2a996c5..4014fd11d 100644 --- a/libc/signal/Makefile +++ b/libc/signal/Makefile @@ -21,7 +21,7 @@ # respective copyright holders. TOPDIR=../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a CSRC=raise.c diff --git a/libc/stdio/Makefile b/libc/stdio/Makefile index 874dcae7f..6955ed87f 100644 --- a/libc/stdio/Makefile +++ b/libc/stdio/Makefile @@ -21,7 +21,7 @@ # respective copyright holders. TOPDIR=../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a diff --git a/libc/string/Makefile b/libc/string/Makefile index e4f332ba4..decaa2459 100644 --- a/libc/string/Makefile +++ b/libc/string/Makefile @@ -21,12 +21,12 @@ # respective copyright holders. TOPDIR=../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a MSRC=string.c MOBJ=strlen.o strcat.o strcpy.o strcmp.o strncat.o strncpy.o strncmp.o \ - strchr.o strrchr.o strdup.o memcpy.o memccpy.o memset.o \ + strrchr.o strdup.o memcpy.o memccpy.o memset.o \ memmove.o memcmp.o memchr.o MSRC1=index.c @@ -34,7 +34,7 @@ MOBJ1=index.o rindex.o CSRC=strpbrk.c strsep.c strstr.c strtok.c strcspn.c config.c \ strspn.c strcasecmp.c strncasecmp.c strerror.c sys_siglist.c \ - bcopy.c bzero.c bcmp.c + bcopy.c bzero.c bcmp.c strchr.c COBJS=$(patsubst %.c,%.o, $(CSRC)) OBJS=$(MOBJ) $(MOBJ1) $(COBJS) diff --git a/libc/sysdeps/linux/common/Makefile b/libc/sysdeps/linux/common/Makefile index 973531d98..6ab1ff90b 100644 --- a/libc/sysdeps/linux/common/Makefile +++ b/libc/sysdeps/linux/common/Makefile @@ -22,7 +22,7 @@ # respective copyright holders. TOPDIR=../../../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a #The file makefile.objs defines $(COBJS) diff --git a/libc/sysdeps/linux/i386/Makefile b/libc/sysdeps/linux/i386/Makefile index b91986b0b..e4df92b8f 100644 --- a/libc/sysdeps/linux/i386/Makefile +++ b/libc/sysdeps/linux/i386/Makefile @@ -21,7 +21,7 @@ # respective copyright holders. TOPDIR=../../../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a ASFLAGS=$(CFLAGS) diff --git a/libc/termios/Makefile b/libc/termios/Makefile index 7bcb35407..983567ab7 100644 --- a/libc/termios/Makefile +++ b/libc/termios/Makefile @@ -21,7 +21,7 @@ # respective copyright holders. TOPDIR=../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a MSRC=termios.c diff --git a/libc/unistd/Makefile b/libc/unistd/Makefile index 1095e1a37..a9593c36b 100644 --- a/libc/unistd/Makefile +++ b/libc/unistd/Makefile @@ -21,7 +21,7 @@ # respective copyright holders. TOPDIR=../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak LIBC=$(TOPDIR)libc.a diff --git a/test/string/Makefile b/test/string/Makefile index 5384c9dec..e8725db3f 100644 --- a/test/string/Makefile +++ b/test/string/Makefile @@ -1,5 +1,5 @@ TOPDIR=../../ -include $(TOPDIR)Rules.make +include $(TOPDIR)Rules.mak # Check if 'ls -sh' works or not LSFLAGS = $(shell if ls -sh >/dev/null 2>&1; \ diff --git a/test/string/string.c b/test/string/string.c index 2492755d0..c59262717 100644 --- a/test/string/string.c +++ b/test/string/string.c @@ -580,21 +580,14 @@ test_strsep (void) equal(one+2, "b", 49); equal(one+4, "c", 50); -printf( "A\n"); { char text[] = "This,is,a,test"; char *list = strdup (text); -printf( "B\n"); equal (strsep (&list, ","), "This", 51); -printf( "C\n"); equal (strsep (&list, ","), "is", 52); -printf( "D\n"); equal (strsep (&list, ","), "a", 53); -printf( "E\n"); equal (strsep (&list, ","), "test", 54); -printf( "F\n"); check (strsep (&list, ",") == NULL, 55); -printf( "G\n"); } cp = strcpy(one, "a,b, c,, ,d,"); -- cgit v1.2.3