X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=Makefile;h=fc8ea56f7689c13e73c9e75bf85e3c1d54a0d74a;hb=9adcf73152e1cb4d537d3ff713abe9d1c51171dd;hp=9a87ad4bdff12cc39e1d99830cbcdcbebc18c35a;hpb=919798d5a8c59a05afd90e209d7986ab2d9caea3;p=oweals%2Fbusybox.git diff --git a/Makefile b/Makefile index 9a87ad4bd..fc8ea56f7 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ # Makefile for busybox # -# Copyright (C) 1999-2002 Erik Andersen +# Copyright (C) 1999-2003 by Erik Andersen # # 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 @@ -26,31 +26,40 @@ noconfig_targets := menuconfig config oldconfig randconfig \ TOPDIR=./ include Rules.mak -DIRS:=applets archival archival/libunarchive console-tools debianutils \ - editors fileutils findutils init miscutils modutils networking \ +DIRS:=applets archival archival/libunarchive coreutils console-tools \ + debianutils editors findutils init miscutils modutils networking \ networking/libiproute networking/udhcp procps loginutils shell \ - shellutils sysklogd textutils util-linux libbb libpwdgrp + sysklogd util-linux libpwdgrp coreutils/libcoreutils libbb -ifdef include_config +ifeq ($(strip $(CONFIG_SELINUX)),y) +CFLAGS += -I/usr/include/selinux +LIBRARIES += -lsecure +endif -all: busybox busybox.links #doc +CONFIG_CONFIG_IN = sysdeps/$(TARGET_OS)/Config.in +CONFIG_DEFCONFIG = sysdeps/$(TARGET_OS)/defconfig + +ifeq ($(strip $(HAVE_DOT_CONFIG)),y) + +all: busybox busybox.links doc # In this section, we need .config -include .config.cmd include $(patsubst %,%/Makefile.in, $(DIRS)) -busybox: depend $(libraries-y) - $(CC) $(LDFLAGS) -o $@ $(libraries-y) $(LIBRARIES) +busybox: .depend include/config.h $(libraries-y) + $(CC) $(LDFLAGS) -o $@ -Wl,--start-group $(libraries-y) $(LIBRARIES) -Wl,--end-group $(STRIPCMD) $@ -busybox.links: applets/busybox.mkll +busybox.links: applets/busybox.mkll include/config.h - $(SHELL) $^ >$@ install: applets/install.sh busybox busybox.links $(SHELL) $< $(PREFIX) -uninstall: busybox busybox.links - for i in `cat busybox.links` ; do rm -f $$PREFIX$$i; done +uninstall: busybox.links + rm -f $(PREFIX)/bin/busybox + for i in `cat busybox.links` ; do rm -f $(PREFIX)$$i; done install-hardlinks: applets/install.sh busybox busybox.links $(SHELL) $< $(PREFIX) --hardlinks @@ -142,9 +151,9 @@ include/config/MARKER: depend scripts/split-include include/config.h: .config @if [ ! -x ./scripts/config/conf ] ; then \ - make -C scripts/config; \ + $(MAKE) -C scripts/config conf; \ fi; - @./scripts/config/conf -o sysdeps/$(TARGET_OS)/Config.in + @./scripts/config/conf -o $(CONFIG_CONFIG_IN) %.o: %.c $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< @@ -154,42 +163,44 @@ finished2: @echo Finished installing... @echo -else # ifdef include_config +else # ifeq ($(strip $(HAVE_DOT_CONFIG)),y) all: menuconfig -ifeq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),) -# Targets which don't need .config - # configuration # --------------------------------------------------------------------------- -scripts/config/conf scripts/config/mconf: - make -C scripts/config +scripts/config/conf: + $(MAKE) -C scripts/config conf -@if [ ! -f .config ] ; then \ - cp sysdeps/$(TARGET_OS)/defconfig .config; \ + cp $(CONFIG_DEFCONFIG) .config; \ + fi +scripts/config/mconf: + $(MAKE) -C scripts/config ncurses conf mconf + -@if [ ! -f .config ] ; then \ + cp $(CONFIG_DEFCONFIG) .config; \ fi menuconfig: scripts/config/mconf - @./scripts/config/mconf sysdeps/$(TARGET_OS)/Config.in + @./scripts/config/mconf $(CONFIG_CONFIG_IN) config: scripts/config/conf - @./scripts/config/conf sysdeps/$(TARGET_OS)/Config.in + @./scripts/config/conf $(CONFIG_CONFIG_IN) oldconfig: scripts/config/conf - @./scripts/config/conf -o sysdeps/$(TARGET_OS)/Config.in + @./scripts/config/conf -o $(CONFIG_CONFIG_IN) randconfig: scripts/config/conf - @./scripts/config/conf -r sysdeps/$(TARGET_OS)/Config.in + @./scripts/config/conf -r $(CONFIG_CONFIG_IN) allyesconfig: scripts/config/conf - @./scripts/config/conf -y sysdeps/$(TARGET_OS)/Config.in + @./scripts/config/conf -y $(CONFIG_CONFIG_IN) allnoconfig: scripts/config/conf - @./scripts/config/conf -n sysdeps/$(TARGET_OS)/Config.in + @./scripts/config/conf -n $(CONFIG_CONFIG_IN) defconfig: scripts/config/conf - @./scripts/config/conf -d sysdeps/$(TARGET_OS)/Config.in + @./scripts/config/conf -d $(CONFIG_CONFIG_IN) test tests: busybox # Note that 'tests' is depricated. Use 'make check' instead @@ -201,46 +212,46 @@ check: busybox clean: - $(MAKE) -C tests clean - - $(MAKE) -C scripts/config clean - - rm -f docs/BusyBox.txt docs/BusyBox.1 docs/BusyBox.html \ - docs/busybox.net/BusyBox.html - rm -f docs/busybox.txt docs/busybox.dvi docs/busybox.ps \ docs/busybox.pdf docs/busybox.pod docs/busybox.net/busybox.html \ - docs/busybox _install pod2htm* *.gdb *.elf *~ core - - rm -f busybox busybox.links libbb/loop.h .config.old .hdepend - - rm -f scripts/split-include scripts/mkdep .*config.log - - rm -rf include/config include/config.h + docs/busybox pod2htm* *.gdb *.elf *~ core .*config.log \ + docs/BusyBox.txt docs/BusyBox.1 docs/BusyBox.html \ + docs/busybox.net/BusyBox.html busybox.links libbb/loop.h \ + .config.old .hdepend busybox + - rm -rf _install - find . -name .\*.flags -exec rm -f {} \; - - find . -name .depend -exec rm -f {} \; - find . -name \*.o -exec rm -f {} \; - find . -name \*.a -exec rm -f {} \; distclean: clean + - rm -f scripts/split-include scripts/mkdep + - rm -rf include/config include/config.h + - find . -name .depend -exec rm -f {} \; rm -f .config .config.old .config.cmd + - $(MAKE) -C scripts/config clean release: distclean #doc cd ..; \ - rm -rf busybox-$(VERSION); \ - cp -a busybox busybox-$(VERSION); \ + rm -rf $(PROG)-$(VERSION); \ + cp -a busybox $(PROG)-$(VERSION); \ \ - find busybox-$(VERSION)/ -type d \ + find $(PROG)-$(VERSION)/ -type d \ -name CVS \ -print \ -exec rm -rf {} \; ; \ \ - find busybox-$(VERSION)/ -type f \ + find $(PROG)-$(VERSION)/ -type f \ -name .\#* \ -print \ -exec rm -f {} \; ; \ \ - tar -cvzf busybox-$(VERSION).tar.gz busybox-$(VERSION)/; + tar -cvzf $(PROG)-$(VERSION).tar.gz $(PROG)-$(VERSION)/; tags: ctags -R . -endif # ifeq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),) -endif # ifdef include_config +endif # ifeq ($(strip $(HAVE_DOT_CONFIG)),y) .PHONY: dummy subdirs release distclean clean config oldconfig \ menuconfig tags check test tests depend