Makefile - susmb - fork from usmb 20130204: mount SMB/CIFS shares via FUSE
 (HTM) git clone git://git.codemadness.org/susmb
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       Makefile (2645B)
       ---
            1 .POSIX:
            2 
            3 NAME = susmb
            4 VERSION = 0.9
            5 
            6 # paths
            7 PREFIX = /usr/local
            8 MANPREFIX = ${PREFIX}/man
            9 DOCPREFIX = ${PREFIX}/share/doc/${NAME}
           10 
           11 # use system flags.
           12 SUSMB_CFLAGS = ${CFLAGS}
           13 SUSMB_LDFLAGS = ${LDFLAGS}
           14 SUSMB_CPPFLAGS = -D_DEFAULT_SOURCE
           15 
           16 # test: debug
           17 #SUSMB_CFLAGS = -O0 -g -ggdb -Wall -Wextra -pedantic -Wformat-security -Winit-self -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations
           18 
           19 # Linux
           20 #SUSMB_CFLAGS += -D_GNU_SOURCE
           21 # Linux: use libbsd (arc4random, etc).
           22 #SUSMB_LDFLAGS += -lbsd
           23 
           24 # pkg-config --cflags smbclient
           25 SMBCLIENT_CFLAGS = -I/usr/local/include/samba-4.0
           26 # Linux:
           27 #SMBCLIENT_CFLAGS = -I/usr/include/samba-4.0
           28 # pkg-config --libs smbclient
           29 SMBCLIENT_LDFLAGS = -L/usr/local/lib -lsmbclient
           30 # Linux:
           31 #SMBCLIENT_LDFLAGS = -lsmbclient
           32 
           33 # pkg-config --cflags fuse
           34 FUSE_CFLAGS = -I/usr/local/include
           35 # Linux:
           36 #FUSE_CFLAGS = -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse
           37 
           38 # pkg-config --libs fuse
           39 FUSE_LDFLAGS = -lfuse
           40 # Linux:
           41 #FUSE_LDFLAGS = -lfuse -pthread
           42 
           43 BIN = ${NAME}
           44 SCRIPTS =
           45 SRC = ${BIN:=.c}
           46 HDR =
           47 MAN1 = ${BIN:=.1}\
           48         ${SCRIPTS:=.1}
           49 DOC = \
           50         LICENSE\
           51         README
           52 
           53 all: ${BIN}
           54 
           55 ${BIN}: ${@:=.o}
           56 
           57 OBJ = ${SRC:.c=.o}
           58 
           59 ${OBJ}: ${HDR}
           60 
           61 .o:
           62         ${CC} -o $@ $< ${SUSMB_LDFLAGS} ${SMBCLIENT_LDFLAGS} ${FUSE_LDFLAGS} ${SUSMB_LDFLAGS}
           63 
           64 .c.o:
           65         ${CC} -o $@ -c $< ${SUSMB_CPPFLAGS} ${SMBCLIENT_CFLAGS} ${FUSE_CFLAGS} ${SUSMB_CFLAGS} ${SUSMB_CPPFLAGS}
           66 
           67 dist:
           68         rm -rf "${NAME}-${VERSION}"
           69         mkdir -p "${NAME}-${VERSION}"
           70         cp -f ${MAN1} ${DOC} ${HDR} ${SCRIPTS} \
           71                 ${SRC} Makefile "${NAME}-${VERSION}"
           72         # make tarball
           73         tar cf - "${NAME}-${VERSION}" | gzip -c > "${NAME}-${VERSION}.tar.gz"
           74         rm -rf "${NAME}-${VERSION}"
           75 
           76 clean:
           77         rm -f ${BIN} ${OBJ}
           78 
           79 install: all
           80         # installing executable files and scripts.
           81         mkdir -p "${DESTDIR}${PREFIX}/bin"
           82         cp -f ${BIN} ${SCRIPTS} "${DESTDIR}${PREFIX}/bin"
           83         for f in ${BIN} ${SCRIPTS}; do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"; done
           84         # installing example files.
           85         mkdir -p "${DESTDIR}${DOCPREFIX}"
           86         cp -f ${DOC} "${DESTDIR}${DOCPREFIX}"
           87         for d in ${DOC}; do chmod 644 "${DESTDIR}${DOCPREFIX}/$$d"; done
           88         # installing manual pages for general commands: section 1.
           89         mkdir -p "${DESTDIR}${MANPREFIX}/man1"
           90         cp -f ${MAN1} "${DESTDIR}${MANPREFIX}/man1"
           91         for m in ${MAN1}; do chmod 644 "${DESTDIR}${MANPREFIX}/man1/$$m"; done
           92 
           93 uninstall:
           94         # removing executable files and scripts.
           95         for f in ${BIN} ${SCRIPTS}; do rm -f "${DESTDIR}${PREFIX}/bin/$$f"; done
           96         # removing example files.
           97         for d in ${DOC}; do rm -f "${DESTDIR}${DOCPREFIX}/$$d"; done
           98         -rmdir "${DESTDIR}${DOCPREFIX}"
           99         # removing manual pages.
          100         for m in ${MAN1}; do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; done
          101 
          102 .PHONY: all clean dist install uninstall