File: Makefile

package info (click to toggle)
pbzip2 1.1.13-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 448 kB
  • sloc: cpp: 4,357; ruby: 101; makefile: 31
file content (85 lines) | stat: -rw-r--r-- 2,645 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
# Make file for parallel BZIP2
SHELL = /bin/sh


# Compiler to use
# CXX = g++


# Thread-related flags
# On some compilers -pthreads
CXXFLAGS_PTHREAD = -pthread

# Comment out CXXFLAGS line below to disable pthread semantics in code
CXXFLAGS_PTHREAD += -D_POSIX_PTHREAD_SEMANTICS

LDLIBS_PTHREAD = -lpthread


# Optimization flags
CXXFLAGS += $(CPPFLAGS)

#CXXFLAGS += -g -Wall
#CXXFLAGS += -ansi
#CXXFLAGS += -pedantic
#CXXFLAGS += -std=c++0x

# Comment out CXXFLAGS line below for compatability mode for 32bit file sizes
# (less than 2GB) and systems that have compilers that treat int as 64bit
# natively (ie: modern AIX)
CXXFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64

# Uncomment CXXFLAGS line below if you want to compile pbzip2 without load
# average support for systems that do not support it
#CXXFLAGS += -DPBZIP_NO_LOADAVG

# Uncomment CXXFLAGS line below to get debug output
#CXXFLAGS += -DPBZIP_DEBUG

# Comment out CXXFLAGS line below to disable Thread stack size customization
CXXFLAGS += -DUSE_STACKSIZE_CUSTOMIZATION

# Comment out CXXFLAGS line below to explicity set ignore trailing garbage
# default behavior: 0 - disabled; 1 - enabled (ignore garbage by default)
# If IGNORE_TRAILING_GARBAGE is not defined: behavior is automatically determined
# by program name: bzip2, bunzip2, bzcat - ignore garbage; otherwise - not.
#CXXFLAGS += -DIGNORE_TRAILING_GARBAGE=1

# Add thread-related flags
CXXFLAGS += $(CXXFLAGS_PTHREAD)



# External libraries
LDLIBS = -lbz2
LDLIBS += $(LDLIBS_PTHREAD)


# Where you want pbzip2 installed when you do 'make install'
PREFIX = /usr
DESTDIR =


all: pbzip2

# Standard pbzip2 compile
pbzip2: pbzip2.cpp BZ2StreamScanner.cpp ErrorContext.cpp
	$(CXX) $(CXXFLAGS) $(LDFLAGS) $^ -o pbzip2 $(LDLIBS)

# Choose this if you want to compile in a static version of the libbz2 library
pbzip2-static: pbzip2.cpp BZ2StreamScanner.cpp ErrorContext.cpp libbz2.a
	$(CXX) $(CXXFLAGS) $(LDFLAGS) $^ -o pbzip2 -I. -L. $(LDLIBS)

# Install the binary pbzip2 program and man page
install: pbzip2
	if ( test ! -d $(DESTDIR)$(PREFIX)/bin ) ; then mkdir -p $(DESTDIR)$(PREFIX)/bin ; fi
	if ( test ! -d $(DESTDIR)$(PREFIX)/share ) ; then mkdir -p $(DESTDIR)$(PREFIX)/share ; fi
	if ( test ! -d $(DESTDIR)$(PREFIX)/share/man ) ; then mkdir -p $(DESTDIR)$(PREFIX)/share/man ; fi
	if ( test ! -d $(DESTDIR)$(PREFIX)/share/man/man1 ) ; then mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1 ; fi
	cp -f pbzip2 $(DESTDIR)$(PREFIX)/bin/pbzip2
	chmod a+x $(DESTDIR)$(PREFIX)/bin/pbzip2
	cp -f pbzip2.1 $(DESTDIR)$(PREFIX)/share/man/man1
	chmod a+r $(DESTDIR)$(PREFIX)/share/man/man1/pbzip2.1

clean:
	rm -f *.o pbzip2