More updates for the Makefile to do BB_SRC_DIR. This is
primarily a patch from Larry Doolittle, but with updates from me to handle docs and link creation properly...
This commit is contained in:
parent
02f3b2e0c8
commit
09a34e5368
63
Makefile
63
Makefile
@ -55,6 +55,8 @@ DODMALLOC = false
|
|||||||
DOLFS = false
|
DOLFS = false
|
||||||
|
|
||||||
# If you have a "pristine" source directory, point BB_SRC_DIR to it.
|
# If you have a "pristine" source directory, point BB_SRC_DIR to it.
|
||||||
|
# Experimental and incomplete; tell the mailing list
|
||||||
|
# <busybox@opensource.lineo.com> if you do or don't like it so far.
|
||||||
BB_SRC_DIR = .
|
BB_SRC_DIR = .
|
||||||
|
|
||||||
# If you are running a cross compiler, you may want to set this
|
# If you are running a cross compiler, you may want to set this
|
||||||
@ -80,8 +82,6 @@ OPTIMIZATION = $(shell if $(CC) -Os -S -o /dev/null -xc /dev/null >/dev/null 2>&
|
|||||||
|
|
||||||
WARNINGS = -Wall
|
WARNINGS = -Wall
|
||||||
|
|
||||||
VPATH += :$(BB_SRC_DIR)
|
|
||||||
|
|
||||||
ifeq ($(DOLFS),true)
|
ifeq ($(DOLFS),true)
|
||||||
# For large file summit support
|
# For large file summit support
|
||||||
CFLAGS+=-D_FILE_OFFSET_BITS=64
|
CFLAGS+=-D_FILE_OFFSET_BITS=64
|
||||||
@ -122,7 +122,23 @@ ifndef $(PREFIX)
|
|||||||
PREFIX = `pwd`/_install
|
PREFIX = `pwd`/_install
|
||||||
endif
|
endif
|
||||||
|
|
||||||
OBJECTS = $(shell cd $(BB_SRC_DIR); ./busybox.sh) busybox.o messages.o usage.o utility.o
|
# Additional complications due to support for pristine source dir.
|
||||||
|
# Config.h in the build directory should take precedence over the
|
||||||
|
# copy in BB_SRC_DIR, both during the compilation phase and the
|
||||||
|
# shell script that finds the list of object files.
|
||||||
|
#
|
||||||
|
# Work in progress by <ldoolitt@recycle.lbl.gov>.
|
||||||
|
# If it gets in your way, set DISABLE_VPATH=yes
|
||||||
|
ifeq ($(DISABLE_VPATH),yes)
|
||||||
|
CONFIG_H = Config.h
|
||||||
|
else
|
||||||
|
VPATH = .:$(BB_SRC_DIR)
|
||||||
|
CONFIG_LIST = $(addsuffix /Config.h,$(subst :, ,$(VPATH)))
|
||||||
|
CONFIG_H = $(word 1,$(shell ls -f -1 $(CONFIG_LIST) 2>/dev/null))
|
||||||
|
CFLAGS += -I- $(patsubst %,-I%,$(subst :, ,$(VPATH)))
|
||||||
|
endif
|
||||||
|
|
||||||
|
OBJECTS = $(shell $(BB_SRC_DIR)/busybox.sh $(CONFIG_H) $(BB_SRC_DIR)) busybox.o messages.o usage.o utility.o
|
||||||
CFLAGS += -DBB_VER='"$(VERSION)"'
|
CFLAGS += -DBB_VER='"$(VERSION)"'
|
||||||
CFLAGS += -DBB_BT='"$(BUILDTIME)"'
|
CFLAGS += -DBB_BT='"$(BUILDTIME)"'
|
||||||
ifdef BB_INIT_SCRIPT
|
ifdef BB_INIT_SCRIPT
|
||||||
@ -141,17 +157,23 @@ docs/BusyBox.txt: docs/busybox.pod
|
|||||||
@echo
|
@echo
|
||||||
@echo BusyBox Documentation
|
@echo BusyBox Documentation
|
||||||
@echo
|
@echo
|
||||||
- pod2text docs/busybox.pod > docs/BusyBox.txt
|
- mkdir -p docs
|
||||||
|
- (cd $(BB_SRC_DIR); pod2text docs/busybox.pod) > docs/BusyBox.txt
|
||||||
|
|
||||||
docs/BusyBox.1: docs/busybox.pod
|
docs/BusyBox.1: docs/busybox.pod
|
||||||
- pod2man --center=BusyBox --release="version $(VERSION)" docs/busybox.pod > docs/BusyBox.1
|
- mkdir -p docs
|
||||||
|
- (cd $(BB_SRC_DIR); pod2man --center=BusyBox \
|
||||||
|
--release="version $(VERSION)" \
|
||||||
|
docs/busybox.pod ) > docs/BusyBox.1
|
||||||
|
|
||||||
docs/BusyBox.html: docs/busybox.lineo.com/BusyBox.html
|
docs/BusyBox.html: docs/busybox.lineo.com/BusyBox.html
|
||||||
- rm -f docs/BusyBox.html
|
- rm -f docs/BusyBox.html
|
||||||
- ln -s busybox.lineo.com/BusyBox.html docs/BusyBox.html
|
- ln -s docs/busybox.lineo.com/BusyBox.html docs/BusyBox.html
|
||||||
|
|
||||||
docs/busybox.lineo.com/BusyBox.html: docs/busybox.pod
|
docs/busybox.lineo.com/BusyBox.html: docs/busybox.pod
|
||||||
- pod2html --noindex docs/busybox.pod > docs/busybox.lineo.com/BusyBox.html
|
- mkdir -p docs/busybox.lineo.com
|
||||||
|
- (cd $(BB_SRC_DIR); pod2html --noindex docs/busybox.pod ) \
|
||||||
|
> docs/busybox.lineo.com/BusyBox.html
|
||||||
- rm -f pod2html*
|
- rm -f pod2html*
|
||||||
|
|
||||||
|
|
||||||
@ -162,18 +184,23 @@ docs/busybox.txt: docs/busybox.sgml
|
|||||||
@echo
|
@echo
|
||||||
@echo BusyBox Documentation
|
@echo BusyBox Documentation
|
||||||
@echo
|
@echo
|
||||||
(cd docs; sgmltools -b txt busybox.sgml)
|
- mkdir -p docs
|
||||||
|
(cd docs; sgmltools -b txt $(BB_SRC_DIR)/busybox.sgml)
|
||||||
|
|
||||||
docs/busybox.dvi: docs/busybox.sgml
|
docs/busybox.dvi: docs/busybox.sgml
|
||||||
(cd docs; sgmltools -b dvi busybox.sgml)
|
- mkdir -p docs
|
||||||
|
(cd docs; sgmltools -b dvi $(BB_SRC_DIR)/busybox.sgml)
|
||||||
|
|
||||||
docs/busybox.ps: docs/busybox.sgml
|
docs/busybox.ps: docs/busybox.sgml
|
||||||
(cd docs; sgmltools -b ps busybox.sgml)
|
- mkdir -p docs
|
||||||
|
(cd docs; sgmltools -b ps $(BB_SRC_DIR)/busybox.sgml)
|
||||||
|
|
||||||
docs/busybox.pdf: docs/busybox.ps
|
docs/busybox.pdf: docs/busybox.ps
|
||||||
(cd docs; ps2pdf busybox.ps)
|
- mkdir -p docs
|
||||||
|
(cd docs; ps2pdf $(BB_SRC_DIR)/busybox.ps)
|
||||||
|
|
||||||
docs/busybox/busyboxdocumentation.html: docs/busybox.sgml
|
docs/busybox/busyboxdocumentation.html: docs/busybox.sgml
|
||||||
|
- mkdir -p docs
|
||||||
(cd docs/busybox.lineo.com; sgmltools -b html ../busybox.sgml)
|
(cd docs/busybox.lineo.com; sgmltools -b html ../busybox.sgml)
|
||||||
|
|
||||||
|
|
||||||
@ -183,15 +210,15 @@ busybox: $(OBJECTS)
|
|||||||
$(STRIP)
|
$(STRIP)
|
||||||
|
|
||||||
busybox.links: Config.h
|
busybox.links: Config.h
|
||||||
- ./busybox.mkll | sort >$@
|
-(cd $(BB_SRC_DIR); ./busybox.mkll ) | sort >$@
|
||||||
|
|
||||||
nfsmount.o cmdedit.o: %.o: %.h
|
nfsmount.o cmdedit.o: %.o: %.h
|
||||||
$(OBJECTS): %.o: %.c Config.h busybox.h Makefile
|
$(OBJECTS): %.o: %.c Config.h busybox.h Makefile
|
||||||
|
|
||||||
utility.o: loop.h
|
utility.o: loop.h
|
||||||
|
|
||||||
loop.h:
|
loop.h: mk_loop_h.sh
|
||||||
@$(BB_SRC_DIR)/mk_loop_h.sh
|
@ sh $<
|
||||||
|
|
||||||
test tests:
|
test tests:
|
||||||
cd tests && $(MAKE) all
|
cd tests && $(MAKE) all
|
||||||
@ -203,7 +230,7 @@ clean:
|
|||||||
- rm -f docs/busybox.txt docs/busybox.dvi docs/busybox.ps \
|
- rm -f docs/busybox.txt docs/busybox.dvi docs/busybox.ps \
|
||||||
docs/busybox.pdf docs/busybox.lineo.com/busybox.html
|
docs/busybox.pdf docs/busybox.lineo.com/busybox.html
|
||||||
- rm -rf docs/busybox _install
|
- rm -rf docs/busybox _install
|
||||||
- rm -f busybox.links *~ *.o core
|
- rm -f busybox.links loop.h *~ *.o core
|
||||||
|
|
||||||
distclean: clean
|
distclean: clean
|
||||||
- rm -f busybox
|
- rm -f busybox
|
||||||
@ -215,6 +242,12 @@ install: busybox busybox.links
|
|||||||
install-hardlinks: busybox busybox.links
|
install-hardlinks: busybox busybox.links
|
||||||
./install.sh $(PREFIX) --hardlinks
|
./install.sh $(PREFIX) --hardlinks
|
||||||
|
|
||||||
|
debug_pristine:
|
||||||
|
@ echo VPATH=\"$(VPATH)\"
|
||||||
|
@ echo CONFIG_LIST=\"$(CONFIG_LIST)\"
|
||||||
|
@ echo CONFIG_H=\"$(CONFIG_H)\"
|
||||||
|
@ echo OBJECTS=\"$(OBJECTS)\"
|
||||||
|
|
||||||
dist release: distclean doc
|
dist release: distclean doc
|
||||||
cd ..; \
|
cd ..; \
|
||||||
rm -rf busybox-$(VERSION); \
|
rm -rf busybox-$(VERSION); \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user