Makefile (1199B)
1 # 2 # Makefile -- build system 3 # 4 5 #*** config ***# 6 7 PROG = s-httpd 8 VERSION = 0.1.0 DEV 9 SRCS != echo *.c 10 OBJS = ${SRCS:.c=.o} 11 12 CC = cc 13 PKGCONF = pkgconf 14 INSTALL = install 15 16 LIBS := openssl 17 CFLAGS_LIBS != ${PKGCONF} --cflags ${LIBS} 18 LDFLAGS_LIBS != ${PKGCONF} --libs ${LIBS} 19 20 WARN := -Wall -Werror 21 CPPFLAGS := -DIN_S_HTTPD -DVERSION='"${VERSION}"' 22 CFLAGS := -std=c99 ${WARN} 23 LDFLAGS := ${LDFLAGS_LIBS} 24 25 .ifdef STATIC 26 CFLAGS += -static 27 LDFLAGS += -static 28 .endif 29 30 PREFIX ?= /usr/local 31 BINDIR ?= ${PREFIX}/bin 32 MANDIR ?= ${PREFIX}/man/man8 33 MAN := s-httpd.8 34 35 #*** build ***# 36 37 all: ${PROG} 38 39 .c.o: 40 ${CC} ${CFLAGS} ${CPPFLAGS} -MMD -MF ${<:.c=.d} -MD -c $< -o $@ 41 42 ${PROG}: ${OBJS} 43 ${CC} ${CFLAGS} -o ${PROG} ${OBJS} ${LDFLAGS} 44 45 .if exist(${DEPS}) 46 .include "${DEPS}" 47 .endif 48 49 #*** utils ***# 50 51 install: ${PROG} ${MAN} 52 @echo "Installing ${PROG} to ${BINDIR}" 53 ${INSTALL} -d ${BINDIR} 54 ${INSTALL} -m 755 ${PROG} ${BINDIR} 55 @echo "Installing man ${MAN} to ${MANDIR}" 56 ${INSTALL} -d ${MANDIR} 57 ${INSTALL} -m 644 ${MAN} ${MANDIR} 58 59 uninstall: 60 rm -f ${BINDIR}/${PROG} 61 rm -f ${MANDIR}/${MAN} 62 63 clean: 64 rm -f ${OBJS} *.d ${PROG} 65 66 .PHONY: all clean install uninstall db 67