From 5f3993fbf20065a9cc4e5123340b3df0337c8c01 Mon Sep 17 00:00:00 2001
From: William Ahern <william@server.local>
Date: Wed, 13 Mar 2013 19:35:24 -0700
Subject: -n rename to GNUmakefile

---
 GNUmakefile | 163 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 163 insertions(+)
 create mode 100644 GNUmakefile

(limited to 'GNUmakefile')

diff --git a/GNUmakefile b/GNUmakefile
new file mode 100644
index 0000000..d484ff5
--- /dev/null
+++ b/GNUmakefile
@@ -0,0 +1,163 @@
+prefix = /usr/local
+bindir = $(prefix)/bin
+libdir = $(prefix)/lib
+datadir = $(prefix)/share
+includedir = $(prefix)/include
+luainclude =
+luapath =
+luacpath =
+LUAC =
+
+# backwards compatible install paths
+ifneq ($(origin lua52include), undefined)
+luainclude = $(lua52include)
+endif
+
+ifneq ($(origin lua52path), undefined)
+luapath = $(lua52path)
+endif
+
+ifneq ($(origin lua52cpath), undefined)
+luacpath = $(lua52cpath)
+endif
+
+
+# call helper to derive our Lua paths
+ENV = CC CPPFLAGS prefix bindir libdir datadir includedir \
+      luainclude luapath luacpath LUAC
+$(shell env $(foreach V, $(ENV), $(V)="$(call $(V))") ../mk/lua.path make > .config)
+include .config
+
+
+VENDOR.OS = $(shell ../mk/vendor.os)
+VENDOR.CC = $(shell env CC="${CC}" ../mk/vendor.cc)
+
+ifneq ($(luainclude),)
+CPPFLAGS = -I$(luainclude)
+endif
+
+ifeq ($(VENDOR.CC), sunpro)
+DFLAGS = -g
+CFLAGS = -xcode=pic13 $(DFLAGS)
+CPPFLAGS += -DOPENSSL_NO_EC
+else
+DFLAGS = -g -Wall -Wextra -Wno-deprecated-declarations -Wno-unused
+CFLAGS = -fPIC $(DFLAGS)
+endif
+
+LDFLAGS = -lssl -lcrypto
+
+ifeq ($(VENDOR.OS), Darwin)
+SOFLAGS = -bundle -undefined dynamic_lookup
+else
+SOFLAGS = -shared
+endif
+
+
+all: openssl.so
+
+openssl.so: openssl.o
+	$(CC) -o $@ $^ $(SOFLAGS) $(LDFLAGS)
+
+openssl.o: openssl.c compat52.h
+	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
+
+
+install: $(DESTDIR)$(luacpath)/_openssl.so \
+         $(DESTDIR)$(luapath)/openssl/bignum.lua \
+         $(DESTDIR)$(luapath)/openssl/pubkey.lua \
+         $(DESTDIR)$(luapath)/openssl/x509.lua \
+         $(DESTDIR)$(luapath)/openssl/x509/name.lua \
+         $(DESTDIR)$(luapath)/openssl/x509/altname.lua \
+         $(DESTDIR)$(luapath)/openssl/x509/chain.lua \
+         $(DESTDIR)$(luapath)/openssl/x509/store.lua \
+         $(DESTDIR)$(luapath)/openssl/ssl/context.lua \
+         $(DESTDIR)$(luapath)/openssl/ssl.lua \
+         $(DESTDIR)$(luapath)/openssl/digest.lua \
+         $(DESTDIR)$(luapath)/openssl/hmac.lua \
+         $(DESTDIR)$(luapath)/openssl/cipher.lua
+
+$(DESTDIR)$(luacpath)/_openssl.so: openssl.so
+	mkdir -p $(@D)
+	cp -p $< $@
+
+$(DESTDIR)$(luapath)/openssl/bignum.lua: openssl.bignum.lua
+	mkdir -p $(@D)
+	cp -p $< $@
+
+$(DESTDIR)$(luapath)/openssl/pubkey.lua: openssl.pubkey.lua
+	mkdir -p $(@D)
+	cp -p $< $@
+
+$(DESTDIR)$(luapath)/openssl/x509.lua: openssl.x509.lua
+	mkdir -p $(@D)
+	cp -p $< $@
+
+$(DESTDIR)$(luapath)/openssl/x509/name.lua: openssl.x509.name.lua
+	mkdir -p $(@D)
+	cp -p $< $@
+
+$(DESTDIR)$(luapath)/openssl/x509/altname.lua: openssl.x509.altname.lua
+	mkdir -p $(@D)
+	cp -p $< $@
+
+$(DESTDIR)$(luapath)/openssl/x509/chain.lua: openssl.x509.chain.lua
+	mkdir -p $(@D)
+	cp -p $< $@
+
+$(DESTDIR)$(luapath)/openssl/x509/store.lua: openssl.x509.store.lua
+	mkdir -p $(@D)
+	cp -p $< $@
+
+$(DESTDIR)$(luapath)/openssl/ssl/context.lua: openssl.ssl.context.lua
+	mkdir -p $(@D)
+	cp -p $< $@
+
+$(DESTDIR)$(luapath)/openssl/ssl.lua: openssl.ssl.lua
+	mkdir -p $(@D)
+	cp -p $< $@
+
+$(DESTDIR)$(luapath)/openssl/digest.lua: openssl.digest.lua
+	mkdir -p $(@D)
+	cp -p $< $@
+
+$(DESTDIR)$(luapath)/openssl/hmac.lua: openssl.hmac.lua
+	mkdir -p $(@D)
+	cp -p $< $@
+
+$(DESTDIR)$(luapath)/openssl/cipher.lua: openssl.cipher.lua
+	mkdir -p $(@D)
+	cp -p $< $@
+
+
+.PHONY: clean clean~ help
+
+clean:
+	rm -f *.so *.o
+	rm -f .config
+
+clean~: clean
+	rm -f *~
+
+help:
+	@echo "Available targets:"
+	@echo ""
+	@echo "       all - build all binary targets"
+	@echo "openssl.so - build openssl.so module"
+	@echo "   install - install openssl modules"
+	@echo "     clean - rm binary targets, object files, debugging symbols, etc"
+	@echo "    clean~ - clean + rm *~"
+	@echo "      help - echo this help message"
+	@echo ""
+	@echo "Some important Make variables:"
+	@echo ""
+	@echo "    prefix - path to install root"
+	@echo 'luainclude - path to Lua headers ($$(prefix)/include/lua/5.2)'
+	@echo '   luapath - install path for Lua modules ($$(prefix)/share/lua/5.2)'
+	@echo '  luacpath - install path for Lua C modules ($$(prefix)/lib/lua/5.2)'
+	@echo '      LUAC - path to luac utility ($$(bindir)/luac)'
+	@echo ""
+	@echo "(NOTE: all the common GNU-style paths are supported, including"
+	@echo "prefix, bindir, libdir, datadir, includedir, and DESTDIR.)"
+	@echo ""
+	@echo "Report bugs to <william@25thandClement.com>"
-- 
cgit v1.2.3-59-g8ed1b