# Makefile for busybox
#
-# Copyright (C) 1999-2002 Erik Andersen <andersee@debian.org>
+# Copyright (C) 1999-2003 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
endif
LIBBB_SRC:= \
- ask_confirmation.c chomp.c concat_path_file.c copy_file.c \
- copy_file_chunk.c dump.c libc5.c device_open.c error_msg.c \
- error_msg_and_die.c fgets_str.c find_mount_point.c find_pid_by_name.c \
- find_root_device.c full_read.c full_write.c get_console.c \
- get_last_path_component.c get_line_from_file.c \
- human_readable.c isdirectory.c kernel_version.c loop.c \
- mode_string.c module_syscalls.c mtab.c mtab_file.c my_getgrnam.c \
- my_getgrgid.c my_getpwnam.c my_getpwnamegid.c my_getpwuid.c \
- parse_mode.c parse_number.c perror_msg.c perror_msg_and_die.c \
- print_file.c process_escape_sequence.c read_package_field.c \
- recursive_action.c safe_read.c safe_strncpy.c syscalls.c \
- syslog_msg_with_name.c time_string.c trim.c unzip.c uncompress.c \
- vdprintf.c verror_msg.c vperror_msg.c wfopen.c xgetcwd.c xreadlink.c \
- xregcomp.c interface.c remove_file.c last_char_is.c copyfd.c \
- vherror_msg.c herror_msg.c herror_msg_and_die.c xgethostbyname.c \
- dirname.c make_directory.c create_icmp_socket.c u_signal_names.c \
- arith.c simplify_path.c inet_common.c inode_hash.c obscure.c \
- pwd2spwd.c xfuncs.c correct_password.c change_identity.c \
- setup_environment.c run_shell.c pw_encrypt.c restricted_shell.c \
- xgethostbyname2.c create_icmp6_socket.c xconnect.c bb_asprintf.c
+ arith.c bb_asprintf.c ask_confirmation.c change_identity.c chomp.c \
+ compare_string_array.c concat_path_file.c copy_file.c \
+ copyfd.c correct_password.c create_icmp_socket.c \
+ create_icmp6_socket.c device_open.c dump.c error_msg.c \
+ error_msg_and_die.c find_mount_point.c find_pid_by_name.c \
+ find_root_device.c fgets_str.c full_read.c full_write.c get_console.c \
+ get_last_path_component.c get_line_from_file.c herror_msg.c \
+ herror_msg_and_die.c human_readable.c inet_common.c inode_hash.c \
+ interface.c isdirectory.c kernel_version.c last_char_is.c \
+ llist_add_to.c login.c loop.c make_directory.c mode_string.c \
+ module_syscalls.c mtab.c mtab_file.c my_getgrgid.c my_getgrnam.c \
+ my_getpwnam.c my_getpwnamegid.c my_getpwuid.c obscure.c parse_mode.c \
+ parse_number.c perror_msg.c perror_msg_and_die.c print_file.c \
+ process_escape_sequence.c procps.c pwd2spwd.c pw_encrypt.c \
+ qmodule.c read_package_field.c recursive_action.c remove_file.c \
+ restricted_shell.c run_parts.c run_shell.c safe_read.c safe_strncpy.c \
+ setup_environment.c simplify_path.c syscalls.c syslog_msg_with_name.c \
+ trim.c u_signal_names.c vdprintf.c verror_msg.c \
+ vherror_msg.c vperror_msg.c wfopen.c xconnect.c xgetcwd.c \
+ xgethostbyname.c xgethostbyname2.c xreadlink.c xregcomp.c xgetlarg.c \
+ \
+ fclose_nonstdin.c fflush_stdout_and_exit.c getopt_ulflags.c \
+ default_error_retval.c wfopen_input.c speed_table.c \
+ perror_nomsg_and_die.c perror_nomsg.c skip_whitespace.c \
+ warn_ignoring_args.c concat_subpath_file.c vfork_daemon_rexec.c
LIBBB_OBJS=$(patsubst %.c,$(LIBBB_DIR)%.o, $(LIBBB_SRC))
-LIBBB_MSRC:=$(LIBBB_DIR)messages.c
-LIBBB_MOBJ:=full_version.o name_too_long.o omitting_directory.o not_a_directory.o \
- memory_exhausted.o invalid_date.o invalid_option.o io_error.o dash_dash_help.o \
- write_error.o too_few_args.o name_longer_than_foo.o unknown.o can_not_create_raw_socket.o \
- shadow_file.o passwd_file.o group_file.o gshadow_file.o nologin_file.o securetty_file.o \
- motd_file.o
-LIBBB_MOBJS=$(patsubst %,$(LIBBB_DIR)%, $(LIBBB_MOBJ))
+LIBBB_MSRC0:=$(LIBBB_DIR)messages.c
+LIBBB_MOBJ0:=full_version.o \
+ memory_exhausted.o invalid_date.o io_error.o \
+ write_error.o name_longer_than_foo.o unknown.o \
+ can_not_create_raw_socket.o perm_denied_are_you_root.o \
+ shadow_file.o passwd_file.o group_file.o gshadow_file.o nologin_file.o \
+ securetty_file.o motd_file.o \
+ msg_standard_input.o msg_standard_output.o
+
+LIBBB_MSRC1:=$(LIBBB_DIR)xfuncs.c
+LIBBB_MOBJ1:=xmalloc.o xrealloc.o xcalloc.o xstrdup.o xstrndup.o \
+ xfopen.o xopen.o xread.o xread_all.o xread_char.o \
+ xferror.o xferror_stdout.o xfflush_stdout.o strlen.o
+
+LIBBB_MSRC2:=$(LIBBB_DIR)printf.c
+LIBBB_MOBJ2:=bb_vfprintf.o bb_vprintf.o bb_fprintf.o bb_printf.o
+
+LIBBB_MSRC3:=$(LIBBB_DIR)xgetularg.c
+LIBBB_MOBJ3:=xgetularg_bnd_sfx.o xgetlarg_bnd_sfx.o getlarg10_sfx.o \
+ xgetularg_bnd.o xgetularg10_bnd.o xgetularg10.o
+
+LIBBB_MOBJS0=$(patsubst %,$(LIBBB_DIR)%, $(LIBBB_MOBJ0))
+LIBBB_MOBJS1=$(patsubst %,$(LIBBB_DIR)%, $(LIBBB_MOBJ1))
+LIBBB_MOBJS2=$(patsubst %,$(LIBBB_DIR)%, $(LIBBB_MOBJ2))
+LIBBB_MOBJS3=$(patsubst %,$(LIBBB_DIR)%, $(LIBBB_MOBJ3))
libraries-y+=$(LIBBB_DIR)$(LIBBB_AR)
-$(LIBBB_DIR)$(LIBBB_AR): $(LIBBB_OBJS) $(LIBBB_MOBJS)
- $(AR) -ro $@ $(LIBBB_OBJS) $(LIBBB_MOBJS)
+$(LIBBB_DIR)$(LIBBB_AR): $(LIBBB_OBJS) $(LIBBB_MOBJS0) $(LIBBB_MOBJS1) \
+ $(LIBBB_MOBJS2) $(LIBBB_MOBJS3)
+ $(AR) -ro $@ $(LIBBB_OBJS) $(LIBBB_MOBJS0) $(LIBBB_MOBJS1) \
+ $(LIBBB_MOBJS2) $(LIBBB_MOBJS3)
+
+$(LIBBB_MOBJS0): $(LIBBB_MSRC0)
+ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DL_$(notdir $*) -c $< -o $@
+
+$(LIBBB_MOBJS1): $(LIBBB_MSRC1)
+ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DL_$(notdir $*) -c $< -o $@
+
+$(LIBBB_MOBJS2): $(LIBBB_MSRC2)
+ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DL_$(notdir $*) -c $< -o $@
-$(LIBBB_MOBJS): $(LIBBB_MSRC)
+$(LIBBB_MOBJS3): $(LIBBB_MSRC3)
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DL_$(notdir $*) -c $< -o $@
$(LIBBB_DIR)loop.o: $(LIBBB_DIR)loop.h