about summary refs log tree commit diff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile87
1 files changed, 87 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..a034a45
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,87 @@
+# btpd - BitTorrent Protocol Daemon
+# See LICENSE file for copyright and license details.
+
+BTPD_SRC    = ${wildcard btpd/*.c}
+BTPD_DEPS   = ${wildcard btpd/*.h}
+BTPD_OBJ    = ${BTPD_SRC:.c=.o}
+
+BTCLI_SRC   = ${wildcard cli/*.c}
+BTCLI_DEPS  = ${wildcard cli/*.h}
+BTCLI_OBJ   = ${BTCLI_SRC:.c=.o}
+
+BTINFO_SRC  = ${wildcard info/*.c}
+BTINFO_DEPS = ${wildcard info/*.h}
+BTINFO_OBJ  = ${BTINFO_SRC:.c=.o}
+
+MISC_SRC    = ${wildcard misc/*.c}
+MISC_DEPS   = ${wildcard misc/*.h}
+MISC_OBJ    = ${MISC_SRC:.c=.o}
+
+EVLOOP_SRC  = ${wildcard evloop/*.c}
+EVLOOP_DEPS = ${wildcard evloop/*.h}
+EVLOOP_OBJ  = ${EVLOOP_SRC:.c=.o}
+
+include config.mk
+
+all: options btpd btinfo btcli
+
+options:
+	@echo btpd build options:
+	@echo "CFLAGS   = ${CFLAGS}"
+	@echo "LDFLAGS  = ${LDFLAGS}"
+	@echo "CC       = ${CC}"
+
+.c.o:
+	${CC} -c ${DEFS} ${CPPFLAGS} ${CFLAGS} $< -o $@
+
+${%_OBJ}: ${%_DEPS}
+
+libmisc.a: ${MISC_OBJ}
+	ar rcs misc/$@ ${MISC_OBJ}
+
+libevloop.a: ${EVLOOP_OBJ}
+	ar rcs evloop/$@ ${EVLOOP_OBJ}
+
+btpd: ${BTPD_OBJ} libmisc.a libevloop.a
+	${CC} ${CFLAGS} -o btpd/$@ ${BTPD_OBJ}	 misc/libmisc.a evloop/libevloop.a ${LDFLAGS}
+
+btinfo: ${BTINFO_OBJ} libmisc.a
+	${CC} ${CFLAGS} -o info/$@ ${BTINFO_OBJ} misc/libmisc.a ${LDFLAGS}
+
+btcli: ${BTCLI_OBJ} libmisc.a
+	${CC} ${CFLAGS} -o cli/$@  ${BTCLI_OBJ}  misc/libmisc.a ${LDFLAGS}
+
+clean:
+	rm -f btpd/btpd cli/btcli info/btinfo\
+		**/*.o **/*.a\
+		btpd-${VERSION}.tar.gz
+
+dist: clean
+	mkdir -p btpd-${VERSION}
+	cp -R COPYRIGHT Makefile README CHANGES configure config.mk btpd cli doc evloop info misc\
+		btpd-${VERSION}
+	tar -cf btpd-${VERSION}.tar btpd-${VERSION}
+	gzip btpd-${VERSION}.tar
+	rm -rf btpd-${VERSION}
+
+install: all
+	mkdir -p ${DESTDIR}${PREFIX}/bin
+	cp -f btpd/btpd cli/btcli info/btinfo ${DESTDIR}${PREFIX}/bin
+	chmod 755 ${DESTDIR}${PREFIX}/bin/btpd
+	chmod 755 ${DESTDIR}${PREFIX}/bin/btcli
+	chmod 755 ${DESTDIR}${PREFIX}/bin/btinfo
+	mkdir -p ${DESTDIR}${MANPREFIX}/man1
+	cp -f doc/*.1 ${DESTDIR}${MANPREFIX}/man1
+	chmod 644 ${DESTDIR}${MANPREFIX}/man1/btpd.1
+	chmod 644 ${DESTDIR}${MANPREFIX}/man1/btcli.1
+	chmod 644 ${DESTDIR}${MANPREFIX}/man1/btinfo.1
+
+uninstall:
+	rm -f ${DESTDIR}${PREFIX}/bin/btpd\
+		${DESTDIR}${PREFIX}/bin/btcli\
+		${DESTDIR}${PREFIX}/bin/btinfo\
+		${DESTDIR}${MANPREFIX}/man1/btpd.1\
+		${DESTDIR}${MANPREFIX}/man1/btcli.1\
+		${DESTDIR}${MANPREFIX}/man1/btinfo.1
+
+.PHONY: all options clean dist install uninstall