-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile
143 lines (118 loc) · 2.68 KB
/
Makefile
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
##########
#
# Make file for VMS backup program
#
# assumes GNU make and a Unix box with bash or bourne.
# If you're working on OpenVMS, use build.com instead.
#
#
# 26-Feb-2011, Stephen Hoffman, HoffmanLabs LLC
# tweaked the version to 4.4.3, and added vmsbackup.pdf
# into the cleanup
#
# 31-Mar-2008, Stephen Hoffman, HoffmanLabs LLC
# full re-write of the original makefile.
#
#
# ensure we use bourne or bash
#
SHELL = /bin/sh
##########
#
# the vmsbackup version number.
# also change the version over in build.com
#
CURRVER = 4.4.3hb
##########
HAVE_REMOTE =
#
# Choose line depending if you want to have remote tape support
#
ifeq ($(HAVE_REMOTE),yes)
REMOTE=-D REMOTE
else
REMOTE=
endif
##########
HAVE_GETOPTLONG = yes
#
# Set this if you want to use long option names
#
ifeq ($(HAVE_GETOPTLONG),yes)
LONGOPT=-D HAVE_GETOPTLONG
else
LONGOPT=
endif
###########
#
# Housekeeping and related functions
#
OWNER=unknown # user for remote tape access
MODE=4755
BINDIR=/usr/local/bin
MANSEC=l
MANDIR=/usr/man/man$(MANSEC)
DISTFILES=README vmsbackup.1 Makefile vmsbackup.c vmsconstants.h match.c NEWS build.com dclmain.c getoptmain.c vmsbackup.cld vmsbackup.h AAAREADME.TXT
CFLAGS = $(LONGOPT) # -g -O0
LDFLAGS=#-g
.SUFFIXES: .c .1 .o .ps .pdf .txt
.1.txt: ; groff -man -Tascii $*.1 > $*.txt
.1.ps: ; groff -man -Tps $*.1 > $*.ps
ifneq ($(SHELL which ps2pdf),"")
.1.pdf: ; ps2pdf $*.ps $*.pdf
else
.1.pdf: ; pstopdf $*.ps -o $*.pdf
endif
SRCS = vmsbackup.c match.c getoptmain.c
OBJS = ${SRCS:.c=.o}
DOCS = vmsbackup.txt vmsbackup.ps vmsbackup.pdf
##########
#
# Build it all
#
all : vmsbackup vmsbackup.info
vmsbackupver.h :
echo "#define VMSBACKUPVERSION \"$(CURRVER)\"" > $@
getoptmain.o: getoptmain.c vmsbackupver.h
vmsbackup : $(OBJS)
vmsbackup.info : $(DOCS)
##########
#
# Install the bits locally
#
.PHONY : install
install :
install -m $(MODE) -o $(OWNER) -s vmsbackup $(BINDIR)
cp vmsbackup.1 $(MANDIR)/vmsbackup.$(MANSEC)
##########
#
# Clean up any residual mess
#
.PHONY : clean
clean :
rm -f vmsbackup vmsbackupver.h *.o core
rm -f vmsbackup.txt vmsbackup.ps vmsbackup.pdf
rm -f vmsbackup-src_*.tar
##########
#
# build a source distribution using shell archive
#
.PHONY : shar
shar :
shar -a $(DISTFILES) > vmsbackup.shar
##########
#
# Build a source distribution using tar
#
.PHONY : dist
dist :
rm -rf vmsbackup-$(CURRVER)
mkdir vmsbackup-$(CURRVER)
for i in $(DISTFILES); do ln $${i} vmsbackup-$(CURRVER); done
tar chf vmsbackup-$(CURRVER).tar vmsbackup-$(CURRVER)
.PHONY : zip
zip :
rm -rf vmsbackup-$(CURRVER)
mkdir vmsbackup-$(CURRVER)
for i in $(DISTFILES); do ln $${i} vmsbackup-$(CURRVER); done
zip vmsbackup-$(CURRVER).zip vmsbackup-$(CURRVER)/*