# Rules.make for busybox
#
-# Copyright (C) 2002 Erik Andersen <andersee@debian.org>
+# Copyright (C) 2001-2003 Erik Andersen <andersen@codepoet.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
#--------------------------------------------------------
PROG := busybox
-VERSION := 0.61.pre
+VERSION := 1.00-pre3
BUILDTIME := $(shell TZ=UTC date -u "+%Y.%m.%d-%H:%M%z")
# by asking the CC compiler what arch it compiles things for, so unless
# your compiler is broken, you should not need to specify TARGET_ARCH
CROSS =$(subst ",, $(strip $(CROSS_COMPILER_PREFIX)))
+#CROSS =/usr/i386-linux-uclibc/bin/i386-uclibc-
CC = $(CROSS)gcc
-AR := $(CROSS)ar
-AS := $(CROSS)as
-LD := $(CROSS)ld
-NM := $(CROSS)nm
-STRIP := $(CROSS)strip
-CPP := $(CC) -E
-MAKEFILES := $(TOPDIR).config
+AR = $(CROSS)ar
+AS = $(CROSS)as
+LD = $(CROSS)ld
+NM = $(CROSS)nm
+STRIP = $(CROSS)strip
+CPP = $(CC) -E
+MAKEFILES = $(TOPDIR).config
# What OS are you compiling busybox for? This allows you to include
# OS specific things, syscall overrides, etc.
-TARGET_OS:=linux
+TARGET_OS=linux
# Select the compiler needed to build binaries for your development system
-HOSTCC := gcc
-HOSTCFLAGS:= -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
+HOSTCC = gcc
+HOSTCFLAGS= -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
+
+# Ensure consistent sort order, 'gcc -print-search-dirs' behavior, etc.
+LC_ALL:= C
# If you want to add some simple compiler switches (like -march=i686),
# especially from the command line, use this instead of CFLAGS directly.
# If you have a "pristine" source directory, point BB_SRC_DIR to it.
# Experimental and incomplete; tell the mailing list
# <busybox@busybox.net> if you do or don't like it so far.
-BB_SRC_DIR:=
+BB_SRC_DIR=
# To compile vs some other alternative libc, you may need to use/adjust
# the following lines to meet your needs...
# using the compatible RPMs (compat-*) at http://www.redhat.com !
#LIBCDIR:=/usr/i386-glibc20-linux
#
-# The following is used for libc5 (if you install altgcc and libc5-altdev
-# on a Debian system).
-#LIBCDIR:=/usr/i486-linuxlibc1
-#
-# For other libraries, you are on your own...
+# For other libraries, you are on your own. But these may (or may not) help...
#LDFLAGS+=-nostdlib
#LIBRARIES:=$(LIBCDIR)/lib/libc.a -lgcc
#CROSS_CFLAGS+=-nostdinc -I$(LIBCDIR)/include -I$(GCCINCDIR)
#GCCINCDIR:=$(shell gcc -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp")
-WARNINGS:=-Wall -Wstrict-prototypes -Wshadow
-CFLAGS:=-I$(TOPDIR)include
-ARFLAGS:=-r
+WARNINGS=-Wall -Wstrict-prototypes -Wshadow
+CFLAGS=-I$(TOPDIR)include
+ARFLAGS=-r
#--------------------------------------------------------
export VERSION BUILDTIME TOPDIR HOSTCC HOSTCFLAGS CROSS CC AR AS LD NM STRIP CPP
)
endif
-# Pull in the user's uClibc configuration
+# Pull in the user's busybox configuration
ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
-include $(TOPDIR).config
endif
# for OPTIMIZATION...
# use '-Os' optimization if available, else use -O2
-OPTIMIZATION:=
-OPTIMIZATION+=${call check_gcc,-Os,-O2}
+OPTIMIZATION=
+OPTIMIZATION=${call check_gcc,-Os,-O2}
# Some nice architecture specific optimizations
ifeq ($(strip $(TARGET_ARCH)),arm)
OPTIMIZATION+=-fstrict-aliasing
endif
ifeq ($(strip $(TARGET_ARCH)),i386)
- OPTIMIZATION+=-march=i386
+ OPTIMIZATION+=$(call check_gcc,-march=i386,)
OPTIMIZATION+=$(call check_gcc,-mpreferred-stack-boundary=2,)
OPTIMIZATION+=$(call check_gcc,-falign-functions=0 -falign-jumps=0 -falign-loops=0,\
-malign-functions=0 -malign-jumps=0 -malign-loops=0)
endif
-OPTIMIZATIONS:=$(OPTIMIZATION) -fomit-frame-pointer
+OPTIMIZATIONS=$(OPTIMIZATION) -fomit-frame-pointer
#
#--------------------------------------------------------
# prone to casual user adjustment.
#
-ifeq ($(strip $(DOLFS)),y)
+ifeq ($(strip $(CONFIG_LFS)),y)
# For large file summit support
CFLAGS+=-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
endif
-ifeq ($(strip $(DODMALLOC)),y)
+ifeq ($(strip $(CONFIG_DMALLOC)),y)
# For testing mem leaks with dmalloc
CFLAGS+=-DDMALLOC
LIBRARIES:=-ldmalloc
else
- ifeq ($(strip $(DOEFENCE)),y)
+ ifeq ($(strip $(CONFIG_EFENCE)),y)
LIBRARIES:=-lefence
endif
endif
-ifeq ($(strip $(DODEBUG)),y)
+ifeq ($(strip $(CONFIG_DEBUG)),y)
CFLAGS +=$(WARNINGS) -g -D_GNU_SOURCE
LDFLAGS +=-Wl,-warn-common
STRIPCMD:=/bin/true -Not_stripping_since_we_are_debugging
else
- CFLAGS += $(WARNINGS) $(OPTIMIZATIONS) -D_GNU_SOURCE
+ CFLAGS+=$(WARNINGS) $(OPTIMIZATIONS) -D_GNU_SOURCE -DNDEBUG
LDFLAGS += -s -Wl,-warn-common
STRIPCMD:=$(STRIP) --remove-section=.note --remove-section=.comment
endif
-ifeq ($(strip $(DOSTATIC)),y)
+ifeq ($(strip $(CONFIG_STATIC)),y)
LDFLAGS += --static
endif