[go: up one dir, main page]

File: common.mak

package info (click to toggle)
s390-tools 1.16.0-2
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 4,332 kB
  • sloc: ansic: 46,620; sh: 8,560; cpp: 8,185; asm: 5,503; perl: 3,014; makefile: 886
file content (116 lines) | stat: -rw-r--r-- 3,802 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
114
115
116
ifndef $(COMMON_INCLUDED)
COMMON_INCLUDED = true

# Global definitions
# The variable "DISTRELEASE" should be overwritten in rpm spec files with:
# "make DISTRELEASE=%{release}" and "make install DISTRELEASE=%{release}"
VERSION            = 1
RELEASE            = 16
PATCHLEVEL         = 0
DISTRELEASE        = build-$(shell date +%Y%m%d)
S390_TOOLS_RELEASE = $(VERSION).$(RELEASE).$(PATCHLEVEL)-$(DISTRELEASE)
export S390_TOOLS_RELEASE

reldir = $(subst $(shell cd -P $(dir $(filter %common.mak,$(MAKEFILE_LIST))); \
	 pwd)/,,$(CURDIR))
rootdir= $(dir $(filter %common.mak,$(MAKEFILE_LIST)))
export S390_TEST_LIB_PATH=$(rootdir)/s390-tools-testsuite/lib

# Cross Compiling Support
CROSS_COMPILE   =
AS              = $(call echocmd,"  AS      ",/$@)$(CROSS_COMPILE)as
LINK            = $(call echocmd,"  LINK    ",/$@)$(CROSS_COMPILE)gcc
LD              = $(call echocmd,"  LD      ",/$@)$(CROSS_COMPILE)ld
CC              = $(call echocmd,"  CC      ",/$@)$(CROSS_COMPILE)gcc
LINKXX          = $(call echocmd,"  LINKXX  ",/$@)$(CROSS_COMPILE)g++
CXX             = $(call echocmd,"  CXX     ",/$@)$(CROSS_COMPILE)g++
CPP             = $(call echocmd,"  CPP     ",/$@)$(CROSS_COMPILE)gcc -E
AR              = $(call echocmd,"  AR      ",/$@)$(CROSS_COMPILE)ar
NM              = $(call echocmd,"  NM      ",/$@)$(CROSS_COMPILE)nm
STRIP           = $(call echocmd,"  STRIP   ",/$@)$(CROSS_COMPILE)strip
OBJCOPY         = $(call echocmd,"  OBJCOPY ",/$@)$(CROSS_COMPILE)objcopy
OBJDUMP         = $(call echocmd,"  OBJDUMP ",/$@)$(CROSS_COMPILE)objdump
RUNTEST         = $(call echocmd,"  RUNTEST ",/$@)$(S390_TEST_LIB_PATH)/s390_runtest

INSTALL         = install
INSTALL_DATA    = ${INSTALL} -m 644
CP              = cp
ifneq ("${V}","1")
	MAKEFLAGS += --quiet
	echocmd=echo $1$(call reldir)$2;
	RUNTEST += > /dev/null 2>&1
else
	echocmd=
endif
ifneq ("${W}","1")
	WARNFLAGS = -W -Wall -Wno-unused-parameter
else
	WARNFLAGS = -W -Wall
endif
# Support alternate install root
INSTROOT        =
USRSBINDIR      = $(INSTROOT)/usr/sbin
USRBINDIR       = $(INSTROOT)/usr/bin
BINDIR          = $(INSTROOT)/sbin
LIBDIR          = $(INSTROOT)/lib
SYSCONFDIR      = $(INSTROOT)/etc
MANDIR          = $(INSTROOT)/usr/share/man
TOOLS_LIBDIR    = $(INSTROOT)/lib/s390-tools
INSTDIRS        = $(USRSBINDIR) $(USRBINDIR) $(BINDIR) $(LIBDIR) $(MANDIR) \
			$(SYSCONFDIR) $(TOOLS_LIBDIR)
export INSTROOT BINDIR LIBDIR MANDIR

# Special defines for zfcpdump
ZFCPDUMP_DIR    = /usr/local/share/zfcpdump
ZFCPDUMP_IMAGE  = zfcpdump.image
ZFCPDUMP_RD     = zfcpdump.rd
export ZFCPDUMP_DIR ZFCPDUMP_IMAGE ZFCPDUMP_RD

CFLAGS		+= $(WARNFLAGS) -DS390_TOOLS_RELEASE=$(S390_TOOLS_RELEASE) \
			-DS390_TOOLS_LIBDIR=$(TOOLS_LIBDIR) \
			-DS390_TOOLS_SYSCONFDIR=$(SYSCONFDIR)
CXXFLAGS	+= $(WARNFLAGS) -DS390_TOOLS_RELEASE=$(S390_TOOLS_RELEASE) \
			-DS390_TOOLS_LIBDIR=$(TOOLS_LIBDIR) \
			-DS390_TOOLS_SYSCONFDIR=$(SYSCONFDIR) \

# make G=1
# Compile tools so that gcov can be used to collect code coverage data.
# See the gcov man page for details.
ifeq ("${G}","1")
CFLAGS := $(filter-out -O%,$(CFLAGS)) -coverage
CXXFLAGS := $(filter-out -O%,$(CXXFLAGS)) -coverage
LDFLAGS += -coverage
endif
export AS LD CC CPP AR NM STRIP OBJCOPY OBJDUMP INSTALL CFLAGS CXXFLAGS LDFLAGS

# Overwrite implicite makefile rules for having nice compile output
%.o: %.c
	$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@

%.o: %.cpp
	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@

%: %.o
	$(LINK) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@

all:

install_dirs:
	$(INSTALL) -d $(INSTDIRS)
	for i in 1 2 3 4 5 6 7 8; do \
		$(INSTALL) -d $(MANDIR)/man$$i; \
	done

install_echo:
	$(call echocmd,"  INSTALL ")

install: install_echo install_dirs

clean_echo:
	$(call echocmd,"  CLEAN   ")
clean_gcov:
	rm -f *.gcda *.gcno *.gcov

clean: clean_echo clean_gcov
endif