Skip to content
Snippets Groups Projects
Makefile 967 B
Newer Older
  • Learn to ignore specific revisions
  • SHELL = bash
    
    Florian Schmaus's avatar
    Florian Schmaus committed
    
    
    .PHONY: all build check check-format clean distclean\
    	doc release debug stresstest test
    
    
    all: build
    
    export BUILDTYPE ?= debugoptimized
    export BUILDDIR = build-$(BUILDTYPE)
    
    NINJA_BIN ?= ninja
    NINJA := $(NINJA_BIN) $(EXTRA_NINJA_ARGS)
    
    build:
    	[[ -L build ]] || ./tools/prepare-build-dir
    	$(NINJA) -C $@
    
    release:
    	rm -f build
    	$(MAKE) build BUILDTYPE=$@
    
    debug:
    	rm -f build
    	$(MAKE) build BUILDTYPE=$@
    
    Florian Schmaus's avatar
    Florian Schmaus committed
    
    
    SMOKE_TEST_NINJA_TARGETS += iwyu
    
    	cd build && meson test --suite smoke
    
    	$(NINJA) -C build $(SMOKE_TEST_NINJA_TARGETS)
    
    Florian Schmaus's avatar
    Florian Schmaus committed
    
    
    
    TEST_NINJA_TARGETS += test
    
    doc: all
    	$(NINJA) -C build doc/html
    
    check: test
    
    test: all
    	$(NINJA) -C build $(TEST_NINJA_TARGETS)
    
    Florian Schmaus's avatar
    Florian Schmaus committed
    
    clean:
    	rm -f build
    	rm -rf build-*
    
    
    distclean: clean
    	./scripts/dependencyManager.sh -v clean
    
    	./scripts/versionManager.sh -v clean
    
    Florian Schmaus's avatar
    Florian Schmaus committed
    	git clean -x -d -f
    
    
    Florian Schmaus's avatar
    Florian Schmaus committed
    
    stresstest: test
    	./stresstest/stresstest.sh build/tests/simplest_fib_test