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 nailfuns.h $(OBJ_DEP)
30 config.o accmacvar.o: okeys.h
31 config.o imap.o pop3.o smtp.o urlcrecry.o: rfc1321.h
32 config.o imap.o: imap_gssapi.h
33 config.o lex.o: cmd_tab.h
34 config.o main.o: version.h
35 config.o mime.o: mime_types.h
36 config.o smtp.o: smtp_gssapi.h
38 mime_types.h: mime.types
40 < ./mime.types > $(@) $(SED) -e '/^#/d; /^$$/d; s/^/ "/; s/$$/",/'
43 @echo 'Running test, please wait';\
44 $(SHELL) ./cc-test.sh --check-only ./$(UAGENT)
47 @[ -n "$(VERBOSE)" ] && echo ' GEN $(UAGENT) manual ($(@))';\
48 _VERSION=`< version.h \
49 $(SED) -e 's/^\#define VERSION "\\(.\\{1,\\}\\)"$$/\\1/'` \
50 _SYSCONFRC="$(SYSCONFRC)" _UAGENT="$(UAGENT)" \
51 < ./nail.1 > $(@) $(AWK) '\
54 i = ENVIRON["_VERSION"];\
57 XX = ".ds XX \\\\%[\\\\*(VV-" substr(i, j + 1) "]";\
59 XX = ".ds XX \\\\%[\\\\*(VV]";\
61 /\.\\"--MKMAN-START--/, /\.\\"--MKMAN-END--/ {\
66 un = toupper(ENVIRON["_UAGENT"]);\
68 cn = toupper(substr(ln, 1, 1)) substr(ln, 2);\
70 print ".ds UU \\\\%", un;\
71 print ".ds UA \\\\%", cn;\
72 print ".ds ua \\\\%", ln;\
73 print ".ds UR \\\\%", ENVIRON["_SYSCONFRC"];\
80 mkrc.rc: nail.rc mk.mk
81 @[ -n "$(VERBOSE)" ] &&\
82 echo ' GEN $(UAGENT) default resource file ($(@))';\
83 _SYSCONFRC="$(SYSCONFRC)" _UAGENT="$(UAGENT)" \
84 < ./nail.rc > $(@) $(AWK) 'BEGIN {written = 0}\
85 /^#--MKRC-START--/, /^#--MKRC-END--/ {\
90 ln = tolower(ENVIRON["_UAGENT"]);\
91 cn = toupper(substr(ln, 1, 1)) substr(ln, 2);\
92 print "# ", ENVIRON["_SYSCONFRC"], \
93 " - configuration file for ", cn, "(1)";\
102 install: _install_echoes mk.mk mkman.1 mkrc.rc
105 if [ ! -d "$${_dir}" ]; then \
106 if [ -n "$(VERBOSE)" ]; then \
107 echo " \$$ $(MKDIR) -m 0755 -p '$${_dir}'";\
109 $(MKDIR) -m 0755 -p "$${_dir}";\
113 _mode=$${1} _src=$${2} _dst=$${3};\
114 if [ -n "$(VERBOSE)" ]; then \
115 echo " \$$ $(CP) -f '$${_src}' '$${_dst}'";\
116 echo " \$$ $(CHMOD) $${_mode} '$${_dst}'";\
118 $(CP) -f "$${_src}" "$${_dst}";\
119 $(CHMOD) $${_mode} "$${_dst}";\
123 if [ "$(WANT_DEBUG)" != 0 ]; then \
124 if [ -n "$(VERBOSE)" ]; then \
125 echo " \$$ :WANT_DEBUG=1, not strip(1)ing";\
127 elif [ -n "$(HAVE_STRIP)" ]; then \
128 if [ -n "$(VERBOSE)" ]; then \
129 echo " \$$ $(STRIP) '$${_file}'";\
131 $(STRIP) "$${_file}";\
134 if [ -n "$(DESTDIR)" ]; then __mkdir "$(DESTDIR)"; fi;\
135 __mkdir "$(DESTDIR)$(BINDIR)";\
136 __copyfile 0755 "$(UAGENT)" "$(DESTDIR)$(BINDIR)/$(UAGENT)";\
137 __stripfile "$(DESTDIR)$(BINDIR)/$(UAGENT)";\
138 __mkdir "$(DESTDIR)$(MANDIR)/man1";\
139 __copyfile 0644 ./mkman.1 "$(DESTDIR)$(MANDIR)/man1/$(UAGENT).1";\
140 __mkdir "$(DESTDIR)$(SYSCONFDIR)";\
141 if [ ! -f "$(DESTDIR)$(SYSCONFRC)" ]; then \
142 __copyfile 0644 ./mkrc.rc "$(DESTDIR)$(SYSCONFRC)";\
146 @echo 'Uninstalling..';\
147 [ -n "$(VERBOSE)" ] &&\
148 echo ' $$ $(RM) -f "$(DESTDIR)$(BINDIR)/$(UAGENT)" \
149 "$(DESTDIR)$(MANDIR)/man1/$(UAGENT).1"';\
150 $(RM) -f "$(DESTDIR)$(BINDIR)/$(UAGENT)" \
151 "$(DESTDIR)$(MANDIR)/man1/$(UAGENT).1";\
152 if [ -n "$(VERBOSE)" ] && [ -f "$(DESTDIR)$(SYSCONFRC)" ]; then \
153 echo ' NOTE: not removing "$(DESTDIR)$(SYSCONFRC)"';\
157 @echo 'Cleaning up..';\
158 [ -n "$(VERBOSE)" ] &&\
159 echo ' $$ $(RM) -f $(OBJ) $(UAGENT) ./mime_types.h ./mkman.1 \
161 $(RM) -f $(OBJ) $(UAGENT) ./mime_types.h ./mkman.1 ./mkrc.rc
164 @echo 'Deconfiguring..';\
165 [ -n "$(VERBOSE)" ] && echo ' $$ $(RM) -f ./config.* ./*.mk';\
166 $(RM) -f ./config.* ./*.mk
169 @if [ -z "$(VERSION)" ]; then \
170 eval VERSION="`(git describe --tags) 2>/dev/null`";\
171 if [ -z "$${VERSION}" ]; then \
172 VERSION="`$(SED) -e 's/[^\"]*\"\([^\"]\{1,\}\)\"/\1/' \
174 echo "$${VERSION}" | $(GREP) -q -F dirty ||\
175 VERSION="$${VERSION}-dirty";\
178 trap "$(RM) ./version.tmp" 0 1 2 15;\
179 printf > ./version.tmp "#define VERSION \"$${VERSION}\"\n";\
180 $(CMP) ./version.tmp ./version.h >/dev/null 2>&1 && exit;\
181 mv ./version.tmp ./version.h;\
184 # vim:set ft=make:s-mk-mode