194 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Makefile
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			194 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Makefile
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/make -f
 | |
| 
 | |
| # This is a bit unusual, in that I have to completely recompile everything
 | |
| # for each package I build (obviously static and dynamic builds require
 | |
| # things to be recompiled...)
 | |
| 
 | |
| # This is the debhelper compatability version to use.
 | |
| #export DH_COMPAT=1
 | |
| 
 | |
| bbbd=debian/busybox_builddir
 | |
| bb=debian/tmp
 | |
| bbsbd=debian/busybox_static_builddir
 | |
| bbs=debian/busybox-static
 | |
| bbubd=debian/busybox_udeb_builddir
 | |
| bbu=debian/busybox-udeb
 | |
| 
 | |
| clean:
 | |
| 	dh_testdir
 | |
| 	dh_testroot
 | |
| 	rm -f debian/build-stamp-busybox debian/build-stamp-busybox-static debian/build-stamp-busybox-udeb
 | |
| 	-$(MAKE) clean
 | |
| 	-rm -rf $(bb) $(bbbd) $(bbs) $(bbsbd) $(bbubd) $(bbu)
 | |
| 	dh_clean
 | |
| 
 | |
| build: debian/build-stamp-busybox
 | |
| debian/build-stamp-busybox:
 | |
| 	dh_testdir
 | |
| 	mkdir -p $(bbbd)
 | |
| 	cp Makefile $(bbbd)
 | |
| 	cp debian/Config.h-deb $(bbbd)/Config.h
 | |
| 	-(cd $(bbbd); $(MAKE) "CONFIG_SRC_DIR=../../" applet_source_list)
 | |
| 	(cd $(bbbd); $(MAKE) USE_SYSTEM_PWD_GRP=false "CONFIG_SRC_DIR=../../")
 | |
| 	touch debian/build-stamp-busybox
 | |
| 
 | |
| install: build
 | |
| 	dh_testdir
 | |
| 	dh_testroot
 | |
| 	dh_clean -k
 | |
| 	dh_installdirs
 | |
| 	# Do not run 'make install', since we do not want all the symlinks. 
 | |
| 	# This just installes the busybox binary...
 | |
| 	#(cd $(bbbd); $(MAKE) "CONFIG_SRC_DIR=../../" "PREFIX=../../$(bb)" install)
 | |
| 	mkdir -p $(bb)/bin/
 | |
| 	cp $(bbbd)/busybox $(bb)/bin/busybox
 | |
| 	mkdir -p $(bb)/usr/share/doc/busybox/busybox.lineo.com
 | |
| 	cp $(bbbd)/docs/busybox.lineo.com/BusyBox.html $(bb)/usr/share/doc/busybox/busybox.lineo.com/
 | |
| 	mkdir -p $(bb)/usr/share/man/man1
 | |
| 	cp $(bbbd)/docs/BusyBox.1 $(bb)/usr/share/man/man1/busybox.1
 | |
| 
 | |
| # Now for the statically linked stuff
 | |
| build-static: debian/build-stamp-busybox-static
 | |
| debian/build-stamp-busybox-static:
 | |
| 	dh_testdir
 | |
| 	mkdir -p $(bbsbd)
 | |
| 	cp Makefile $(bbsbd)
 | |
| 	cp debian/Config.h-static $(bbsbd)/Config.h
 | |
| 	(cd $(bbsbd); $(MAKE) DOSTATIC=true USE_SYSTEM_PWD_GRP=false "CONFIG_SRC_DIR=../../")
 | |
| 	touch debian/build-stamp-busybox-static
 | |
| 
 | |
| install-static: build
 | |
| 	dh_testdir
 | |
| 	dh_testroot
 | |
| 	dh_clean -k
 | |
| 	dh_installdirs
 | |
| 	# Do not run 'make install', since we do not want all the symlinks. 
 | |
| 	# This just installes the busybox binary...
 | |
| 	#(cd $(bbsbd); $(MAKE) "CONFIG_SRC_DIR=../../" "PREFIX=../../$(bbs)" install)
 | |
| 	mkdir -p $(bbs)/bin/
 | |
| 	cp $(bbsbd)/busybox $(bbs)/bin/busybox
 | |
| 	mkdir -p $(bbs)/usr/share/doc/busybox-static/busybox.lineo.com
 | |
| 	cp $(bbsbd)/docs/busybox.lineo.com/BusyBox.html $(bbs)/usr/share/doc/busybox-static/busybox.lineo.com/
 | |
| 	mkdir -p $(bbs)/usr/share/man/man1/
 | |
| 	cp $(bbsbd)/docs/BusyBox.1 $(bbs)/usr/share/man/man1/busybox.1
 | |
| 
 | |
| half_clean:
 | |
| 	dh_testdir
 | |
| 	dh_testroot
 | |
| 	rm -rf $(bbs) debian/build-stamp-busybox-static
 | |
| 	-$(MAKE) clean
 | |
| 
 | |
| do_static: half_clean build-static install-static
 | |
| 
 | |
| 
 | |
| 
 | |
| # Now for the .udeb stuff
 | |
| PACKAGE=busybox-udeb
 | |
| VERSION=$(shell dpkg-parsechangelog | grep ^Version: | cut -d ' ' -f 2 | sed -e s/[0-9]://g)
 | |
| ARCH=$(shell dpkg --print-architecture)
 | |
| FILENAME=$(PACKAGE)_$(VERSION)_$(ARCH).udeb
 | |
| 
 | |
| build-udeb: debian/build-stamp-busybox-udeb
 | |
| debian/build-stamp-busybox-udeb:
 | |
| 	dh_testdir
 | |
| 	mkdir -p $(bbubd)
 | |
| 	cp Makefile $(bbubd)
 | |
| 	cp debian/Config.h-udeb $(bbubd)/Config.h
 | |
| 	(cd $(bbubd); $(MAKE) USE_SYSTEM_PWD_GRP=false "CONFIG_SRC_DIR=../../")
 | |
| 	touch debian/build-stamp-busybox-udeb
 | |
| 
 | |
| install-udeb: build
 | |
| 	dh_testdir
 | |
| 	dh_testroot
 | |
| 	dh_clean -k
 | |
| 	dh_installdirs
 | |
| 	(cd $(bbubd); $(MAKE) "CONFIG_SRC_DIR=../../" "PREFIX=../../$(bbu)" install)
 | |
| 	mkdir -p $(bbu)/usr/share/man/man1/
 | |
| 	cp $(bbubd)/docs/BusyBox.1 $(bbu)/usr/share/man/man1/busybox.1
 | |
| 
 | |
| three_quarter_clean:
 | |
| 	dh_testdir
 | |
| 	dh_testroot
 | |
| 	rm -rf $(bbu) debian/build-stamp-busybox-udeb
 | |
| 	-$(MAKE) clean
 | |
| 
 | |
| do_udeb: three_quarter_clean build-udeb install-udeb
 | |
| 
 | |
| 
 | |
| 
 | |
| # Build architecture-independent files here.
 | |
| binary-indep:
 | |
| # We have nothing to do by default.
 | |
| 
 | |
| # Build architecture-dependent files here.
 | |
| binary-arch: busybox busybox-static busybox-udeb
 | |
| 
 | |
| busybox: install
 | |
| 	@echo "--- Building: $@"
 | |
| 	dh_testdir
 | |
| 	dh_testroot
 | |
| 	dh_installdirs
 | |
| 	dh_installdocs       -p$@  $(bbbd)/docs/BusyBox.txt \
 | |
| 		$(bbbd)/docs/BusyBox.html docs/style-guide.txt \
 | |
| 		docs/busybox.lineo.com AUTHORS README TODO
 | |
| 	rm -rf `find $(bb) -name CVS`
 | |
| 	rm -f `find $(bb) -name .cvsignore`
 | |
| 	dh_installchangelogs -p$@ Changelog
 | |
| 	dh_undocumented      -p$@
 | |
| 	dh_strip             -p$@
 | |
| 	dh_compress          -p$@
 | |
| 	dh_fixperms          -p$@
 | |
| 	dh_installdeb        -p$@
 | |
| 	dh_shlibdeps         -p$@
 | |
| 	dh_gencontrol        -p$@
 | |
| 	dh_md5sums           -p$@
 | |
| 	dh_builddeb          -p$@
 | |
| 
 | |
| 
 | |
| busybox-static: do_static
 | |
| 	@echo "--- Building: $@"
 | |
| 	dh_testdir
 | |
| 	dh_testroot
 | |
| 	dh_installdirs
 | |
| 	dh_installdocs       -p$@  $(bbsbd)/docs/BusyBox.txt \
 | |
| 		$(bbsbd)/docs/BusyBox.html docs/style-guide.txt \
 | |
| 		docs/busybox.lineo.com AUTHORS README TODO
 | |
| 	rm -rf `find $(bbs) -name CVS`
 | |
| 	rm -f `find $(bbs) -name .cvsignore`
 | |
| 	dh_installchangelogs -p$@ Changelog
 | |
| 	dh_undocumented      -p$@
 | |
| 	dh_strip             -p$@
 | |
| 	dh_compress          -p$@
 | |
| 	dh_fixperms          -p$@
 | |
| 	dh_installdeb        -p$@
 | |
| 	dh_shlibdeps         -p$@
 | |
| 	dh_gencontrol        -p$@
 | |
| 	dh_md5sums           -p$@
 | |
| 	dh_builddeb          -p$@
 | |
| 
 | |
| 
 | |
| # Note that this builds a .udeb, which is not policy compliant or anything.
 | |
| #
 | |
| busybox-udeb: do_udeb
 | |
| 	@echo "--- Building: $@"
 | |
| 	dh_testdir
 | |
| 	dh_testroot
 | |
| 	dh_installdirs
 | |
| 	dh_strip             -p$@
 | |
| 	dh_compress          -p$@
 | |
| 	dh_fixperms          -p$@
 | |
| 	dh_installdeb        -p$@
 | |
| 	dh_shlibdeps         -p$@
 | |
| 	#Make _very_ sure there are no docs lurking about.
 | |
| 	rm -rf $(bbu)/usr/share/man
 | |
| 	#dh_gencontrol        -p$@
 | |
| 	# Don't write your stupid guesses to debian/files.
 | |
| 	dh_gencontrol        -p$@ -- -fdebian/files~
 | |
| 	# Register file manually.
 | |
| 	dpkg-distaddfile $(FILENAME) debian-installer standard
 | |
| 	dh_md5sums           -p$@
 | |
| 	dh_builddeb          -p$@ --filename=$(FILENAME)
 | |
| 
 | |
| binary: binary-indep binary-arch
 | |
| .PHONY: build clean binary-indep binary-arch binary install
 |