.EXPORT_ALL_VARIABLES: OSARCH=$(shell uname -s) OSREV=$(shell uname -r) VERSION := 1.13 DESTDIR := CONFDIR:=/etc/asterisk CONFDIR_REAL := $(DESTDIR)/etc/asterisk LIBDIR := $(DESTDIR)/usr/lib/astmanproxy CONFFILE := astmanproxy.conf DISTDIR := /var/www/html/astmanproxy CC := gcc #LIBS := -lpthread INCLUDES := PREFIX:= /usr/local BINDIR := $(DESTDIR)$(PREFIX)/sbin # For compilation dependencies MODS := astmanproxy config common proxyfunc log HANDLERS := xml standard csv http SOBJS := $(HANDLERS:%=%.so) ifeq (${OSARCH},Darwin) LIBS=-lresolv CFLAGS+=-D__Darwin_ # -DFINK_BUILD BINDIR=/opt/sbin LIBDIR=/opt/lib/astmanproxy CONFDIR=/opt/etc/asterisk CONFDIR_REAL=/opt/etc/asterisk LOGDIR=/opt/log/asterisk OBJS+=dlfcn.o poll.o ASTLINK=-Wl,-force_flat_namespace,-dynamic SOLINK=-dynamic -bundle -undefined suppress -force_flat_namespace else #These are used for all but Darwin LIBS=-ldl -pthread ASTLINK=-Wl,-E SOLINK=-shared -Xlinker -x LOGDIR=/var/log/asterisk endif OBJS += $(MODS:%=%.o) MODDIR := $(LIBDIR)/modules CONF_TARGET:= $(CONFDIR_REAL)/$(CONFFILE) DEFINES:='-DPROXY_VERSION="$(VERSION)"' '-DCDIR="$(CONFDIR)"' '-DCFILE="$(CONFFILE)"' '-DMDIR="$(MODDIR)"' # Add -g below for debug/GDB symbols #CFLAGS+= $(DEFINES) -Wall -O2 -dynamic -D_REENTRANT -fPIC CFLAGS+= $(DEFINES) -Wall -O2 -D_REENTRANT -fPIC # For printing only SRCS := $(MODS:%=%.c) HDRS := astmanproxy.h all: astmanproxy astmanproxy: $(OBJS) $(SOBJS) $(CC) $(CFLAGS) -o $@ $(ASTLINK) $(OBJS) $(LIBS) $(OBJS): %.o: %.c $(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $< $(SOBJS): %.so: %.o $(CC) $(SOLINK) $< -o $@ install: uninstall all install -d $(BINDIR) install astmanproxy $(BINDIR) install -d $(LIBDIR) install -d $(MODDIR) install $(SOBJS) $(MODDIR) install -d $(CONFDIR_REAL) if [ ! -f $(CONF_TARGET) ]; then \ install $(CONFFILE) $(CONF_TARGET); \ fi @echo "Installation Complete!" uninstall: rm -f $(BINDIR)/astmanproxy cd $(MODDIR); rm -f $(SOBJS) @echo "Successfully uninstalled!" dist: clean rm -f $(DISTDIR)/astmanproxy-${VERSION}*; \ cd ..; tar czf $(DISTDIR)/astmanproxy-${VERSION}-`date +%Y%m%d-%H%M`.tgz astmanproxy-${VERSION}; \ /usr/bin/scp $(DISTDIR)/astmanproxy-${VERSION}-*.tgz root@www.popvox.com:$(DISTDIR); \ /usr/bin/ssh www.popvox.com "ln -sf $(DISTDIR)/astmanproxy-${VERSION}-*.tgz $(DISTDIR)/astmanproxy-latest.tgz" clean: rm -f *.o *.so core *~ astmanproxy; print: more Makefile $(HDRS) $(SRCS) | enscript -Ec -2r -j; exit 0 @echo "Printing Complete!" love: @echo "Here? Now?"