aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2002-04-12 12:05:57 +0000
committerandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2002-04-12 12:05:57 +0000
commit511bcd201730a59bd5b336d136fd624d08fc5695 (patch)
tree8065760390f8f705c47f01a30a7f63c93cef8cf3 /libbb
parent9f20870af828275526473699fa08b1901c7dd3be (diff)
downloadbusybox-w32-511bcd201730a59bd5b336d136fd624d08fc5695.tar.gz
busybox-w32-511bcd201730a59bd5b336d136fd624d08fc5695.tar.bz2
busybox-w32-511bcd201730a59bd5b336d136fd624d08fc5695.zip
Completely rework the config system so that it no longer annoys me to work on
the busybox development tree. This eliminates the use of recursive make, and once again allows us to run 'make' in a subdirectory with the expected result. And things are now much faster too. Greatly improved IMHO... -Erik git-svn-id: svn://busybox.net/trunk/busybox@4595 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'libbb')
-rw-r--r--libbb/Makefile59
-rw-r--r--libbb/Makefile.in63
2 files changed, 74 insertions, 48 deletions
diff --git a/libbb/Makefile b/libbb/Makefile
index 879be2452..f6d021ce9 100644
--- a/libbb/Makefile
+++ b/libbb/Makefile
@@ -1,6 +1,6 @@
1# Makefile for busybox 1# Makefile for busybox
2# 2#
3# Copyright (C) 2001 Erik Andersen <andersee@debian.org> 3# Copyright (C) 1999-2002 Erik Andersen <andersee@debian.org>
4# 4#
5# This program is free software; you can redistribute it and/or modify 5# This program is free software; you can redistribute it and/or modify
6# it under the terms of the GNU General Public License as published by 6# it under the terms of the GNU General Public License as published by
@@ -15,53 +15,16 @@
15# You should have received a copy of the GNU General Public License 15# You should have received a copy of the GNU General Public License
16# along with this program; if not, write to the Free Software 16# along with this program; if not, write to the Free Software
17# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18#
18 19
19 20TOPDIR:= ../
20 21LIBBB_DIR:=./
21TOPDIR :=.. 22include $(TOPDIR).config
22L_TARGET := libbb.a 23include $(TOPDIR)Rules.mak
23 24include Makefile.in
24LIBBB_MSRC=messages.c 25all: $(libraries-y)
25LIBBB_OBJ= full_version name_too_long omitting_directory not_a_directory \ 26-include $(TOPDIR).depend
26 memory_exhausted invalid_date invalid_option io_error dash_dash_help \
27 write_error too_few_args name_longer_than_foo unknown can_not_create_raw_socket
28LIBBB_MOBJS=$(patsubst %,%.o, $(LIBBB_OBJ))
29
30obj-y :=
31obj-n :=
32obj- :=
33
34obj-y += ask_confirmation.o chomp.o concat_path_file.o copy_file.o \
35 copy_file_chunk.o dump.o libc5.o device_open.o error_msg.o \
36 error_msg_and_die.o fgets_str.o find_mount_point.o find_pid_by_name.o \
37 find_root_device.o full_read.o full_write.o get_console.o \
38 get_last_path_component.o get_line_from_file.o gz_open.o human_readable.o \
39 isdirectory.o kernel_version.o loop.o mode_string.o module_syscalls.o mtab.o \
40 mtab_file.o my_getgrnam.o my_getgrgid.o my_getpwnam.o my_getpwnamegid.o \
41 my_getpwuid.o parse_mode.o parse_number.o perror_msg.o perror_msg_and_die.o \
42 print_file.o process_escape_sequence.o read_package_field.o recursive_action.o \
43 safe_read.o safe_strncpy.o syscalls.o syslog_msg_with_name.o time_string.o \
44 trim.o unzip.o vdprintf.o verror_msg.o vperror_msg.o wfopen.o xfuncs.o \
45 xgetcwd.o xreadlink.o xregcomp.o interface.o remove_file.o last_char_is.o \
46 copyfd.o vherror_msg.o herror_msg.o herror_msg_and_die.o xgethostbyname.o \
47 dirname.o make_directory.o create_icmp_socket.o u_signal_names.o arith.o \
48 simplify_path.o inet_common.o inode_hash.o $(LIBBB_MOBJS) $(LIBBB_AROBJS)
49
50
51# Hand off to toplevel Rules.mak
52include $(TOPDIR)/Rules.mak
53
54$(LIBBB_MOBJS): $(LIBBB_MSRC)
55 $(CC) $(CFLAGS) -DBB_VER='"$(VERSION)"' -DBB_BT='"$(BUILDTIME)"' \
56 $(LIBBB_CFLAGS) -DL_$(patsubst %,%,$*) -c $< -o $*.o
57
58$(LIBBB_AROBJS): $(LIBBB_ARCSRC)
59 $(CC) $(CFLAGS) $(LIBBB_CFLAGS) -DL_$(patsubst %,%,$*) -c $< -o $*.o
60
61loop.o: loop.h
62
63loop.h: mk_loop_h.sh
64 @ $(SHELL) $< > $@
65 27
66clean: 28clean:
67 rm -f $(L_TARGET) *.o core 29 rm -f *.o *.a $(AR_TARGET)
30
diff --git a/libbb/Makefile.in b/libbb/Makefile.in
new file mode 100644
index 000000000..6d098c0e5
--- /dev/null
+++ b/libbb/Makefile.in
@@ -0,0 +1,63 @@
1# Makefile for busybox
2#
3# Copyright (C) 1999-2002 Erik Andersen <andersee@debian.org>
4#
5# This program is free software; you can redistribute it and/or modify
6# it under the terms of the GNU General Public License as published by
7# the Free Software Foundation; either version 2 of the License, or
8# (at your option) any later version.
9#
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13# General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
16# along with this program; if not, write to the Free Software
17# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
19
20
21LIBBB_AR:=libbb.a
22ifndef $(LIBBB_DIR)
23LIBBB_DIR:=$(TOPDIR)libbb/
24endif
25
26LIBBB_SRC:= \
27 ask_confirmation.c chomp.c concat_path_file.c copy_file.c \
28 copy_file_chunk.c dump.c libc5.c device_open.c error_msg.c \
29 error_msg_and_die.c fgets_str.c find_mount_point.c find_pid_by_name.c \
30 find_root_device.c full_read.c full_write.c get_console.c \
31 get_last_path_component.c get_line_from_file.c gz_open.c human_readable.c \
32 isdirectory.c kernel_version.c loop.c mode_string.c module_syscalls.c mtab.c \
33 mtab_file.c my_getgrnam.c my_getgrgid.c my_getpwnam.c my_getpwnamegid.c \
34 my_getpwuid.c parse_mode.c parse_number.c perror_msg.c perror_msg_and_die.c \
35 print_file.c process_escape_sequence.c read_package_field.c recursive_action.c \
36 safe_read.c safe_strncpy.c syscalls.c syslog_msg_with_name.c time_string.c \
37 trim.c unzip.c vdprintf.c verror_msg.c vperror_msg.c wfopen.c xfuncs.c \
38 xgetcwd.c xreadlink.c xregcomp.c interface.c remove_file.c last_char_is.c \
39 copyfd.c vherror_msg.c herror_msg.c herror_msg_and_die.c xgethostbyname.c \
40 dirname.c make_directory.c create_icmp_socket.c u_signal_names.c arith.c \
41 simplify_path.c inet_common.c inode_hash.c
42LIBBB_OBJS=$(patsubst %.c,$(LIBBB_DIR)%.o, $(LIBBB_SRC))
43
44LIBBB_MSRC:=$(LIBBB_DIR)messages.c
45LIBBB_MOBJ:=full_version.o name_too_long.o omitting_directory.o not_a_directory.o \
46 memory_exhausted.o invalid_date.o invalid_option.o io_error.o dash_dash_help.o \
47 write_error.o too_few_args.o name_longer_than_foo.o unknown.o can_not_create_raw_socket.o
48LIBBB_MOBJS=$(patsubst %,$(LIBBB_DIR)%, $(LIBBB_MOBJ))
49
50libraries-y+=$(LIBBB_DIR)$(LIBBB_AR)
51
52$(LIBBB_DIR)$(LIBBB_AR): $(LIBBB_OBJS) $(LIBBB_MOBJS)
53 $(AR) -ro $@ $(LIBBB_OBJS) $(LIBBB_MOBJS)
54
55$(LIBBB_MOBJS): $(LIBBB_MSRC)
56 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DL_$(notdir $*) -c $< -o $@
57
58$(LIBBB_DIR)loop.o: $(LIBBB_DIR)loop.h
59
60$(LIBBB_DIR)loop.h: $(LIBBB_DIR)mk_loop_h.sh
61 @ $(SHELL) $< > $@
62
63