aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatarLibravatar daurnimator <quae@daurnimator.com> 2017-08-30 13:21:33 +1000
committerLibravatarLibravatar daurnimator <quae@daurnimator.com> 2017-08-30 13:21:33 +1000
commitb92fca3b68e551d2583754c80196d524890e5ee4 (patch)
tree3dc8228b2b3d4ac3e7c1ed12aac97b42c02fd301
parent75218ba665c45e29d06b963529d300805c6b0ba6 (diff)
downloadluaossl-b92fca3b68e551d2583754c80196d524890e5ee4.tar.gz
luaossl-b92fca3b68e551d2583754c80196d524890e5ee4.tar.bz2
luaossl-b92fca3b68e551d2583754c80196d524890e5ee4.zip
Pull in updated makefile structure from cqueues
-rw-r--r--GNUmakefile205
-rw-r--r--src/GNUmakefile133
2 files changed, 210 insertions, 128 deletions
diff --git a/GNUmakefile b/GNUmakefile
index c58686c..1893378 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -9,6 +9,20 @@ GUARD_$(d) := 1
all: # default target
+#
+# G N U M A K E F U N C T I O N S
+#
+KNOWN_APIS = 5.1 5.2 5.3
+
+# template for invoking luapath script
+LUAPATH := $(d)/mk/luapath
+LUAPATH_FN = $(shell env CC='$(subst ',\\',$(CC))' CPPFLAGS='$(subst ',\\',$(CPPFLAGS))' LDFLAGS='$(subst ',\\',$(LDFLAGS))' $(LUAPATH) -krxm3 -I '$(subst ',\\',$(DESTDIR)$(includedir))' -I/usr/include -I/usr/local/include -P '$(subst ',\\',$(DESTDIR)$(bindir))' -P '$(subst ',\\',$(bindir))' -L '$(subst ',\\',$(DESTDIR)$(libdir))' -L '$(subst ',\\',$(libdir))' -v$(1) $(2))
+
+# check whether luapath can locate Lua $(1) headers
+HAVE_API_FN = $(and $(filter $(1),$(call LUAPATH_FN,$(1),version)),$(1)$(info enabling Lua $(1)))
+
+# check whether $(1) in LUA_APIS or $(LUA$(1:.=)_CPPFLAGS) is non-empty
+WITH_API_FN = $$(and $$(or $$(filter $(1),$$(LUA_APIS)),$$(LUA$(subst .,,$(1))_CPPFLAGS)),$(1))
#
# E N V I R O N M E N T C O N F I G U R A T I O N
@@ -30,47 +44,43 @@ lua53path ?= $(datadir)/lua/5.3
AR ?= ar
RANLIB ?= ranlib
M4 ?= m4
+MV ?= mv
RM ?= rm
CP ?= cp
-LN ?= ln
-LN_S ?= $(LN) -s
RMDIR ?= rmdir
MKDIR ?= mkdir
CHMOD ?= chmod
INSTALL ?= install
INSTALL_DATA ?= $(INSTALL) -m 644
+TOUCH ?= touch
+TEE ?= tee
+TEE_A ?= $(TEE) -a
+
+# see Lua Autodetection, below
.PHONY: $(d)/config
+PRINT_$(d) = printf "%s = %s\n" '$(1)' '$(subst ',\\',$(2))' | $(TEE_A) '$(3)'
+
+LAZY_$(d) = \
+ prefix includedir libdir datadir bindir \
+ lua51cpath lua51path lua52cpath lua52path lua53cpath lua53path \
+ CC ALL_CPPFLAGS CPPFLAGS ALL_CFLAGS CFLAGS ALL_LDFLAGS LDFLAGS \
+ ALL_SOFLAGS SOFLAGS ALL_LIB LIBS \
+ $(foreach API,$(KNOWN_APIS),ALL_LUA$(subst .,,$(API))_CPPFLAGS) \
+ AR RANLIB M4 MV RM CP RMDIR MKDIR CHMOD INSTALL INSTALL_DATA TOUCH \
+ TEE TEE_A
+
+NONLAZY_$(d) = \
+ LUA_APIS \
+ $(foreach API,$(KNOWN_APIS),LUAC$(subst .,,$(API))) \
+ $(foreach API,$(KNOWN_APIS),$(and $(call WITH_API_FN,$(API)),LUA$(subst .,,$(API))_CPPFLAGS))
+
$(d)/config:
- printf 'prefix ?= $(value prefix)'"\n" >| $(@D)/.config
- printf 'includedir ?= $(value includedir)'"\n" >> $(@D)/.config
- printf 'libdir ?= $(value libdir)'"\n" >> $(@D)/.config
- printf 'datadir ?= $(value datadir)'"\n" >> $(@D)/.config
- printf 'bindir ?= $(value bindir)'"\n" >> $(@D)/.config
- printf 'lua51cpath ?= $(value lua51cpath)'"\n" >> $(@D)/.config
- printf 'lua51path ?= $(value lua51path)'"\n" >> $(@D)/.config
- printf 'lua52cpath ?= $(value lua52cpath)'"\n" >> $(@D)/.config
- printf 'lua52path ?= $(value lua52path)'"\n" >> $(@D)/.config
- printf 'lua53cpath ?= $(value lua53cpath)'"\n" >> $(@D)/.config
- printf 'lua53path ?= $(value lua53path)'"\n" >> $(@D)/.config
- printf 'CC ?= $(CC)'"\n" >> $(@D)/.config
- printf 'CPPFLAGS ?= $(value CPPFLAGS)'"\n" >> $(@D)/.config
- printf 'CFLAGS ?= $(value CFLAGS)'"\n" >> $(@D)/.config
- printf 'LDFLAGS ?= $(value LDFLAGS)'"\n" >> $(@D)/.config
- printf 'SOFLAGS ?= $(value SOFLAGS)'"\n" >> $(@D)/.config
- printf 'AR ?= $(value AR)'"\n" >> $(@D)/.config
- printf 'RANLIB ?= $(value RANLIB)'"\n" >> $(@D)/.config
- printf 'M4 ?= $(value M4)'"\n" >> $(@D)/.config
- printf 'RM ?= $(value RM)'"\n" >> $(@D)/.config
- printf 'CP ?= $(value CP)'"\n" >> $(@D)/.config
- printf 'LN ?= $(value LN)'"\n" >> $(@D)/.config
- printf 'LN_S ?= $(value LN_S)'"\n" >> $(@D)/.config
- printf 'RMDIR ?= $(value RMDIR)'"\n" >> $(@D)/.config
- printf 'MKDIR ?= $(value MKDIR)'"\n" >> $(@D)/.config
- printf 'CHMOD ?= $(value CHMOD)'"\n" >> $(@D)/.config
- printf 'INSTALL ?= $(value INSTALL)'"\n" >> $(@D)/.config
- printf 'INSTALL_DATA ?= $(value INSTALL_DATA)'"\n" >> $(@D)/.config
+ $(TOUCH) $(@D)/.config.tmp
+ @$(foreach V,$(LAZY_$(@D)), $(call PRINT_$(@D),$(V),$(value $(V)),$(@D)/.config.tmp);)
+ @$(foreach V,$(NONLAZY_$(@D)), $(call PRINT_$(@D),$(V),$($(V)),$(@D)/.config.tmp);)
+ $(MV) $(@D)/.config.tmp $(@D)/.config
# add local targets if building from inside project tree
ifneq "$(filter $(abspath $(d)/..)/%, $(abspath $(firstword $(MAKEFILE_LIST))))" ""
@@ -81,7 +91,49 @@ endif
#
-# S H A R E D C O M P I L A T I O N F L A G S
+# L U A A U T O D E T E C T I O N
+#
+
+# set LUA_APIS if empty or "?"
+ifeq ($(or $(strip $(LUA_APIS)),?),?)
+override LUA_APIS := $(call HAVE_API_FN,5.1) $(call HAVE_API_FN,5.2) $(call HAVE_API_FN,5.3)
+endif
+
+define LUAXY_template
+
+# set luaXYcpath if empty or "?"
+ifeq ($$(or $$(strip $$(lua$(subst .,,$(1))cpath)),?),?)
+override lua$(subst .,,$(1))cpath := $$(or $$(call LUAPATH_FN,$(1),cdir),$$(libdir)/lua/$(1))
+endif
+
+# set luaXYpath if empty or "?"
+ifeq ($$(or $$(strip $$(lua$(subst .,,$(1))path)),?),?)
+override lua$(subst .,,$(1))path = $$(or $$(call LUAPATH_FN,$(1),ldir),$$(datadir)/lua/$(1))
+endif
+
+# set LUAXY_CPPFLAGS if undefined or "?" (NB: can be empty if path already in $(CPPFLAGS))
+ifeq ($$(and $$(findstring undefined,$$(origin LUA$(subst .,,$(1))_CPPFLAGS)),?),?)
+override LUA$(subst .,,$(1))_CPPFLAGS = $$(and $$(call WITH_API_FN,$(1)),$$(call LUAPATH_FN,$(1),cppflags))
+endif
+
+# set ALL_LUAXY_CPPFLAGS if empty or "?"
+ifeq ($$(or $$(strip $$(ALL_LUA$(subst .,,$(1))_CPPFLAGS)),?),?)
+override ALL_LUA$(subst .,,$(1))_CPPFLAGS = $$(LUA$(subst .,,$(1))_CPPFLAGS)
+endif
+
+# set LUAXYC if empty or "?"
+ifeq ($$(or $$(strip $$(LUAC$(subst .,,$(1)))),?),?)
+override LUAC$(subst .,,$(1)) = $$(or $$(call LUAPATH_FN,$(1),luac),true)
+endif
+
+endef # LUAXY_template
+
+$(eval $(call LUAXY_template,5.1))
+$(eval $(call LUAXY_template,5.2))
+$(eval $(call LUAXY_template,5.3))
+
+#
+# A U T O D E T E C T C O M P I L A T I O N F L A G S
#
cc-option ?= $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null \
> /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi;)
@@ -89,44 +141,107 @@ cc-option ?= $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null \
VENDOR_OS_$(d) := $(shell $(d)/mk/vendor.os)
VENDOR_CC_$(d) := $(shell env CC="$(CC)" $(d)/mk/vendor.cc)
+#
+# ALL_CPPFLAGS
+#
+ifeq ($(origin ALL_CPPFLAGS), undefined)
+
ifneq ($(VENDOR_OS_$(d)), OpenBSD)
-CPPFLAGS_$(d) += -D_REENTRANT -D_THREAD_SAFE -D_GNU_SOURCE
+ALL_CPPFLAGS += -D_REENTRANT -D_THREAD_SAFE -D_GNU_SOURCE
endif
ifeq ($(VENDOR_OS_$(d)), SunOS)
-CPPFLAGS_$(d) += -Usun -D_XPG4_2 -D__EXTENSIONS__
+ALL_CPPFLAGS += -Usun -D_XPG4_2 -D__EXTENSIONS__
endif
+ALL_CPPFLAGS += $(CPPFLAGS)
+
+endif # ALL_CPPFLAGS
+
+#
+# ALL_CFLAGS
+#
+ifeq ($(origin ALL_CFLAGS), undefined)
+
ifeq ($(VENDOR_CC_$(d)), gcc)
-CFLAGS_$(d) += -O2 -std=gnu99 -fPIC
-CFLAGS_$(d) += -g -Wall -Wextra $(call cc-option, -Wno-missing-field-initializers) $(call cc-option, -Wno-override-init) -Wno-unused
+ALL_CFLAGS += -O2 -std=gnu99 -fPIC
+ALL_CFLAGS += -g -Wall -Wextra $(call cc-option, -Wno-missing-field-initializers) $(call cc-option, -Wno-override-init) -Wno-unused
endif
ifeq ($(VENDOR_CC_$(d)), clang)
-CFLAGS_$(d) += -O2 -std=gnu99 -fPIC
-CFLAGS_$(d) += -g -Wall -Wextra -Wno-missing-field-initializers -Wno-initializer-overrides -Wno-unused
+ALL_CFLAGS += -O2 -std=gnu99 -fPIC
+ALL_CFLAGS += -g -Wall -Wextra -Wno-missing-field-initializers -Wno-initializer-overrides -Wno-unused -Wno-dollar-in-identifier-extension
endif
ifeq ($(VENDOR_CC_$(d)), sunpro)
-CFLAGS_$(d) += -xcode=pic13
-CFLAGS_$(d) += -g
+ALL_CFLAGS += -xcode=pic13
+ALL_CFLAGS += -g
#
-# Solaris Studio has a brain-dead function call analyzer which counts
-# arguments before preprocessor expansion.
+# Solaris Studio supports anonymous unions just fine; but it complains
+# incessantly about them.
#
-CFLAGS_$(d) += -erroff=E_ARGUEMENT_MISMATCH
+ALL_CFLAGS += -erroff=E_ANONYMOUS_UNION_DECL
endif
ifeq ($(VENDOR_OS_$(d)), Darwin)
-CFLAGS_$(d) += -Wno-deprecated-declarations
+ALL_CFLAGS += -Wno-deprecated-declarations
endif
+ALL_CFLAGS += $(CFLAGS)
+
+endif # ALL_CFLAGS
+
+#
+# ALL_SOFLAGS
+#
+ifeq ($(origin ALL_SOFLAGS), undefined)
+
ifeq ($(VENDOR_OS_$(d)), Darwin)
-SOFLAGS_$(d) += -bundle -undefined dynamic_lookup
+ALL_SOFLAGS += -bundle -undefined dynamic_lookup
else
-SOFLAGS_$(d) += -shared
+ALL_SOFLAGS += -shared
+endif
+
+ALL_SOFLAGS += $(SOFLAGS)
+
+endif # ALL_SOFLAGS
+
+#
+# ALL_LDFLAGS
+#
+ifeq ($(origin ALL_LDFLAGS), undefined)
+
+ALL_LDFLAGS += -L$(DESTDIR)$(libdir) -L$(libdir)
+ALL_LDFLAGS += $(LDFLAGS)
+
+endif # ALL_LDFLAGS
+
+#
+# ALL_LIBS
+#
+ifeq ($(origin ALL_LIBS), undefined)
+
+# put $(LIBS) first as they're more likely to be higher-level dependencies
+ALL_LIBS += $(LIBS)
+ALL_LIBS += -lssl -lcrypto -lpthread
+
+# NetBSD, FreeBSD, OpenBSD (and presumably descendants) lack any libdl;
+# dlopen, et al are part of libc.
+ifneq ($(patsubst %BSD,BSD,$(VENDOR_OS_$(d))), BSD)
+ALL_LIBS += -ldl
endif
+# This only seems to be necessary on Linux. Darwin and OpenBSD lack a librt.
+# On OpenBSD clock_gettime is part of libc. Others have librt, but linking
+# it in is unnecessary.
+ifeq ($(VENDOR_OS_$(d)), Linux)
+ALL_LIBS += -lrt
+endif
+
+ALL_LIBS += -lm
+
+endif # ALL_LIBS
+
#
# P R O J E C T R U L E S
diff --git a/src/GNUmakefile b/src/GNUmakefile
index 8d645ea..4bf5f8d 100644
--- a/src/GNUmakefile
+++ b/src/GNUmakefile
@@ -16,66 +16,46 @@ include $(d)/../GNUmakefile
#
# C O M P I L A T I O N F L A G S
#
-OS_$(d) = $(shell $(d)/../mk/vendor.os)
-CC_$(d) = $(shell env CC="$(CC) "$(d)/../mk/vendor.cc)
-LUAPATH_$(d) = $(shell env CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" $(<D)/../mk/luapath -krxm3 -I$(DESTDIR)$(includedir) -I/usr/include -I/usr/local/include -P$(DESTDIR)$(bindir) -P$(bindir) -L$(DESTDIR)$(libdir) -L$(libdir) -v$(1) $(2))
-
-CPPFLAGS_$(d) = $(CPPFLAGS_$(abspath $(@D)/../..)) -DHAVE_CONFIG_H
-CFLAGS_$(d) = $(CFLAGS_$(abspath $(@D)/../..))
-LDFLAGS_$(d) = $(LDFLAGS_$(abspath $(@D)/../..))
-SOFLAGS_$(d) = $(SOFLAGS_$(abspath $(@D)/../..))
-
-ifeq ($(CC_$(d)), sunpro)
-CPPFLAGS_$(d) += -DOPENSSL_NO_EC
-endif
-
-LDFLAGS_$(d) += -lssl -lcrypto -lpthread -lm
-
-# NetBSD, FreeBSD, OpenBSD (and presumably descendants) lack any libdl;
-# dlopen, et al are part of libc.
-ifneq ($(patsubst %BSD,BSD,$(OS_$(d))), BSD)
-LDFLAGS_$(d) += -ldl
-endif
-
+CPPFLAGS_$(d) = $(ALL_CPPFLAGS) -DHAVE_CONFIG_H
+CFLAGS_$(d) = $(ALL_CFLAGS)
+SOFLAGS_$(d) = $(ALL_SOFLAGS)
+LDFLAGS_$(d) = $(ALL_LDFLAGS)
+LIBS_$(d) = $(ALL_LIBS)
#
# C O M P I L A T I O N R U L E S
#
+OBJS_$(d) = openssl.o
+
$(d)/config.h: $(abspath $(d)/..)/config.h
$(CP) $< $@
define BUILD_$(d)
-.SECONDARY: liblua$(1)-openssl openssl$(1)
+$$(d)/$(1)/openssl.so: $$(addprefix $$(d)/$(1)/, $$(OBJS_$(d)))
+ $$(CC) -o $$@ $$^ $$(SOFLAGS_$$(abspath $$(@D)/..)) $$(LDFLAGS_$$(abspath $$(@D)/..)) $$(LIBS_$$(abspath $$(@D)/..))
-$$(d)/$(1)/openssl.so: $$(d)/$(1)/openssl.o
- $$(CC) -o $$@ $$^ $$(SOFLAGS_$$(abspath $$(@D)/..)) $$(SOFLAGS) $$(LDFLAGS_$$(abspath $$(@D)/..)) $$(LDFLAGS)
-
-$$(d)/$(1)/openssl.o: $$(d)/openssl.c $$(d)/compat52.h $$(d)/config.h
- test "$$(notdir $$(@D))" = "$$(call LUAPATH_$$(<D), $$(notdir $$(@D)), version)"
+$$(d)/$(1)/%.o: $$(d)/%.c $$(d)/compat52.h $$(d)/config.h
$$(MKDIR) -p $$(@D)
- $$(CC) $$(CFLAGS_$$(<D)) $$(CFLAGS) $$(call LUAPATH_$$(<D), $$(notdir $$(@D)), cppflags) $$(CPPFLAGS_$$(<D)) $$(CPPFLAGS) -c -o $$@ $$<
+ $$(CC) $$(CFLAGS_$$(<D)) $$(ALL_LUA$(subst .,,$(1))_CPPFLAGS) $$(CPPFLAGS_$$(<D)) -c -o $$@ $$<
+
+.SECONDARY: liblua$(1)-openssl openssl$(1) openssl
-liblua$(1)-openssl openssl$(1): $$(d)/$(1)/openssl.so
+liblua$(1)-openssl openssl$(1) openssl: $$(d)/$(1)/openssl.so
endef # BUILD_$(d)
$(eval $(call BUILD_$(d),5.1))
-
$(eval $(call BUILD_$(d),5.2))
-
$(eval $(call BUILD_$(d),5.3))
ifneq "$(filter $(abspath $(d)/..)/%, $(abspath $(firstword $(MAKEFILE_LIST))))" ""
-.SECONDARY: all5.1 all5.2 all
+.SECONDARY: all all5.1 all5.2 all5.3
all5.1: liblua5.1-openssl
-
all5.2: liblua5.2-openssl
-
all5.3: liblua5.3-openssl
-
-all: all5.1 all5.2
+all: $(foreach API,$(strip $(LUA_APIS)),all$(API))
endif
@@ -85,8 +65,6 @@ endif
#
define INSTALL_$(d)
-LUAC$(1)_$(d) = $$(or $$(call LUAPATH_$(d), $(1), luac), true)
-
MODS$(1)_$(d) = \
$$(DESTDIR)$(2)/_openssl.so \
$$(DESTDIR)$(3)/openssl.lua \
@@ -116,42 +94,34 @@ MODS$(1)_$(d) = \
.SECONDARY: liblua$(1)-openssl-install openssl$(1)-install
-$$(DESTDIR)$(2)/_openssl.so: $$(d)/$(1)/openssl.so
- $$(MKDIR) -p $$(@D)
- $$(CP) -fp $$< $$@
+liblua$(1)-openssl-install openssl$(1)-install: $$(MODS$(1)_$$(d))
-$$(DESTDIR)$(3)/openssl.lua: $$(d)/openssl.lua
- $$(LUAC$(1)_$(d)) -p $$<
+$$(DESTDIR)$(2)/_openssl.so: $$(d)/$(1)/openssl.so
$$(MKDIR) -p $$(@D)
$$(CP) -p $$< $$@
-$$(DESTDIR)$(3)/openssl/%.lua: $$(d)/openssl.%.lua
- $$(LUAC$(1)_$(d)) -p $$<
+$$(DESTDIR)$(3)/%.lua: $$(d)/%.lua
+ $$(LUAC$(subst .,,$(1))) -p $$<
$$(MKDIR) -p $$(@D)
$$(CP) -p $$< $$@
-# pubkey.lua used to be symbolic link to pkey.lua, but that caused packaging
-# headaches. Now it's a stub, but the cp -p in the inference rule will copy
-# to the target of the symbolic link, so we need a special install rule to
-# clean up the mess.
-$$(DESTDIR)$(3)/openssl/pubkey.lua: $$(d)/openssl.pubkey.lua
- $$(LUAC$(1)_$(d)) -p $$<
+$$(DESTDIR)$(3)/openssl/%.lua: $$(d)/openssl.%.lua
+ $$(LUAC$(subst .,,$(1))) -p $$<
$$(MKDIR) -p $$(@D)
- $$(RM) -f $$@
$$(CP) -p $$< $$@
-$$(DESTDIR)$(3)/openssl/ocsp/%.lua: $$(d)/openssl.ocsp.%.lua
- $$(LUAC$(1)_$(d)) -p $$<
+$$(DESTDIR)$(3)/openssl/ocsp/%.lua: $$(d)/ocsp.%.lua
+ $$(LUAC$(subst .,,$(1))) -p $$<
$$(MKDIR) -p $$(@D)
$$(CP) -p $$< $$@
-$$(DESTDIR)$(3)/openssl/x509/%.lua: $$(d)/openssl.x509.%.lua
- $$(LUAC$(1)_$(d)) -p $$<
+$$(DESTDIR)$(3)/openssl/x509/%.lua: $$(d)/x509.%.lua
+ $$(LUAC$(subst .,,$(1))) -p $$<
$$(MKDIR) -p $$(@D)
$$(CP) -p $$< $$@
-$$(DESTDIR)$(3)/openssl/ssl/%.lua: $$(d)/openssl.ssl.%.lua
- $$(LUAC$(1)_$(d)) -p $$<
+$$(DESTDIR)$(3)/openssl/ssl/%.lua: $$(d)/ssl.%.lua
+ $$(LUAC$(subst .,,$(1))) -p $$<
$$(MKDIR) -p $$(@D)
$$(CP) -p $$< $$@
@@ -169,31 +139,24 @@ liblua$(1)-openssl-uninstall openssl$(1)-uninstall:
endef # INSTALL_$(d)
$(eval $(call INSTALL_$(d),5.1,$$(lua51cpath),$$(lua51path)))
-
$(eval $(call INSTALL_$(d),5.2,$$(lua52cpath),$$(lua52path)))
-
$(eval $(call INSTALL_$(d),5.3,$$(lua53cpath),$$(lua53path)))
ifneq "$(filter $(abspath $(d)/..)/%, $(abspath $(firstword $(MAKEFILE_LIST))))" ""
+
.SECONDARY: install5.1 install5.2 install5.3 install
install5.1: liblua5.1-openssl-install
-
install5.2: liblua5.2-openssl-install
-
install5.3: liblua5.3-openssl-install
-
-install: install5.1 install5.2
+install: $(foreach API,$(strip $(LUA_APIS)),install$(API))
.PHONY: uninstall5.1 uninstall5.2 uninstall5.3 uninstall
uninstall5.1: liblua5.1-openssl-uninstall
-
uninstall5.2: liblua5.2-openssl-uninstall
-
uninstall5.3: liblua5.3-openssl-uninstall
-
-uninstall: uninstall5.1 uninstall5.2
+uninstall: $(foreach API,$(strip $(LUA_APIS)),uninstall$(API))
endif
@@ -204,7 +167,7 @@ endif
.PHONY: $(d)/clean $(d)/clean~ clean clean~
$(d)/clean:
- $(RM) -fr $(@D)/*.so $(@D)/*.o $(@D)/*.dSYM $(@D)/5.1 $(@D)/5.2 $(@D)/5.3
+ $(RM) -fr $(@D)/config.h $(@D)/*.dSYM $(@D)/5.1 $(@D)/5.2 $(@D)/5.3
$(d)/clean~: $(d)/clean
$(RM) -f $(@D)/*~
@@ -221,27 +184,27 @@ clean~: $(d)/clean~
$(d)/help:
@echo
- @echo "ext/ targets:"
+ @echo "src/ targets:"
@echo ""
- @echo " all - build all binary targets"
- @echo "openssl - invokes openssl5.1 and openssl5.2"
- @echo "openssl5.1 - build 5.1/openssl.so"
- @echo "openssl5.2 - build 5.2/openssl.so"
- @echo "openssl5.3 - build 5.3/openssl.so"
- @echo "install - invokes install5.1 and install5.2"
- @echo "install5.1 - install openssl Lua 5.1 modules"
- @echo "install5.2 - install openssl Lua 5.2 modules"
- @echo "install5.3 - install openssl Lua 5.3 modules"
- @echo "uninstall - invokes uninstall5.1 and uninstall5.2"
+ @echo " all - build all API targets"
+ @echo " all5.1 - build 5.1/openssl.so"
+ @echo " all5.2 - build 5.2/openssl.so"
+ @echo " all5.3 - build 5.3/openssl.so"
+ @echo " install - install all API targets"
+ @echo " install5.1 - install openssl Lua 5.1 modules"
+ @echo " install5.2 - install openssl Lua 5.2 modules"
+ @echo " install5.3 - install openssl Lua 5.3 modules"
+ @echo " uninstall - uninstall all API targets"
@echo "uninstall5.1 - uninstall openssl Lua 5.1 modules"
@echo "uninstall5.2 - uninstall openssl Lua 5.2 modules"
@echo "uninstall5.3 - uninstall openssl Lua 5.3 modules"
- @echo " clean - rm binary targets, object files, debugging symbols, etc"
- @echo " clean~ - clean + rm *~"
- @echo " help - echo this help message"
+ @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 ' LUA_APIS - default Lua APIs to target ($(LUA_APIS))'
@echo " prefix - path to install root ($(value prefix))"
@echo ' lua51path - install path for Lua 5.1 modules ($(value lua51path))'
@echo 'lua51cpath - install path for Lua 5.1 C modules ($(value lua51cpath))'
@@ -250,6 +213,10 @@ $(d)/help:
@echo ' lua53path - install path for Lua 5.3 modules ($(value lua53path))'
@echo 'lua53cpath - install path for Lua 5.3 C modules ($(value lua53cpath))'
@echo ""
+ @echo 'LUA51_CPPFLAGS - cpp flags for Lua 5.1 headers ($(LUA51_CPPFLAGS))'
+ @echo 'LUA52_CPPFLAGS - cpp flags for Lua 5.2 headers ($(LUA52_CPPFLAGS))'
+ @echo 'LUA53_CPPFLAGS - cpp flags for Lua 5.3 headers ($(LUA53_CPPFLAGS))'
+ @echo ""
@echo "(NOTE: all the common GNU-style paths are supported, including"
@echo "prefix, bindir, libdir, datadir, includedir, and DESTDIR.)"
@echo ""