1 #@ `mk-mk.in' -- mk.mk template, completed by mk-conf.sh
2 #@ Please see `INSTALL' and `conf.rc' instead.
7 @if [ -z "$(VERBOSE)" ]; then echo ' CC $(<)';\
8 else echo ' $$ $(CC) $(CFLAGS) $(INCLUDES) -c $(<)';\
10 $(CC) $(CFLAGS) $(INCLUDES) -c $(<)
13 all: _all_echoes $(UAGENT)
16 if [ -z "$(VERBOSE)" ]; then \
18 echo '. CFLAGS : $(CFLAGS)';\
19 echo '. INCLUDES: $(INCLUDES)';\
20 [ -n "$(LDFLAGS)" ] && echo '. LDFLAGS : $(LDFLAGS)';\
21 echo '. LIBS : $(LIBS)';\
24 @if [ -z "$(VERBOSE)" ]; then echo ' LINK $(@)';\
25 else echo ' $$ $(CC) $(LDFLAGS) -o $(@) $(OBJ) $(LIBS)';\
27 $(CC) $(LDFLAGS) -o $(@) $(OBJ) $(LIBS)
29 $(OBJ): config.h nail.h extern.h $(OBJ_DEP)
30 config.o acmava.o: okeys.h
31 config.o imap.o: imap_gssapi.h
32 config.o lex.o: cmd_tab.h
33 config.o main.o: version.h
34 config.o imap.o smtp.o auxlily.o pop3.o: rfc1321.h
35 config.o mime.o: mime_types.h
37 mime_types.h: mime.types
39 < ./mime.types > $(@) $(SED) -e '/^#/d; /^$$/d; s/^/ "/; s/$$/",/'
42 @echo 'Running test, please wait';\
43 $(SHELL) ./cc-test.sh --check-only ./$(UAGENT)
46 @[ -n "$(VERBOSE)" ] && echo ' GEN $(UAGENT) manual ($(@))';\
47 _VERSION=`< version.h \
48 $(SED) -e 's/^\#define VERSION "\\(.\\{1,\\}\\)"$$/\\1/'` \
49 _SYSCONFRC="$(SYSCONFRC)" _UAGENT="$(UAGENT)" \
50 < ./nail.1 > $(@) $(AWK) 'BEGIN {written = 0}\
51 /.\"--MKMAN-START--/, /.\"--MKMAN-END--/ {\
56 un = toupper(ENVIRON["_UAGENT"]);\
58 cn = toupper(substr(ln, 1, 1)) substr(ln, 2);\
59 print ".ds UU \\\\%", un;\
60 print ".ds UA \\\\%", cn;\
61 printf ".ds UV \\\\%%%s [%s]\n", cn, ENVIRON["_VERSION"];\
62 print ".ds ua \\\\%", ln;\
63 print ".ds UR \\\\%", ENVIRON["_SYSCONFRC"];\
70 mkrc.rc: nail.rc mk.mk
71 @[ -n "$(VERBOSE)" ] &&\
72 echo ' GEN $(UAGENT) default resource file ($(@))';\
73 _SYSCONFRC="$(SYSCONFRC)" _UAGENT="$(UAGENT)" \
74 < ./nail.rc > $(@) $(AWK) 'BEGIN {written = 0}\
75 /#--MKRC-START--/, /#--MKRC-END--/ {\
80 ln = tolower(ENVIRON["_UAGENT"]);\
81 cn = toupper(substr(ln, 1, 1)) substr(ln, 2);\
82 print "# ", ENVIRON["_SYSCONFRC"];\
83 print "# Configuration file for ", cn, "(1)";\
92 install: _install_echoes mk.mk mkman.1 mkrc.rc
95 if [ ! -d "$${_dir}" ]; then \
96 if [ -n "$(VERBOSE)" ]; then \
97 echo " \$$ $(MKDIR) -m 0755 -p '$${_dir}'";\
99 $(MKDIR) -m 0755 -p "$${_dir}";\
103 _mode=$${1} _src=$${2} _dst=$${3};\
104 if [ -n "$(VERBOSE)" ]; then \
105 echo " \$$ $(CP) -f '$${_src}' '$${_dst}'";\
106 echo " \$$ $(CHMOD) $${_mode} '$${_dst}'";\
108 $(CP) -f "$${_src}" "$${_dst}";\
109 $(CHMOD) $${_mode} "$${_dst}";\
113 if [ "$(WANT_DEBUG)" != 0 ]; then \
114 if [ -n "$(VERBOSE)" ]; then \
115 echo " \$$ :WANT_DEBUG=1, not strip(1)ing";\
117 elif [ -n "$(HAVE_STRIP)" ]; then \
118 if [ -n "$(VERBOSE)" ]; then \
119 echo " \$$ $(STRIP) '$${_file}'";\
121 $(STRIP) "$${_file}";\
124 if [ -n "$(DESTDIR)" ]; then __mkdir "$(DESTDIR)"; fi;\
125 __mkdir "$(DESTDIR)$(BINDIR)";\
126 __copyfile 0755 "$(UAGENT)" "$(DESTDIR)$(BINDIR)/$(UAGENT)";\
127 __stripfile "$(DESTDIR)$(BINDIR)/$(UAGENT)";\
128 __mkdir "$(DESTDIR)$(MANDIR)/man1";\
129 __copyfile 0644 ./mkman.1 "$(DESTDIR)$(MANDIR)/man1/$(UAGENT).1";\
130 __mkdir "$(DESTDIR)$(SYSCONFDIR)";\
131 if [ ! -f "$(DESTDIR)$(SYSCONFRC)" ]; then \
132 __copyfile 0644 ./mkrc.rc "$(DESTDIR)$(SYSCONFRC)";\
136 @echo 'Uninstalling..';\
137 [ -n "$(VERBOSE)" ] &&\
138 echo ' $$ $(RM) -f "$(DESTDIR)$(BINDIR)/$(UAGENT)" \
139 "$(DESTDIR)$(MANDIR)/man1/$(UAGENT).1"';\
140 $(RM) -f "$(DESTDIR)$(BINDIR)/$(UAGENT)" \
141 "$(DESTDIR)$(MANDIR)/man1/$(UAGENT).1";\
142 [ -n "$(VERBOSE)" ] && [ -f "$(DESTDIR)$(SYSCONFRC)" ] &&\
143 echo ' NOTE: not removing "$(DESTDIR)$(SYSCONFRC)"!'
146 @echo 'Cleaning up..';\
147 [ -n "$(VERBOSE)" ] &&\
148 echo ' $$ $(RM) -f $(OBJ) $(UAGENT) ./mime_types.h ./mkman.1 \
150 $(RM) -f $(OBJ) $(UAGENT) ./mime_types.h ./mkman.1 ./mkrc.rc
153 @echo 'Deconfiguring..';\
154 [ -n "$(VERBOSE)" ] && echo ' $$ $(RM) -f ./config.* ./*.mk';\
155 $(RM) -f ./config.* ./*.mk
158 @if [ -z "$(VERSION)" ]; then \
159 eval VERSION="`(git describe --tags) 2>/dev/null`";\
160 if [ -z "$${VERSION}" ]; then \
161 VERSION="`$(SED) -e 's/[^\"]*\"\([^\"]\{1,\}\)\"/\1/' \
163 echo "$${VERSION}" | $(GREP) -q -F dirty ||\
164 VERSION="$${VERSION}-dirty";\
167 trap "$(RM) ./version.tmp" 0 1 2 15;\
168 printf > ./version.tmp "#define VERSION \"$${VERSION}\"\n";\
169 $(CMP) ./version.tmp ./version.h >/dev/null 2>&1 && exit;\
170 mv ./version.tmp ./version.h;\
174 if [ "`git rev-parse --verify HEAD`" != \
175 "`git rev-parse --verify master`" ]; then \
176 echo >&2 'Not on the [master] branch';\
179 echo 'Name of release tag:';\
181 echo "Is $(UAGENT) <v$${REL}> correct? ENTER continues";\
183 FREL=`echo $${REL} | $(SED) -e 's/\./_/g'` &&\
184 $(MAKE) -f ./mk.mk _update-version &&\
185 git add version.h &&\
186 git commit -m "Bump $(UAGENT) v$${REL}" &&\
187 git tag -f "v$${REL}" &&\
188 $(MAKE) -f ./mk.mk _update-version &&\
189 git add version.h && git commit --amend &&\
190 git tag -f "v$${REL}" &&\
191 git update-ref refs/heads/next master &&\
192 git log --no-walk --decorate --oneline --branches --remotes &&\
194 echo "Push git(1) repo? ENTER continues";\
197 git archive --prefix="$(UAGENT)-$${REL}/" \
198 -o "$${TMPDIR}/$(UAGENT)-$${FREL}.tar.gz" HEAD &&\
200 tar -x -z -f "$(UAGENT)-$${FREL}.tar.gz" &&\
201 $(RM) -f "$(UAGENT)-$${FREL}.tar.gz" &&\
202 tar -c -f "$(UAGENT)-$${FREL}.tar" "$(UAGENT)-$${REL}" &&\
203 < "$(UAGENT)-$${FREL}.tar" gzip > "$(UAGENT)-$${FREL}.tar.gz" &&\
204 < "$(UAGENT)-$${FREL}.tar" xz > "$(UAGENT)-$${FREL}.tar.xz" &&\
205 $(RM) -f "$(UAGENT)-$${FREL}.tar" &&\
206 openssl md5 "$(UAGENT)-$${FREL}.tar.gz" > \
207 "$(UAGENT)-$${FREL}.cksum" 2>&1 &&\
208 openssl sha1 "$(UAGENT)-$${FREL}.tar.gz" >> \
209 "$(UAGENT)-$${FREL}.cksum" 2>&1 &&\
210 openssl sha256 "$(UAGENT)-$${FREL}.tar.gz" >> \
211 "$(UAGENT)-$${FREL}.cksum" 2>&1 &&\
212 openssl md5 "$(UAGENT)-$${FREL}.tar.xz" >> \
213 "$(UAGENT)-$${FREL}.cksum" 2>&1 &&\
214 openssl sha1 "$(UAGENT)-$${FREL}.tar.xz" >> \
215 "$(UAGENT)-$${FREL}.cksum" 2>&1 &&\
216 openssl sha256 "$(UAGENT)-$${FREL}.tar.xz" >> \
217 "$(UAGENT)-$${FREL}.cksum" 2>&1 &&\
218 ( echo "-put $(UAGENT)-$${FREL}.tar.gz";\
219 echo "-put $(UAGENT)-$${FREL}.tar.xz" ) | \
220 sftp -b - sdaoden@frs.sourceforge.net:/home/frs/project/s-nail &&\
221 echo 'All seems fine';\
222 echo 'Really send announcement mail? ENTER continues';\
224 cd "$(UAGENT)-$${REL}" &&\
226 ./s-nail -A sdn_sf -s "[ANNOUNCE] of S-nail v$${REL}" nail-announce &&\
228 echo "Really remove $(UAGENT)-$${REL} build dir? ENTER continues";\
230 $(RM) -rf "$(UAGENT)-$${REL}" &&\
233 # vim:set fenc=utf-8 ft=make: