aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/c_src.mk
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2015-05-22 11:21:15 +0300
committerLoïc Hoguin <[email protected]>2015-05-22 11:21:15 +0300
commit004ae229a1c8e9d066b058097bda14d7a9a57b50 (patch)
tree185afe5440f0f08ee24e1c774497a9011905159c /plugins/c_src.mk
parented667c867c96e33d8cf90466036f93dcba7d14f9 (diff)
downloaderlang.mk-004ae229a1c8e9d066b058097bda14d7a9a57b50.tar.gz
erlang.mk-004ae229a1c8e9d066b058097bda14d7a9a57b50.tar.bz2
erlang.mk-004ae229a1c8e9d066b058097bda14d7a9a57b50.zip
Handle executable ports
Previously we only did shared libraries, now we allow executables. Also improve greatly the handling of autopatched rebar projects by relying once again on the rebar_utils module.
Diffstat (limited to 'plugins/c_src.mk')
-rw-r--r--plugins/c_src.mk12
1 files changed, 6 insertions, 6 deletions
diff --git a/plugins/c_src.mk b/plugins/c_src.mk
index 710566d..34e4952 100644
--- a/plugins/c_src.mk
+++ b/plugins/c_src.mk
@@ -5,9 +5,10 @@
# Configuration.
-C_SRC_DIR = $(CURDIR)/c_src
+C_SRC_DIR ?= $(CURDIR)/c_src
C_SRC_ENV ?= $(C_SRC_DIR)/env.mk
C_SRC_OUTPUT ?= $(CURDIR)/priv/$(PROJECT).so
+C_SRC_TYPE ?= shared
# System type and C compiler/flags.
@@ -30,7 +31,10 @@ CFLAGS += -fPIC -I $(ERTS_INCLUDE_DIR) -I $(ERL_INTERFACE_INCLUDE_DIR)
CXXFLAGS += -fPIC -I $(ERTS_INCLUDE_DIR) -I $(ERL_INTERFACE_INCLUDE_DIR)
LDLIBS += -L $(ERL_INTERFACE_LIB_DIR) -lerl_interface -lei
+
+ifeq ($(C_SRC_TYPE),shared)
LDFLAGS += -shared
+endif
# Verbosity.
@@ -52,11 +56,7 @@ app:: app-c_src
test-build:: app-c_src
app-c_src:
- $(MAKE) -C $(C_SRC_DIR) \
- CFLAGS="$(CFLAGS)" \
- CXXFLAGS="$(CXXFLAGS)" \
- LDLIBS="$(LDLIBS)" \
- LDFLAGS="$(LDFLAGS)"
+ $(MAKE) -C $(C_SRC_DIR)
clean::
$(MAKE) -C $(C_SRC_DIR) clean