diff --git a/Makefile b/Makefile index 200f01f8392..855a8ab06d5 100644 --- a/Makefile +++ b/Makefile @@ -16,10 +16,21 @@ db-benchmark-test.dir: src.dir db-benchmark-test-cxx.dir: cxx.dir utils.dir: src.dir +newbrt.cleandir: $(OS_CHOICE).cleandir +src.cleandir: newbrt.cleandir +cxx.cleandir: src.cleandir +db-benchmark-test.cleandir: src.cleandir +db-benchmark-test-cxx.cleandir: cxx.cleandir +utils.cleandir: src.cleandir + %.dir: - cd $(patsubst %.dir, %, $@) && $(MAKE) build + cd $* && $(MAKE) build + +%.localdir: + cd $* && $(MAKE) local build: $(patsubst %,%.dir, $(BUILDDIRS)) +local: $(patsubst %,%.localdir, $(BUILDDIRS)) CHECKS = $(patsubst %,%.checkdir,$(filter-out linux, $(SRCDIRS))) diff --git a/cxx/Makefile b/cxx/Makefile index e551b6ca95e..f351674703f 100644 --- a/cxx/Makefile +++ b/cxx/Makefile @@ -28,7 +28,10 @@ endif LIBNAME = libtokudb_cxx -default: install build +default: local + +local: install build; + build: $(LIBNAME).a if ! diff $(LIBNAME).a ../lib/$(LIBNAME).a >/dev/null 2>&1; then cp $< ../lib/; fi cd tests; $(MAKE) build diff --git a/db-benchmark-test-cxx/Makefile b/db-benchmark-test-cxx/Makefile index 6dad6a05f2b..f8f449a3457 100644 --- a/db-benchmark-test-cxx/Makefile +++ b/db-benchmark-test-cxx/Makefile @@ -46,7 +46,8 @@ QUIET = endif default: build -build: $(TARGETS) +build: local; +local: $(TARGETS); check: check-default diff --git a/db-benchmark-test/Makefile b/db-benchmark-test/Makefile index d4d17e27a59..ba872c68854 100644 --- a/db-benchmark-test/Makefile +++ b/db-benchmark-test/Makefile @@ -40,7 +40,10 @@ SCANSCAN_TDB = scanscan-tokudb$(BINSUF) TARGETS = $(TARGET_BDB) $(SCANSCAN_BDB) $(TARGET_TDB) $(SCANSCAN_TDB) default: build -build: $(TARGETS) +build: local; + +local: $(TARGETS); + build.bdb: $(TARGET_BDB) $(SCANSCAN_BDB) build.tdb: $(TARGET_TDB) $(SCANSCAN_TDB) diff --git a/linux/Makefile b/linux/Makefile index 6a3a012ecd1..c43000ebbac 100644 --- a/linux/Makefile +++ b/linux/Makefile @@ -21,4 +21,5 @@ clean: rm -rf $(TARGET) $(LIBPORTABILITY) # For build, do nothing -build: +local build:; + diff --git a/man/texi/Makefile b/man/texi/Makefile index 38ed7519b44..18f90b98ac3 100644 --- a/man/texi/Makefile +++ b/man/texi/Makefile @@ -7,7 +7,7 @@ SECTIONS = intro SECTIONS_TEXI = $(patsubst %,%.texi,$(SECTIONS)) default: $(MANPAGES_3) tokudb.dvi; -build: default; +local build: default; tokudb.dvi: tokudb.texi $(MANPAGES_TEXI) $(SECTIONS_TEXI) texi2dvi4a2ps tokudb.texi diff --git a/newbrt/Makefile b/newbrt/Makefile index 92158bb6aca..b31d8624b94 100644 --- a/newbrt/Makefile +++ b/newbrt/Makefile @@ -31,9 +31,11 @@ BINS_O = $(patsubst %,%.$(OEXT),$(BINS_RAW)) .PHONY: build default bins libs -build default: bins libs $(TEST_NEWBRT) +build default: local cd tests;$(MAKE) build +local: bins libs $(TEST_NEWBRT); + BRT_SOURCES = \ block_allocator \ bread \ diff --git a/src/Makefile b/src/Makefile index 3fabf8bd39f..542572a1936 100644 --- a/src/Makefile +++ b/src/Makefile @@ -49,7 +49,8 @@ INSTALL_LIBRARIES= $(patsubst %,%.install,$(LIBRARIES)) #Half Build Half Install??? build: local build_tests ; -local: buildlocktrees libs install_libs ; +.PHONY: install +local install: buildlocktrees libs install_libs ; build_tests: | local cd tests && $(MAKE) build @@ -62,8 +63,6 @@ install_libs: $(INSTALL_LIBRARIES) %.install: % if ! diff $* ../lib/$* > /dev/null 2>&1; then cp $* ../lib/; fi -.PHONY: install -install: libs install_libs ; .PHONY: local libs buildlocktrees libs: $(LIBRARIES) ; diff --git a/utils/Makefile b/utils/Makefile index b69888f4774..de240b4e5e8 100644 --- a/utils/Makefile +++ b/utils/Makefile @@ -67,7 +67,8 @@ endif .PHONY: all clean test test_gen test_gen_hex test_load test_dump -build all: $(UTILS) $(BDB_UTILS) $(STATIC_UTILS) +build all: local +local: $(UTILS) $(BDB_UTILS) $(STATIC_UTILS); coverage: $(UTILS) diff --git a/windows/Makefile b/windows/Makefile index dfc835b9a78..b2f44ec18f3 100644 --- a/windows/Makefile +++ b/windows/Makefile @@ -22,3 +22,6 @@ $(TARGET): $(OBJS) clean: rm -rf $(TARGET) $(LIBPORTABILITY) +# For build, do nothing +local build:; +