File: common.mk

package info (click to toggle)
gkrellm 2.5.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,608 kB
  • sloc: ansic: 54,505; makefile: 640; sh: 244; xml: 49
file content (113 lines) | stat: -rw-r--r-- 2,655 bytes parent folder | download
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# makefile variables and rules shared by both gkrellm and gkrellmd

GKRELLM_VERSION_MAJOR = 2
GKRELLM_VERSION_MINOR = 5
GKRELLM_VERSION_PATCH = 1
GKRELLM_VERSION = $(GKRELLM_VERSION_MAJOR).$(GKRELLM_VERSION_MINOR).$(GKRELLM_VERSION_PATCH)

ifdef CROSS
	# enforce overriding tools for mxe cross builds (http://mxe.cc)
	CC = $(CROSS)gcc
	AR = $(CROSS)ar
	PKG_CONFIG = $(CROSS)pkg-config
	WINDRES = $(CROSS)windres
else
	CC ?= gcc
	AR ?= ar
	PKG_CONFIG ?= pkg-config
	WINDRES ?= windres
endif

# Make configure use identical environment
export CC
export PKG_CONFIG

PREFIX ?= $(INSTALLROOT)
ifeq ($(PREFIX),)
	PREFIX = /usr/local
endif

BINEXT ?=

# Installation path for gkrellm binary
INSTALLDIR ?= $(PREFIX)/bin

# Installation path for gkrellmd binary
SINSTALLDIR ?= $(PREFIX)/bin

# Installation path for gkrellm2 include dir and include files
INCLUDEDIR ?= $(PREFIX)/include

LIBDIR ?= $(PREFIX)/lib

LOCALEDIR ?= $(PREFIX)/share/locale

# Installation path for pkg-config development file
PKGCONFIGDIR ?= $(PREFIX)/lib/pkgconfig

# man-page section for gkrellm manual installation
MANSECTION ?= 1
# Installation path for gkrellm manual
MANDIR ?= $(PREFIX)/share/man/man$(MANSECTION)

# man-page section for gkrellmd manual installation
SMANSECTION ?= 1
# Installation path for gkrellmd manual
SMANDIR ?= $(PREFIX)/share/man/man$(SMANSECTION)

INSTALL ?= install
INSTALL_DATA ?= $(INSTALL) -m 644
INSTALL_DIRECTORY ?= $(INSTALL) -d
INSTALL_PROGRAM ?= $(INSTALL)

LINK_FLAGS ?= -Wl,-E

SHARED_PATH = ../shared

# C standard that gkrellm code targets. Can be overridden
STD_FLAGS ?= -std=gnu99

# Warning flags. Can be overridden
WARN_FLAGS ?= -Wall

FLAGS = $(STD_FLAGS) $(WARN_FLAGS) -I.. -I$(SHARED_PATH)

# optimized build. Enabled by default
optimize ?= 1
ifeq ($(optimize),1)
    FLAGS += -O2
endif

# debug build. Disabled by default
ifeq ($(debug),1)
    FLAGS += -g
endif

# profile build. Disabled by default
ifeq ($(profile),1)
    FLAGS += -g -pg
endif

# i18n support. Enabled by default
enable_nls ?= 1
ifeq ($(enable_nls),1)
    FLAGS += -DENABLE_NLS -DLOCALEDIR=\"$(LOCALEDIR)\"
endif

%.o: %.c
	$(CC) -c $(FLAGS) $(CFLAGS) $(CPPFLAGS) $< -o $@

%-version.h: %-version.h.in
	sed \
		-e 's#@GKRELLM_VERSION_MAJOR@#$(GKRELLM_VERSION_MAJOR)#g'\
		-e 's#@GKRELLM_VERSION_MINOR@#$(GKRELLM_VERSION_MINOR)#g'\
		-e 's#@GKRELLM_VERSION_PATCH@#$(GKRELLM_VERSION_PATCH)#g'\
		$< > $@

%.rc: %.rc.in
	sed \
		-e 's#@GKRELLM_VERSION_MAJOR@#$(GKRELLM_VERSION_MAJOR)#g'\
		-e 's#@GKRELLM_VERSION_MINOR@#$(GKRELLM_VERSION_MINOR)#g'\
		-e 's#@GKRELLM_VERSION_PATCH@#$(GKRELLM_VERSION_PATCH)#g'\
		-e 's#@GKRELLM_VERSION@#$(GKRELLM_VERSION)#g'\
		$< > $@