summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--Rules.mak6
-rw-r--r--libc/misc/Makefile8
-rw-r--r--libc/misc/internals/Makefile6
-rw-r--r--libc/misc/time/Makefile6
-rw-r--r--libc/stdlib/Makefile7
6 files changed, 26 insertions, 9 deletions
diff --git a/Makefile b/Makefile
index 78b2d063d..8412496a0 100644
--- a/Makefile
+++ b/Makefile
@@ -28,7 +28,7 @@
include Rules.mak
-DIRS = sysdeps misc pwd_grp stdio string termios unistd net signal stdlib
+DIRS = misc pwd_grp stdio string termios unistd net signal stdlib sysdeps
all: libc.a
diff --git a/Rules.mak b/Rules.mak
index f081affe4..280484aae 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -24,15 +24,13 @@
include $(TOPDIR)Config
-GCCINCDIR = $(shell gcc -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp")
+GCCINCDIR = $(shell $(CC) -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__LIBC__
-# Figure out what arch to build...
-ARCH = $(shell uname -m | sed -e 's/i.86/i386/' -e 's/sparc.*/sparc/' -e 's/arm.*/arm/g')
-ifeq ($(ARCH), arm)
+ifeq ($(TARGET_ARCH), arm)
ARCH_CFLAGS=-fpic
endif
diff --git a/libc/misc/Makefile b/libc/misc/Makefile
index 5c16c5478..6a3275903 100644
--- a/libc/misc/Makefile
+++ b/libc/misc/Makefile
@@ -25,7 +25,13 @@ include $(TOPDIR)Rules.mak
LIBC=$(TOPDIR)libc.a
-DIRS = assert crypt ctype fnmatch glob internals lsearch mntent syslog regex shm time utmp
+DIRS = assert crypt ctype fnmatch glob internals lsearch mntent syslog shm time utmp
+
+# regex bombs out with an internal compiler error using m68k-pic-coff-gcc.
+ifneq ($(TARGET_ARCH),m68k)
+ DIRS += regex
+endif
+
all: libc.a
diff --git a/libc/misc/internals/Makefile b/libc/misc/internals/Makefile
index b9168288e..be19bbf7b 100644
--- a/libc/misc/internals/Makefile
+++ b/libc/misc/internals/Makefile
@@ -24,7 +24,11 @@ TOPDIR=../../
include $(TOPDIR)Rules.mak
LIBC=$(TOPDIR)libc.a
-CSRC=ultostr.c ltostr.c ulltostr.c lltostr.c zoicheck.c dtostr.c
+CSRC=ultostr.c ltostr.c ulltostr.c lltostr.c zoicheck.c
+ifeq ($(HAS_FLOATS),true)
+ CSRC += dtostr.c
+endif
+
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(COBJS)
diff --git a/libc/misc/time/Makefile b/libc/misc/time/Makefile
index dc27f1cbe..406738ce8 100644
--- a/libc/misc/time/Makefile
+++ b/libc/misc/time/Makefile
@@ -27,6 +27,12 @@ LIBC=$(TOPDIR)libc.a
CSRC=localtime.c gmtime.c asctime.c ctime.c asc_conv.c tm_conv.c mktime.c \
localtime_r.c gmtime_r.c asctime_r.c ctime_r.c utimes.c adjtime.c \
strftime.c clock.c times.c difftime.c
+
+# strftime.c causes an internal compiler error with m68k-pic-coff-gcc.
+ifneq ($(TARGET_ARCH),m68k)
+ CSRC += strftime.c
+endif
+
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(COBJS)
diff --git a/libc/stdlib/Makefile b/libc/stdlib/Makefile
index e4b28979c..5d7c9405a 100644
--- a/libc/stdlib/Makefile
+++ b/libc/stdlib/Makefile
@@ -36,8 +36,11 @@ MSRC2=atexit.c
MOBJ2=on_exit.o atexit.o __do_exit.o exit.o
-CSRC = abort.c getenv.c mktemp.c qsort.c realpath.c strtod.c \
- abs.c bsearch.c mkstemp.c putenv.c rand.c setenv.c system.c
+CSRC = abort.c getenv.c mktemp.c qsort.c realpath.c abs.c bsearch.c \
+ mkstemp.c putenv.c rand.c setenv.c system.c
+ifeq ($(HAS_FLOATS),true)
+ CSRC += strtod.c
+endif
COBJS=$(patsubst %.c,%.o, $(CSRC))