File: Makefile

package info (click to toggle)
stlink 1.7.0%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,464 kB
  • sloc: ansic: 12,183; asm: 219; makefile: 86; sh: 50
file content (64 lines) | stat: -rw-r--r-- 1,503 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
##
# This Makefile is used to drive building of CMake build targets
##

MAKEFLAGS += -s

# additional flags for cmake, e.g. install path -DCMAKE_INSTALL_PREFIX=$(HOME)/.local
CMAKEFLAGS +=

all: release
ci: debug release test

help:
		@echo "        debug: Run a debug build"
		@echo "      release: Run a release build"
		@echo "      install: Install release build"
		@echo "    uninstall: Uninstall release build"
		@echo "      package: Package release build"
		@echo "         lint: Lint check all source-code"
		@echo "         test: Build and run tests"
		@echo "        clean: Clean all build output"
		@echo "rebuild_cache: Rebuild all CMake caches"

rebuild_cache: build/Debug build/Release
		@$(MAKE) -C build/Debug rebuild_cache
		@$(MAKE) -C build/Release rebuild_cache

debug: build/Debug
		@echo "[DEBUG]"
		@$(MAKE) -C build/Debug

release: build/Release
		@echo "[RELEASE]"
		@$(MAKE) -C build/Release

install: build/Release
		@echo "[INSTALL] Release"
		@$(MAKE) -C build/Release install

uninstall: build/Release
		@echo "[UNINSTALL] Release"
		@$(MAKE) -C build/Release uninstall

package: build/Release
		@echo "[PACKAGE] Release"
		@$(MAKE) -C build/Release package

test: debug
		@echo "[TEST] Debug"
		@$(MAKE) -C build/Debug test

build/Debug:
		@mkdir -p $@
		@cd $@ && cmake -DCMAKE_BUILD_TYPE=Debug $(CMAKEFLAGS) ../../

build/Release:
		@mkdir -p $@
		@cd $@ && cmake -DCMAKE_BUILD_TYPE=Release $(CMAKEFLAGS) ../../

clean:
		@echo "[CLEAN]"
		@rm -Rf build

.PHONY: clean