1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
include Makefile.conf
LIBNAME=libmuroar
SOVERSION = 0
SLIB_BASE=$(LIBNAME)$(SHARED_SUFFIX)
SLIB=$(SLIB_BASE).$(SOVERSION)
ALIB=$(LIBNAME).a
BIN = muroarstream
MANPAGES_1=$(BIN).1
MANPAGES_3=muroar_noop.3 muroar_beep.3 muroar_quit.3 muroar_close.3 muroar_connect.3 muroar_stream.3 muroar_write.3 muroar_read.3
TARGETS=$(SLIB) $(ALIB) $(BIN)
HEADER=muroar.h
OBJS=muroar.o muroario.o muroar_noop.o muroar_beep.o
CFLAGS += -Wall -Wextra $(fPIC) $(def_dnet) $(def_header_endian_h)
LDFLAGS += -Wall -Wextra
NETLIBS = $(lib_dnet) $(lib_wsock32) $(lib_ws2_32)
LIBS += $(NETLIBS)
all: prepare ${TARGETS}
clean:
rm -f ${TARGETS} *.o
rm -f '$(SLIB_BASE)'
distclean: clean
rm -f Makefile.conf config.log
prepare: $(SLIB_BASE)
$(SLIB_BASE):
ln -fs '$(SLIB)' '$(SLIB_BASE)'
new: clean all
prep-install-dirs:
mkdir -p '$(DESTDIR)$(PREFIX_BIN)'
mkdir -p '$(DESTDIR)$(PREFIX_LIB)'
mkdir -p '$(DESTDIR)$(PREFIX_INC)'
mkdir -p '$(DESTDIR)$(PREFIX_MAN)/man1'
mkdir -p '$(DESTDIR)$(PREFIX_MAN)/man3'
install: all prep-install-dirs
cp $(cp_v) $(SLIB) '$(DESTDIR)$(PREFIX_LIB)'
cp $(cp_v) $(ALIB) '$(DESTDIR)$(PREFIX_LIB)'
cp $(cp_v) $(BIN) '$(DESTDIR)$(PREFIX_BIN)'
cp $(cp_v) $(HEADER) '$(DESTDIR)$(PREFIX_INC)'
set -e; for p in $(MANPAGES_1); do cp $(cp_v) $$p '$(DESTDIR)$(PREFIX_MAN)/man1/'; done
set -e; for p in $(MANPAGES_3); do cp $(cp_v) $$p '$(DESTDIR)$(PREFIX_MAN)/man3/'; done
ln -fs '$(SLIB)' '$(DESTDIR)$(PREFIX_LIB)$(SLIB_BASE)'
semi-install: all prep-install-dirs
ln -fs `pwd`/$(SLIB) '$(DESTDIR)$(PREFIX_LIB)'
ln -fs `pwd`/$(ALIB) '$(DESTDIR)$(PREFIX_LIB)'
ln -fs `pwd`/$(BIN) '$(DESTDIR)$(PREFIX_BIN)'
ln -fs `pwd`/$(HEADER) '$(DESTDIR)$(PREFIX_INC)'
set -e; for p in $(MANPAGES_1); do ln -fs `pwd`/$$p '$(DESTDIR)$(PREFIX_MAN)/man1/'; done
set -e; for p in $(MANPAGES_3); do ln -fs `pwd`/$$p '$(DESTDIR)$(PREFIX_MAN)/man3/'; done
ln -fs '$(DESTDIR)$(PREFIX_LIB)$(SLIB)' '$(DESTDIR)$(PREFIX_LIB)$(SLIB_BASE)'
uninstall:
rm -f '$(DESTDIR)$(PREFIX_BIN)'/$(BIN)
rm -f '$(DESTDIR)$(PREFIX_LIB)'/$(SLIB)
rm -f '$(DESTDIR)$(PREFIX_LIB)'/$(SLIB_BASE)
rm -f '$(DESTDIR)$(PREFIX_LIB)'/$(ALIB)
rm -f '$(DESTDIR)$(PREFIX_INC)'/$(HEADER)
rm -f '$(DESTDIR)$(PREFIX_MAN)'/man1/$(MANPAGE)
set -e; for p in $(MANPAGES_1); do rm -f '$(DESTDIR)$(PREFIX_MAN)'/man1/$$p; done
set -e; for p in $(MANPAGES_3); do rm -f '$(DESTDIR)$(PREFIX_MAN)'/man3/$$p; done
$(SLIB): ${OBJS}
${CC} ${LDFLAGS} $(SHARED) -Wl,-soname,$(SLIB) -o $(SLIB) ${OBJS} ${LIBS}
$(ALIB): ${OBJS}
${AR} cru $(ALIB) ${OBJS}
${RANLIB} $(ALIB)
muroarstream: muroarstream.o
${CC} ${LDFLAGS} -o muroarstream muroarstream.o -L. -lmuroar ${LIBS}
|