.PHONY: default_target
-default_target: build
+default_target: all
# make doesn't give us an easy way to get the libraries built in
# dependency order the first time, but not rebuild base (for example)
boot: $(BOOTSTRAP_STAMPS) ifBuildable/ifBuildable \
$(foreach SUBDIR,$(SUBDIRS),$(SUBDIR)/setup/Setup) \
- $(foreach SUBDIR,$(SUBDIRS),$(SUBDIR)/GNUmakefile) \
installPackage/installPackage
# We build the Setup program in a setup subdirectory to stop it trying
$(foreach SUBDIR,$(SUBDIRS),rebuild.library.$(SUBDIR)):\
rebuild.library.%: clean.library.% make.library.%
+# NB. we're depending on make chasing dependencies from left to right here.
+# This bit goes wrong with 'make -j'.
build: $(foreach SUBDIR,$(SUBDIRS),make.library.$(SUBDIR))
build: installPackage/installPackage
make.library.%: stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).% \
%/GNUmakefile \
%/setup/Setup ifBuildable/ifBuildable
- ifBuildable/ifBuildable $* $(MAKE)
+# HACK: invoke make via $(SHELL), otherwise on Windows it apparently
+# gets argv[0] set to "make" (with quotes), which causes a problem
+# when make re-invokes itself after creating .depend. Ugh.
+ ifBuildable/ifBuildable $* $(SHELL) -c $(MAKE)
ifBuildable/ifBuildable $* setup/Setup register --inplace
# Build the library using 'setup build' (not the default)
$(RM) -f stamp/configure.library.*.$* $*/unbuildable
-cd $* && setup/Setup clean
$(RM) -rf $*/setup
+ $(RM) $*/GNUmakefile $*/Makefile.local
endif
# -----------------------------------------------------------------------------