# Makefile for busybox
#
-# Copyright (C) 1999-2002 Erik Andersen <andersee@debian.org>
+# Copyright (C) 1999-2004 by 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
-# 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
+# Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
#
UDHCP_AR:=udhcp.a
ifndef $(UDHCP_DIR)
-UDHCP_DIR:=$(TOPDIR)networking/udhcp/
+UDHCP_DIR:=$(top_builddir)/networking/udhcp/
endif
+srcdir=$(top_srcdir)/networking/udhcp
#ok, so I forgot how to do an or, but this is a quick and dirty hack
-ifeq ($(CONFIG_UDHCPC), y)
+ifeq ($(strip $(CONFIG_APP_UDHCPC)),y)
CONFIG_UDHCP_SHARED=y
else
-ifeq ($(CONFIG_UDHCPD), y)
+ifeq ($(strip $(CONFIG_APP_UDHCPD)),y)
CONFIG_UDHCP_SHARED=y
else
CONFIG_UDHCP_SHARED=n
endif
endif
-ifeq ($(CONFIG_UDHCPD), y)
-CONFIG_UDHCP_LEASES_FILE=y
-else
-ifeq ($(CONFIG_UDHCPD), y)
-CONFIG_UDHCP_LEASES_FILE=y
-else
-CONFIG_UDHCP_LEASES_FILE=n
-endif
+UDHCP-y:=
+UDHCP-$(CONFIG_UDHCP_SHARED) += common.c options.c packet.c pidfile.c \
+ signalpipe.c socket.c
+UDHCP-$(CONFIG_APP_UDHCPC) += dhcpc.c clientpacket.c clientsocket.c \
+ script.c
+UDHCP-$(CONFIG_APP_UDHCPD) += dhcpd.c arpping.c files.c leases.c \
+ serverpacket.c static_leases.c
+UDHCP-$(CONFIG_APP_DUMPLEASES) += dumpleases.c
+UDHCP_OBJS:=$(patsubst %.c,$(UDHCP_DIR)%.o, $(UDHCP-y))
+
+ifneq ($(strip $(UDHCP-y)),)
+libraries-y+=$(UDHCP_DIR)$(UDHCP_AR)
endif
-UDHCP-y:=
-UDHCP-$(CONFIG_UDHCP_SHARED) += options.c socket.c packet.c common.c
-UDHCP-$(CONFIG_UDHCPC) += dhcpc.c clientpacket.c script.c
-UDHCP-$(CONFIG_UDHCPD) += dhcpd.c arpping.c files.c leases.c serverpacket.c
-UDHCP-$(CONFIG_DUMPLEASES) += dumpleases.c
-UDHCP-$(CONFIG_UDHCP_LEASES_FILE) += leases_file.c
-UDHCP_OBJS=$(patsubst %.c,$(UDHCP_DIR)%.o, $(UDHCP-y))
+UDHCP-y:=$(patsubst %,$(srcdir)/%,$(UDHCP-y))
+UDHCP-a:=$(wildcard $(srcdir)/*.c)
+APPLET_SRC-y+=$(UDHCP-y)
+APPLET_SRC-a+=$(UDHCP-a)
-libraries-y+=$(UDHCP_DIR)$(UDHCP_AR)
+UDHCP_INCLUDES:=$(srcdir)
-$(UDHCP_DIR)$(UDHCP_AR): $(UDHCP_OBJS)
- $(AR) -ro $@ $(UDHCP_OBJS)
+APPLETS_DEFINE-y+=-DIN_BUSYBOX -I$(UDHCP_INCLUDES)
+APPLETS_DEFINE-a+=-DIN_BUSYBOX -I$(UDHCP_INCLUDES)
-$(UDHCP_OBJS): %.o : %.c
- $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c $< -o $@
+$(UDHCP_DIR)$(UDHCP_AR): $(UDHCP_OBJS)
+ $(do_ar)
+$(UDHCP_OBJS): $(UDHCP_DIR)%.o : $(srcdir)/%.c
+ $(compile.c) -DIN_BUSYBOX