forked from lifehackerhansol/dldipatch
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
71 lines (55 loc) · 1.56 KB
/
Makefile
File metadata and controls
71 lines (55 loc) · 1.56 KB
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
65
66
67
68
69
70
71
# SPDX-License-Identifier: CC0-1.0
#
# SPDX-FileContributor: Antonio Niño Díaz, 2023-2025
# Tools
# -----
STRIP := -s
BINMODE := 755
HOSTCC ?= gcc
CP := cp
RM := rm -rf
INSTALL := install
# Version string handling
# -----------------------
# Try to generate a version string if it isn't already provided
ifeq ($(VERSION_STRING),)
# Try an exact match with a tag (e.g. v1.12.1)
VERSION_STRING := $(shell git describe --tags --exact-match --dirty 2>/dev/null)
ifeq ($(VERSION_STRING),)
# Try a non-exact match (e.g. v1.12.1-3-g67a811a)
VERSION_STRING := $(shell git describe --tags --dirty 2>/dev/null)
ifeq ($(VERSION_STRING),)
# If no version is provided by the user or git, fall back to this
VERSION_STRING := DEV
endif
endif
endif
# Defines passed to all files
# ---------------------------
DEFINES := -DVERSION_STRING=\"$(VERSION_STRING)\"
# Verbose flag
# ------------
ifeq ($(VERBOSE),1)
V :=
else
V := @
endif
# Targets
# -------
.PHONY: all clean install
all: dldipatch
dldipatch: dldipatch.c
@echo " HOSTCC $<"
$(V)$(HOSTCC) $(DEFINES) -Wall -Wextra -Wno-unused-result -std=gnu11 -O3 -o $@ $<
clean:
@echo " CLEAN "
$(V)rm -rf dldipatch
INSTALLDIR ?= /opt/blocksds/core/tools/dldipatch
INSTALLDIR_ABS := $(abspath $(INSTALLDIR))
install: all
@echo " INSTALL $(INSTALLDIR_ABS)"
@test $(INSTALLDIR_ABS)
$(V)$(RM) $(INSTALLDIR_ABS)
$(V)$(INSTALL) -d $(INSTALLDIR_ABS)
$(V)$(INSTALL) $(STRIP) -m $(BINMODE) dldipatch $(INSTALLDIR_ABS)
$(V)$(CP) license.txt $(INSTALLDIR_ABS)