From f722ade2a59872cb8c62e81809ef4d83d11434e5 Mon Sep 17 00:00:00 2001 From: David Troy Date: Mon, 23 Jun 2008 11:37:23 -0400 Subject: added files to project --- Makefile | 176 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7627d50 --- /dev/null +++ b/Makefile @@ -0,0 +1,176 @@ +.EXPORT_ALL_VARIABLES: + +OSARCH=$(shell uname -s) +OSREV=$(shell uname -r) + +VERSION := 1.22pre +DESTDIR ?= +CONFDIR:=/etc/asterisk +CONFDIR_REAL := $(DESTDIR)/etc/asterisk +PERMDIR:=/etc/asterisk +PERMDIR_REAL := $(DESTDIR)/etc/asterisk +DISTDIR:=/var/www/html/astmanproxy + +LIBDIR := $(DESTDIR)/usr/lib/astmanproxy +CONFFILE := astmanproxy.conf +PERMFILE := astmanproxy.users + +CC := gcc +INCLUDES := +PREFIX:= /usr/local +BINDIR := $(DESTDIR)$(PREFIX)/sbin + +# For compilation dependencies +MODS := astmanproxy config config_perms common proxyfunc log ssl md5 +HANDLERS := xml standard csv http +SOBJS := $(HANDLERS:%=%.so) +LIBS := -lssl + +# Add -g below for debug/GDB symbols +CFLAGS:=-Wall -O2 -D_REENTRANT -fPIC -Isrc/include -I/usr/include/openssl + +ifeq (${OSARCH},Darwin) + LIBS+=-lresolv + CFLAGS+=-D__Darwin_ -Iquotesrc/include + BINDIR=/opt/sbin + LIBDIR=/opt/lib/astmanproxy + CONFDIR=/opt/etc/asterisk + CONFDIR_REAL=/opt/etc/asterisk + PERMDIR=/opt/etc/asterisk + PERMDIR_REAL=/opt/etc/asterisk + LOGDIR=/opt/log/asterisk + CERTDIR := /opt/lib/asterisk/certs + ifeq (${OSREV},7.9.0) + OBJS+=poll.o dlfcn.o + endif + ASTLINK=-Wl,-force_flat_namespace,-dynamic + SOLINK=-dynamic -bundle -undefined suppress -force_flat_namespace + MKTEMP=/usr/bin/mktemp +else + #These are used for all but Darwin + CFLAGS+=-I- + LIBS+=-ldl -pthread + ASTLINK=-Wl,-E + SOLINK=-shared -Xlinker -x + LOGDIR=/var/log/asterisk + CERTDIR := /var/lib/asterisk/certs + MKTEMP=/bin/mktemp +endif + +MODDIR := $(LIBDIR)/modules +DEFINES:='-DPROXY_VERSION="$(VERSION)"' '-DCDIR="$(CONFDIR)"' '-DCFILE="$(CONFFILE)"' +DEFINES+='-DMDIR="$(MODDIR)"' '-DPDIR="$(PERMDIR)"' '-DPFILE="$(PERMFILE)"' + +PROXYCERT := $(CERTDIR)/proxy-server.pem +PROXYSSLCONF := $(CONFDIR)/proxy-ssl.conf + +CFLAGS += $(DEFINES) + +OBJS += $(MODS:%=%.o) +CONF_TARGET:= $(CONFDIR_REAL)/$(CONFFILE) +PERM_TARGET:= $(PERMDIR_REAL)/$(PERMFILE) +VPATH = src + + +# For printing only +SRCS := $(MODS:%=src/%.c) +HDRS := src/include/astmanproxy.h + +all: astmanproxy cert + +astmanproxy: $(OBJS) $(SOBJS) + $(CC) $(CFLAGS) -o $@ $(ASTLINK) $(OBJS) $(LIBS) + +$(OBJS): %.o: %.c + $(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $< + +$(SOBJS): %.so: %.o + $(CC) $(SOLINK) $< -o $@ + +SERIAL=`date "+%Y%m%d%H%M%S"` + +cert: + if [ ! -f $(PROXYCERT) ]; then \ + umask 77 ; \ + PEM1=`$(MKTEMP) /tmp/openssl.XXXXXX` ; \ + PEM2=`$(MKTEMP) /tmp/openssl.XXXXXX` ; \ + if [ ! -f $(PROXYSSLCONF) ]; then \ + install ./configs/ssl.conf $(PROXYSSLCONF); \ + fi; \ + /usr/bin/openssl req $(UTF8) -newkey rsa:1024 -keyout $$PEM1 -nodes -x509 -days 365 -out $$PEM2 -set_serial $(SERIAL) -config $(PROXYSSLCONF) ; \ + mkdir -p $(CERTDIR); \ + cat $$PEM1 > $(PROXYCERT) ; \ + echo "" >> $(PROXYCERT) ; \ + cat $$PEM2 >> $(PROXYCERT) ; \ + rm $$PEM1 $$PEM2; \ + fi + +certificate: + createcert="1"; \ + if [ -f $(PROXYCERT) ]; then \ + echo -n "The certificate already exists, Do you really want to create new one(yes/no)?"; \ + read answer; \ + if [ "$$answer" = "yes" ]; then \ + echo "I am creating a new certificate, Old one is copied as server.pem.old ";\ + sudo cp /var/lib/asterisk/certs/server.pem /var/lib/asterisk/certs/server.pem.old; \ + elif [ "$$answer" = "no" ]; then \ + echo "Certificate already exists, I am not creating a new certificate,";\ + createcert="0"; \ + else \ + echo "You need to enter either yes or no"; \ + createcert="0"; \ + fi; \ + fi; \ + if [ "$$createcert" = "1" ]; then \ + umask 77 ; \ + PEM1=`$(MKTEMP) /tmp/openssl.XXXXXX` ; \ + PEM2=`$(MKTEMP) /tmp/openssl.XXXXXX` ; \ + if [ ! -f $(PROXYSSLCONF) ]; then \ + install ./configs/ssl.conf $(PROXYSSLCONF); \ + fi; \ + /usr/bin/openssl req $(UTF8) -newkey rsa:1024 -keyout $$PEM1 -nodes -x509 -days 365 -out $$PEM2 -set_serial $(SERIAL) -config $(PROXYSSLCONF) ; \ + mkdir -p $(CERTDIR); \ + cat $$PEM1 > $(PROXYCERT) ; \ + echo "" >> $(PROXYCERT) ; \ + cat $$PEM2 >> $(PROXYCERT) ; \ + rm $$PEM1 $$PEM2; \ + fi + + +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 ./configs/$(CONFFILE) $(CONF_TARGET); \ + fi + if [ ! -f $(PERM_TARGET) ]; then \ + install ./configs/$(PERMFILE) $(PERM_TARGET); \ + fi + @echo "Installation Complete!" + +uninstall: + rm -f $(BINDIR)/astmanproxy + cd $(MODDIR); rm -f $(SOBJS) + @echo "Successfully uninstalled!" + +dist: clean + rm -rf /tmp/astmanproxy-${VERSION}*; \ + cp -R . /tmp/astmanproxy-${VERSION}; \ + cd /tmp; tar czf /tmp/astmanproxy-${VERSION}-`date +%Y%m%d-%H%M`.tgz astmanproxy-${VERSION}; \ + /usr/bin/scp /tmp/astmanproxy-${VERSION}-*.tgz root@www.popvox.com:$(DISTDIR); \ + /usr/bin/ssh -lroot www.popvox.com "ln -sf $(DISTDIR)/astmanproxy-${VERSION}-*.tgz $(DISTDIR)/astmanproxy-latest.tgz" + +clean: + rm -f *.o *.so core *~ astmanproxy proxy-server.pem; + +print: + more Makefile $(HDRS) $(SRCS) | enscript -Ec -2r -j; exit 0 + @echo "Printing Complete!" + +love: + @echo "Here? Now?" + -- cgit