[tor-commits] [torbrowser/master] Add dependencies for all build- targets

erinn at torproject.org erinn at torproject.org
Thu Mar 8 20:43:02 UTC 2012


commit 4078a8417ef7ab8be7a93efd36c69c50dde436e8
Author: Sebastian Hahn <sebastian at torproject.org>
Date:   Wed Feb 1 19:10:00 2012 +0100

    Add dependencies for all build- targets
---
 build-scripts/linux.mk    |   34 +++++++++++++++++++++-------------
 build-scripts/osx.mk      |   21 ++++++++++++++-------
 build-scripts/versions.mk |    9 ++++++++-
 build-scripts/windows.mk  |   19 +++++++++++++------
 4 files changed, 56 insertions(+), 27 deletions(-)

diff --git a/build-scripts/linux.mk b/build-scripts/linux.mk
index 5073b70..8f25015 100644
--- a/build-scripts/linux.mk
+++ b/build-scripts/linux.mk
@@ -53,48 +53,55 @@ source-dance: fetch-source unpack-source
 	echo "We're ready for building now."
 
 ZLIB_OPTS=--shared --prefix=$(BUILT_DIR)
-build-zlib:
+build-zlib: $(ZLIB_DIR)
 	cd $(ZLIB_DIR) && ./configure $(ZLIB_OPTS)
 	cd $(ZLIB_DIR) && make -j $(NUM_CORES)
 	cd $(ZLIB_DIR) && make install
+	touch build-zlib
+
+LIBPNG_OPTS=--prefix=$(BUILT_DIR)
+build-libpng: $(LIBPNG_DIR)
+	cd $(LIBPNG_DIR) && ./configure $(LIBPNG_OPTS)
+	cd $(LIBPNG_DIR) && make
+	cd $(LIBPNG_DIR) && make install
+	touch build-libpng
 
 OPENSSL_OPTS=-no-idea -no-rc5 -no-md2 shared zlib --prefix=$(BUILT_DIR) --openssldir=$(BUILT_DIR) -I$(BUILT_DIR)/include -L$(BUILT_DIR)/lib
-build-openssl:
+build-openssl: build-zlib $(OPENSSL_DIR)
 	cd $(OPENSSL_DIR) && ./config $(OPENSSL_OPTS)
 	cd $(OPENSSL_DIR) && make depend
 	cd $(OPENSSL_DIR) && make
 	cd $(OPENSSL_DIR) && make install
+	touch build-openssl
 
 QT_BUILD_PREFS=-system-zlib -confirm-license -opensource -openssl-linked -no-qt3support -fast -release -nomake demos -nomake examples
 QT_OPTS=$(QT_BUILD_PREFS) -prefix $(BUILT_DIR) -I $(BUILT_DIR)/include -I $(BUILT_DIR)/include/openssl/ -L$(BUILT_DIR)/lib
-build-qt:
+build-qt: build-zlib build-openssl $(QT_DIR)
 	cd $(QT_DIR) && ./configure $(QT_OPTS)
 	cd $(QT_DIR) && make -j $(NUM_CORES)
 	cd $(QT_DIR) && make install
+	touch build-qt
 
 VIDALIA_OPTS=-DOPENSSL_LIBCRYPTO=$(BUILT_DIR)/lib/libcrypto.so.1.0.0 -DOPENSSL_LIBSSL=$(BUILT_DIR)/lib/libssl.so.1.0.0 -DCMAKE_BUILD_TYPE=debug -DQT_QMAKE_EXECUTABLE=$(BUILT_DIR)/bin/qmake ..
-build-vidalia:
+build-vidalia: build-openssl build-qt $(VIDALIA_DIR)
 	-mkdir $(VIDALIA_DIR)/build
 	cd $(VIDALIA_DIR)/build && cmake $(VIDALIA_OPTS) && make -j $(NUM_CORES)
 	cd $(VIDALIA_DIR)/build && DESTDIR=$(BUILT_DIR) make install
+	touch build-vidalia
 
 LIBEVENT_OPTS=--prefix=$(BUILT_DIR)
-build-libevent:
+build-libevent: build-zlib build-openssl $(LIBEVENT_DIR)
 	cd $(LIBEVENT_DIR) && ./configure $(LIBEVENT_OPTS)
 	cd $(LIBEVENT_DIR) && make -j $(NUM_CORES)
 	cd $(LIBEVENT_DIR) && make install
-
-LIBPNG_OPTS=--prefix=$(BUILT_DIR)
-build-libpng:
-	cd $(LIBPNG_DIR) && ./configure $(LIBPNG_OPTS)
-	cd $(LIBPNG_DIR) && make
-	cd $(LIBPNG_DIR) && make install
+	touch build-libevent
 
 TOR_OPTS=--enable-gcc-warnings --with-openssl-dir=$(BUILT_DIR) --with-zlib-dir=$(BUILT_DIR) --with-libevent-dir=$(BUILT_DIR)/lib --prefix=$(BUILT_DIR)
-build-tor:
+build-tor: build-zlib build-openssl build-libevent $(TOR_DIR)
 	cd $(TOR_DIR) && ./configure $(TOR_OPTS)
 	cd $(TOR_DIR) && make -j $(NUM_CORES)
 	cd $(TOR_DIR) && make install
+	touch build-tor
 
 ## Polipo doesn't use autoconf, so we just have to hack their Makefile
 ## This probably needs to be updated if Polipo ever updates their Makefile
@@ -107,9 +114,10 @@ build-polipo:
 build-pidgin:
 	echo "We're not building pidgin yet!"
 
-build-firefox:
+build-firefox: $(CONFIG_SRC)/dot_mozconfig $(FIREFOX_DIR)
 	cp $(CONFIG_SRC)/dot_mozconfig $(FIREFOX_DIR)/mozconfig
 	cd $(FIREFOX_DIR) && make -f client.mk build
+	touch build-firefox
 
 copy-firefox:
 	-rm -rf $(FETCH_DIR)/Firefox
diff --git a/build-scripts/osx.mk b/build-scripts/osx.mk
index c5cfdfb..947c04e 100644
--- a/build-scripts/osx.mk
+++ b/build-scripts/osx.mk
@@ -66,13 +66,14 @@ source-dance: fetch-source unpack-source
 
 ZLIB_OPTS=--prefix=$(BUILT_DIR)
 ZLIB_CFLAGS="-arch $(ARCH_TYPE)"
-build-zlib:
+build-zlib: $(ZLIB_DIR)
 	cd $(ZLIB_DIR) && CFLAGS=$(ZLIB_CFLAGS) ./configure $(ZLIB_OPTS)
 	cd $(ZLIB_DIR) && make -j $(NUM_CORES)
 	cd $(ZLIB_DIR) && make install
+	touch build-zlib
 
 OPENSSL_OPTS=-no-rc5 -no-md2 -no-man shared zlib $(BACKWARDS_COMPAT) --prefix=$(BUILT_DIR) --openssldir=$(BUILT_DIR) -L$(BUILT_DIR)/lib -I$(BUILT_DIR)/include
-build-openssl:
+build-openssl: build-zlib $(OPENSSL_DIR)
 	cp ../src/current-patches/openssl/*patch $(OPENSSL_DIR)
 	cp patch-any-src.sh $(OPENSSL_DIR)
 	cd $(OPENSSL_DIR) && ./patch-any-src.sh
@@ -85,44 +86,50 @@ endif
 # Do not use -j for the following make call, random build errors might happen.
 	cd $(OPENSSL_DIR) && make
 	cd $(OPENSSL_DIR) && make install
+	touch build-openssl
 
 
 QT_BUILD_PREFS=-system-zlib -confirm-license -opensource -openssl-linked -no-qt3support \
 	-fast -release -no-framework -nomake demos -nomake examples $(SDK)
 QT_OPTS=$(QT_BUILD_PREFS) -prefix $(BUILT_DIR) -I $(BUILT_DIR)/include -I $(BUILT_DIR)/include/openssl/ -L $(BUILT_DIR)/lib
-build-qt:
+build-qt: build-zlib build-openssl $(QT_DIR)
 	cd $(QT_DIR) && ./configure $(QT_OPTS)
 	cd $(QT_DIR) && make -j $(NUM_CORES)
 	cd $(QT_DIR) && make install
+	touch build-qt
 
 VIDALIA_OPTS=-DCMAKE_OSX_ARCHITECTURES=$(ARCH_TYPE) -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake \
 	-DCMAKE_BUILD_TYPE=debug ..
-build-vidalia:
+build-vidalia: build-openssl build-qt $(VIDALIA_DIR)
 	export MACOSX_DEPLOYMENT_TARGET=$(OSX_VERSION)
 	-mkdir $(VIDALIA_DIR)/build
 	cd $(VIDALIA_DIR)/build && cmake $(VIDALIA_OPTS) \
 	&& make -j $(NUM_CORES) && make dist-osx-libraries
 	cd $(VIDALIA_DIR)/build && DESTDIR=$(BUILT_DIR) make install
+	touch build-vidalia
 
 LIBEVENT_CFLAGS="-O -g -arch $(ARCH_TYPE) $(MIN_VERSION) $(CF_MIN_VERSION) -arch $(ARCH_TYPE)"
 LIBEVENT_LDFLAGS="-L$(BUILT_DIR)/lib $(LD_MIN_VERSION)"
 LIBEVENT_OPTS=--prefix=$(BUILT_DIR) --enable-static --disable-shared --disable-dependency-tracking $(CC)
-build-libevent:
+build-libevent: build-zlib build-openssl $(LIBEVENT_DIR)
 	cd $(LIBEVENT_DIR) && CFLAGS=$(LIBEVENT_CFLAGS) LDFLAGS=$(LIBEVENT_LDFLAGS) ./configure $(LIBEVENT_OPTS)
 	cd $(LIBEVENT_DIR) && make -j $(NUM_CORES)
 	cd $(LIBEVENT_DIR) && make install
+	touch build-libevent
 
 TOR_CFLAGS="-O -g -arch $(ARCH_TYPE) -I$(BUILT_DIR)/include $(MIN_VERSION) $(CF_MIN_VERSION)"
 TOR_LDFLAGS="-L$(BUILT_DIR)/lib $(LD_MIN_VERSION)"
 TOR_OPTS=--enable-static-openssl --enable-static-libevent --with-openssl-dir=$(BUILT_DIR)/lib --with-libevent-dir=$(BUILT_DIR)/lib --prefix=$(BUILT_DIR) --disable-dependency-tracking $(CC)
-build-tor:
+build-tor: build-zlib build-openssl build-libevent $(TOR_DIR)
 	cd $(TOR_DIR) && CFLAGS=$(TOR_CFLAGS) LDFLAGS=$(TOR_LDFLAGS) ./configure $(TOR_OPTS)
 	cd $(TOR_DIR) && make -j $(NUM_CORES)
 	cd $(TOR_DIR) && make install
+	touch build-tor
 
-build-firefox:
+build-firefox: $(FIREFOX_DIR) $(CONFIG_SRC)/mozconfig-osx-$(ARCH_TYPE)
 	cp $(CONFIG_SRC)/mozconfig-osx-$(ARCH_TYPE) $(FIREFOX_DIR)/mozconfig
 	cd $(FIREFOX_DIR) && make -f client.mk build
+	touch build-firefox
 
 copy-firefox:
 	-rm -rf $(FETCH_DIR)/Firefox.app
diff --git a/build-scripts/versions.mk b/build-scripts/versions.mk
index 9bd254d..da23ea1 100644
--- a/build-scripts/versions.mk
+++ b/build-scripts/versions.mk
@@ -171,4 +171,11 @@ clean-unpack-%:
 
 clean-unpack: clean-unpack-zlib clean-unpack-libpng clean-unpack-qt clean-unpack-openssl clean-unpack-vidalia clean-unpack-libevent clean-unpack-tor clean-unpack-firefox
 
-.PHONY: clean-fetch clean-unpack
+clean-build-%:
+	rm -rf $($($*)_DIR)
+	rm -rf build-$*
+
+clean-build: clean-build-zlib clean-build-libpng clean-build-qt clean-build-openssl clean-build-vidalia clean-build-libevent clean-build-tor clean-build-firefox
+
+.PHONY: clean-fetch clean-unpack clean-build
+
diff --git a/build-scripts/windows.mk b/build-scripts/windows.mk
index 862cd40..046baa4 100644
--- a/build-scripts/windows.mk
+++ b/build-scripts/windows.mk
@@ -73,40 +73,46 @@ include $(PWD)/versions.mk
 source-dance: fetch-source unpack-source
 	echo "We're ready for building now."
 
-build-zlib:
+build-zlib: $(ZLIB_DIR)
 	cd $(ZLIB_DIR) && sed -i -e "s%prefix = /usr/local%prefix = ${BUILT_DIR}%" win32/Makefile.gcc
 	cd $(ZLIB_DIR) && LDFLAGS="-Wl,--nxcompat -Wl,--dynamicbase" make -f win32/Makefile.gcc -j $(NUM_CORES)
 	cd $(ZLIB_DIR) && BINARY_PATH="$(BUILT_DIR)/bin" INCLUDE_PATH="$(BUILT_DIR)/include" LIBRARY_PATH="$(BUILT_DIR)/lib" make -f win32/Makefile.gcc install
+	touch build-zlib
 
 OPENSSL_OPTS=-no-idea -no-rc5 -no-md2 shared zlib --prefix=$(BUILT_DIR) --openssldir=$(BUILT_DIR) -L$(BUILT_DIR)/lib -Wl,--nxcompat -Wl,--dynamicbase -I$(BUILT_DIR)/include
-build-openssl:
+build-openssl: build-zlib $(OPENSSL_DIR)
 	cd $(OPENSSL_DIR) && ./config $(OPENSSL_OPTS)
 	cd $(OPENSSL_DIR) && make depend
 	cd $(OPENSSL_DIR) && make
 	cd $(OPENSSL_DIR) && make install
+	touch build-openssl
 
 VIDALIA_OPTS=-DCMAKE_EXE_LINKER_FLAGS="-static-libstdc++ -Wl,--nxcompat -Wl,--dynamicbase" -DWIN2K=1 -DQT_MAKE_EXECUTABLE=/c/Qt/$(QT_VER)/bin/qmake -DCMAKE_BUILD_TYPE=minsizerel -DMINGW_BINARY_DIR=$(MING) -DOPENSSL_BINARY_DIR=$(OPENSSL) -DWIX_BINARY_DIR=$(WIX_LIB)
-build-vidalia:
+# XXX Once we build qt on windows, we'll want to add build-qt here
+build-vidalia: build-openssl $(VIDALIA_DIR)
 	-mkdir $(VIDALIA_DIR)/build
 	cd $(VIDALIA_DIR)/build && cmake -G "MSYS Makefiles" $(VIDALIA_OPTS) ..
 	cd $(VIDALIA_DIR)/build && make -j $(NUM_CORES)
+	touch build-vidalia
 
 LIBEVENT_CFLAGS="-I$(BUILT_DIR)/include -O -g"
 LIBEVENT_LDFLAGS="-L$(BUILT_DIR)/lib -L$(BUILT_DIR)/bin -Wl,--nxcompat -Wl,--dynamicbase"
 LIBEVENT_OPTS=--prefix=$(BUILT_DIR) --enable-static --disable-shared --disable-dependency-tracking
-build-libevent:
+build-libevent: build-zlib build-openssl $(LIBEVENT_DIR)
 	cd $(LIBEVENT_DIR) && CFLAGS=$(LIBEVENT_CFLAGS) LDFLAGS=$(LIBEVENT_LDFLAGS) ./configure $(LIBEVENT_OPTS)
 	cd $(LIBEVENT_DIR) && make -j $(NUM_CORES)
 	cd $(LIBEVENT_DIR) && make install
+	touch build-libevent
 
 TOR_CFLAGS="-O -g -I$(BUILT_DIR)/include"
 TOR_LDFLAGS="-L$(BUILT_DIR)/lib -L$(BUILT_DIR)/bin"
 TOR_OPTS=--enable-static-libevent --with-libevent-dir=$(BUILT_DIR)/lib --prefix=$(BUILT_DIR)
 build-tor:PATH+=:$(BUILT_DIR)/bin
-build-tor:
+build-tor: build-zlib build-openssl build-libevent $(TOR_DIR)
 	cd $(TOR_DIR) && CFLAGS=$(TOR_CFLAGS) LDFLAGS=$(TOR_LDFLAGS) ./configure $(TOR_OPTS)
 	cd $(TOR_DIR) && make -j $(NUM_CORES)
 	cd $(TOR_DIR) && make install
+	touch build-tor
 
 patch-mozbuild:
 	cp ../src/current-patches/mozilla-build/start-msvc.patch $(MOZ_BUILD)
@@ -114,9 +120,10 @@ patch-mozbuild:
 	cp patch-mozilla-build.sh $(MOZ_BUILD)
 	cd $(MOZ_BUILD) && ./patch-mozilla-build.sh $(MSVC_VER)
 
-build-firefox:
+build-firefox: $(FIREFOX_DIR) $(CONFIG_SRC)/dot_mozconfig $(MOZ_BUILD) $(MOZ_BUILD)/start-msvc$(MSVC_VER).bat
 	cp $(CONFIG_SRC)/dot_mozconfig $(FIREFOX_DIR)/mozconfig
 	cd $(MOZ_BUILD) && cmd.exe /c "start-msvc$(MSVC_VER).bat $(FIREFOX_DIR)"
+	touch build-firefox
 
 copy-firefox:
 	-rm -rf $(FIREFOX)





More information about the tor-commits mailing list