Oops. Forgot the usleep.c file.
[oweals/busybox.git] / Makefile
index 6543e1f898e3b60144493d144941033167ce356e..4d5dbb65603144c2909507b6b482cc21416a4e98 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,8 @@
 # Makefile for busybox
 #
+# Copyright (C) 1999-2000 Erik Andersen <andersee@debian.org>
+# Copyright (C) 2000 Karl M. Hegbloom <karlheg@debian.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
 # the Free Software Foundation; either version 2 of the License, or
 #
 
 PROG      := busybox
-VERSION   := 0.42
+VERSION   := 0.43
 BUILDTIME := $(shell TZ=GMT date "+%Y%m%d-%H%M")
+BUILDTIME := $(shell TZ=UTC date --utc "+%Y.%m.%d-%H:%M%z")
+BUILDTIME := $(shell TZ=UTC date --utc -R)
 
 # Set the following to `true' to make a debuggable build.
 # Leave this set to `false' for production use.
-# eg: `make DODEBUG=true'
+# eg: `make DODEBUG=true tests'
 DODEBUG = false
 
 # If you want a static binary, turn this on.  I can't think
 # of many situations where anybody would ever want it static, 
 # but...
-DOSTATIC = false
+DOSTATIC = true
 
 # This will choke on a non-debian system
 ARCH =`uname -m | sed -e 's/i.86/i386/' | sed -e 's/sparc.*/sparc/'`
@@ -60,15 +65,21 @@ else
     OPTIMIZATION = -O2
 endif
 
+# Allow alternative stripping tools to be used...
+ifndef $(STRIPTOOL)
+    STRIPTOOL = strip
+endif
+
+
 # -D_GNU_SOURCE is needed because environ is used in init.c
 ifeq ($(DODEBUG),true)
     CFLAGS += -Wall -g -D_GNU_SOURCE
-    STRIP   =
     LDFLAGS =
+    STRIP   =
 else
     CFLAGS  += -Wall $(OPTIMIZATION) -fomit-frame-pointer -fno-builtin -D_GNU_SOURCE
     LDFLAGS  = -s
-    STRIP    = strip --remove-section=.note --remove-section=.comment $(PROG)
+    STRIP    = $(STRIPTOOL) --remove-section=.note --remove-section=.comment $(PROG)
     #Only staticly link when _not_ debugging 
     ifeq ($(DOSTATIC),true)
        LDFLAGS += --static
@@ -80,37 +91,47 @@ ifndef $(PREFIX)
 endif
 
 LIBRARIES =
-OBJECTS   = $(shell ./busybox.sh) messages.o utility.o
+OBJECTS   = $(shell ./busybox.sh) busybox.o messages.o utility.o
 CFLAGS    += -DBB_VER='"$(VERSION)"'
 CFLAGS    += -DBB_BT='"$(BUILDTIME)"'
 ifdef BB_INIT_SCRIPT
-    CFLAGS += -DINIT_SCRIPT=${BB_INIT_SCRIPT}
+    CFLAGS += -DINIT_SCRIPT='"$(BB_INIT_SCRIPT)"'
 endif
 
 all: busybox busybox.links
+.PHONY: all
 
 busybox: $(OBJECTS)
-       $(CC) $(LDFLAGS) -o $(PROG) $(OBJECTS) $(LIBRARIES)
+       $(CC) $(LDFLAGS) -o $@ $^ $(LIBRARIES)
        $(STRIP)
 
 busybox.links: busybox.def.h
        - ./busybox.mkll | sort >$@
 
+regexp.o nfsmount.o: %.o: %.h
+$(OBJECTS): %.o: busybox.def.h internal.h  %.c
+
+.PHONY: test tests
+test tests:
+       cd tests && $(MAKE) all
+
+.PHONY: clean
 clean:
-       - rm -f $(PROG) busybox.links *~ *.o core 
+       - rm -f busybox.links *~ *.o core
        - rm -rf _install
+       - cd tests && $(MAKE) clean
 
+.PHONY: distclean
 distclean: clean
-       - rm -f $(PROG)
-
-$(OBJECTS): %.o: %.c busybox.def.h internal.h Makefile messages.c 
+       - rm -f busybox
+       - cd tests && $(MAKE) distclean
 
+.PHONY: install
 install: busybox busybox.links
        ./install.sh $(PREFIX)
 
-dist: release
-
-release: distclean
+.PHONY: dist release
+dist release: distclean
        cd ..;                                  \
        rm -rf busybox-$(VERSION);              \
        cp -a busybox busybox-$(VERSION);       \