mirror of
https://github.com/google/liblc3.git
synced 2026-06-12 13:52:27 +00:00
make: switch to shared object library
This commit is contained in:
@@ -48,7 +48,7 @@ lib_list :=
|
||||
bin_list :=
|
||||
|
||||
define add-lib
|
||||
$(eval $(1)_bin ?= $(1).a)
|
||||
$(eval $(1)_bin ?= $(1).so)
|
||||
$(eval $(1)_bin := $(addprefix $(BIN_DIR)/,$($(1)_bin)))
|
||||
|
||||
lib_list += $(1)
|
||||
@@ -72,7 +72,6 @@ define set-target
|
||||
$(patsubst %.s,%.o,$(filter %.s,$($(1)_src))) \
|
||||
$(patsubst %.cc,%.o,$(filter %.cc,$($(1)_src))))
|
||||
$(eval $(1)_obj := $(addprefix $(BUILD_DIR)/,$($(1)_obj)))
|
||||
$(eval $(1)_lib := $(foreach lib, $($(1)_lib), $($(lib)_bin)))
|
||||
|
||||
$($(1)_obj): INCLUDE += $($(1)_include)
|
||||
$($(1)_obj): DEFINE += $($(1)_define)
|
||||
@@ -81,7 +80,6 @@ define set-target
|
||||
|
||||
-include $($(1)_obj:.o=.d)
|
||||
|
||||
$($(1)_bin): $($(1)_lib)
|
||||
$($(1)_bin): $($(1)_obj)
|
||||
$($(1)_bin): $($(1)_dependencies)
|
||||
|
||||
@@ -138,16 +136,17 @@ $(BUILD_DIR)/%.o: %.cc $(MAKEFILE_DEPS)
|
||||
$(addprefix -I,$(INCLUDE)) \
|
||||
$(addprefix -D,$(DEFINE)) -MMD -MF $(@:.o=.d) -o $@
|
||||
|
||||
$(LIB): CFLAGS += -fPIC
|
||||
$(LIB): $(MAKEFILE_DEPS)
|
||||
@echo " AR $(notdir $@)"
|
||||
@echo " LD $(notdir $@)"
|
||||
$(V)mkdir -p $(dir $@)
|
||||
$(V)$(AR) rcs $@ $(filter %.o,$^)
|
||||
$(V)$(LD) $(filter %.o,$^) -shared -o $@
|
||||
|
||||
$(BIN): $(MAKEFILE_DEPS)
|
||||
@echo " LD $(notdir $@)"
|
||||
$(V)mkdir -p $(dir $@)
|
||||
$(V)$(LD) $(filter %.o,$^) $(filter %.a,$^) $(LDFLAGS) \
|
||||
$(addprefix -l,$(LDLIBS)) -o $@
|
||||
$(V)$(LD) $(filter %.o,$^) \
|
||||
$(LDFLAGS) -L $(BIN_DIR) $(addprefix -l,$(LDLIBS)) -o $@
|
||||
|
||||
clean:
|
||||
$(V)rm -rf $(BUILD_DIR)
|
||||
|
||||
Reference in New Issue
Block a user