69 строки
2.2 KiB
Makefile
69 строки
2.2 KiB
Makefile
|
|
include $(TOP)/Make.config
|
|
include $(TOP)/mk/colors.mk
|
|
|
|
unexport MSBUILD_EXE_PATH
|
|
|
|
BINLOG_TIMESTAMP:=$(shell date +%Y-%m-%d-%H%M%S)
|
|
|
|
ifeq ($(TESTNAME),)
|
|
TESTNAME:=$(notdir $(shell dirname "$(shell dirname "$(CURDIR)")"))
|
|
endif
|
|
|
|
ifeq ($(CONFIG),)
|
|
CONFIG=Debug
|
|
else
|
|
CONFIG_ARGUMENT=/p:Configuration=$(CONFIG)
|
|
endif
|
|
|
|
prepare:
|
|
@# nothing to do here right now
|
|
|
|
reload:
|
|
$(Q) $(MAKE) -C $(TOP) -j8 all
|
|
$(Q) $(MAKE) -C $(TOP) -j8 install
|
|
$(Q) git clean -xfdq
|
|
$(Q) $(DOTNET) build-server shutdown # make sure msbuild picks up any new task assemblies we built
|
|
|
|
reload-and-build:
|
|
$(Q) $(MAKE) reload
|
|
$(Q) $(MAKE) build
|
|
|
|
reload-and-run:
|
|
$(Q) $(MAKE) reload
|
|
$(Q) $(MAKE) run
|
|
|
|
build: prepare
|
|
$(Q) $(DOTNET) build "/bl:$(abspath $@-$(BINLOG_TIMESTAMP).binlog)" *.?sproj $(MSBUILD_VERBOSITY) $(BUILD_ARGUMENTS) $(CONFIG_ARGUMENT)
|
|
|
|
run: prepare
|
|
$(Q) $(DOTNET) build "/bl:$(abspath $@-$(BINLOG_TIMESTAMP).binlog)" *.?sproj $(MSBUILD_VERBOSITY) $(BUILD_ARGUMENTS) $(CONFIG_ARGUMENT) -t:Run
|
|
|
|
run-bare:
|
|
$(Q) "$(abspath .)"/bin/$(CONFIG)/$(DOTNET_TFM)-*/*/"$(TESTNAME)".app/Contents/MacOS/"$(TESTNAME)" --autostart --autoexit
|
|
|
|
run-remote:
|
|
$(Q) test -n "$(REMOTE_HOST)" || ( echo "Must specify the remote machine by setting the REMOTE_HOST environment variable"; exit 1 )
|
|
@echo "Copying the '$(TESTNAME)' test app to $(REMOTE_HOST)..."
|
|
rsync -avz ./bin/$(CONFIG)/$(DOTNET_TFM)-*/*/"$(TESTNAME)".app $(USER)@$(REMOTE_HOST):/tmp/test-run-remote-execution/
|
|
@echo "Killing any existing test executables ('$(TESTNAME)')"
|
|
ssh $(USER)@$(REMOTE_HOST) -- pkill -9 "$(TESTNAME)" || true
|
|
@echo "Executing '$(TESTNAME)' on $(REMOTE_HOST)..."
|
|
ssh $(USER)@$(REMOTE_HOST) -- /tmp/test-run-remote-execution/"$(TESTNAME)".app/Contents/MacOS/"$(TESTNAME)" --autostart --autoexit
|
|
|
|
delete-remote:
|
|
$(Q) test -n "$(REMOTE_HOST)" || ( echo "Must specify the remote machine by setting the REMOTE_HOST environment variable"; exit 1 )
|
|
ssh $(USER)@$(REMOTE_HOST) -- rm -rf /tmp/test-run-remote-execution/"$(TESTNAME)".app
|
|
|
|
BINLOGS:=$(wildcard *.binlog)
|
|
diag: prepare
|
|
$(Q) if [[ "$(words $(BINLOGS))" == "1" ]]; then \
|
|
$(DOTNET) build /v:diag $(BINLOGS); \
|
|
else \
|
|
echo "Choose your binlog to print:"; \
|
|
select binlog in $(BINLOGS); do $(DOTNET) build /v:diag $$binlog; break; done \
|
|
fi
|
|
|
|
clean:
|
|
rm -Rf bin obj *.binlog
|