3 ################ Source files ##########################################
5 SRCS
= $(wildcard *.
cc)
6 INCS
= $(filter-out bsconf.
%,$(wildcard *.h
)) ustl.tbff
10 ################ Library link names ####################################
12 TOCLEAN
+= ${LIBSO} ${LIBA} ${LIBSOBLD}
14 ALLINST
= install-incs
16 ALLLIBS
+= ${LIBSOBLD}
17 ALLINST
+= install-shared
21 ALLINST
+= install-static
24 ################ Compilation ###########################################
26 .PHONY
: all install uninstall install-incs uninstall-incs
27 .PHONY
: install-static install-shared uninstall-static uninstall-shared
28 .PHONY
: clean depend dox html
check dist distclean maintainer-clean
33 @echo
" Compiling $< ..."
34 @
${CXX} ${CXXFLAGS} -o
$@
-c
$<
37 @echo
" Compiling $< to assembly ..."
38 @
${CXX} ${CXXFLAGS} -S
-o
$@
-c
$<
41 @echo
"Linking $@ ..."
46 @echo
"Linking $@ ..."
47 @
${LD} ${LDFLAGS} ${SHBLDFL} -o
$@
$^
${LIBS}
53 ################ Installation ##########################################
56 uninstall: $(subst install,uninstall,${ALLINST})
58 install-shared
: ${LIBSOBLD}
59 @echo
"Installing ${LIBSOBLD} to ${LIBDIR} ..."
60 @
${INSTALLDIR} ${LIBDIR}
61 @
${INSTALLLIB} ${LIBSOBLD} ${LIBDIR}
63 rm -f
${LIBSO} ${LIBSOLNK}; \
64 ln
-sf
${LIBSOBLD} ${LIBSO}; \
65 ln
-sf
${LIBSOBLD} ${LIBSOLNK})
68 @echo
"Removing ${LIBSOBLD} from ${LIBDIR} ..."
70 rm -f
${LIBSO} ${LIBSOLNK} ${LIBSOBLD})
72 install-static
: ${LIBA}
73 @echo
"Installing ${LIBA} to ${LIBDIR} ..."
74 @
${INSTALLDIR} ${LIBDIR}
75 @
${INSTALLLIB} ${LIBA} ${LIBDIR}
78 @echo
"Removing ${LIBA} from ${LIBDIR} ..."
79 @
rm -f
${LIBDIR}/${LIBA}
82 @echo
"Installing headers to ${INCDIR} ..."
83 @
${INSTALLDIR} ${INCDIR}/${LIBNAME}
84 @for i in
$(filter-out ${LIBNAME}.h
,${INCS}); do \
85 ${INSTALLDATA} $$i ${INCDIR}/${LIBNAME}/$$i; \
87 @
${INSTALLDATA} ${LIBNAME}.h
${INCDIR}
90 @echo
"Removing headers from ${INCDIR} ..."
91 @
rm -rf
${INCDIR}/${LIBNAME} ${INCDIR}/${LIBNAME}.h
93 ################ Maintenance ###########################################
96 @echo
"Removing generated files ..."
97 @
rm -f
${OBJS} ${TOCLEAN} *.rpo
98 @
+${MAKE} -C bvt
clean
101 @
${CXX} ${CXXFLAGS} -M
${SRCS} > .depend
;
102 @
+${MAKE} -C bvt depend
105 @echo
"Compiling and running build verification tests ..."
109 DISTDIR
= ${HOME}/stored
111 DISTVER
= ${MAJOR}.
${MINOR}
113 DISTVER
= ${MAJOR}.
${MINOR}.
${BUILD}
115 DISTNAM
= ${LIBNAME}-${DISTVER}
116 DISTLSM
= ${DISTNAM}.lsm
117 DISTTAR
= ${DISTNAM}.
tar.bz2
118 DDOCTAR
= ${DISTNAM}-docs.
tar.bz2
121 mkdir
${TMPDIR}/${DISTNAM}
122 cp
-r .
${TMPDIR}/${DISTNAM}
123 +${MAKE} -C
${TMPDIR}/${DISTNAM} dox
distclean
125 tar jcf
${DISTDIR}/${DDOCTAR} ${DISTNAM}/docs
/html
; \
126 rm -f
${DISTNAM}/.git
; rm -rf
${DISTNAM}/docs
/html
; \
127 cp
${DISTNAM}/docs
/${LIBNAME}.lsm
${DISTDIR}/${DISTLSM}; \
128 tar --numeric-owner
--same-owner
-jcf
${DISTDIR}/${DISTTAR} ${DISTNAM}; rm -rf
${DISTNAM})
131 @
rm -f Config.mk config.h
${LIBNAME}.spec bsconf.o bsconf .depend bvt
/.depend
133 maintainer-clean
: distclean