Newer
Older
libj / mk / link-so-rule.mk
# ------------------------------------------------------------------------------
#  動的ライブラリ 生成ルール
# ------------------------------------------------------------------------------
ifneq ($(strip $(NAME)),)
ifeq  ($(strip $(NAME).so),$(strip $(TARGET)))

## -----------------------------------------------------------------------------
## TOPディレクトリへのコピー
## -----------------------------------------------------------------------------
$(TOP_TARGET): $(TARGET)
ifneq ($(strip $(HEADER_FILES)),)
	$(CP) -f $(HEADER_FILES) $(TOPDIR)/include/
endif
	$(CP) -f -d $(TARGET)* $(TOPDIR)/lib/


ifneq ($(strip $(USE_SO_VERSION)),)
## -----------------------------------------------------------------------------
## バージョン番号付き so ファイル生成
## -----------------------------------------------------------------------------
# .so ファイル生成 (シンボリックリンク)
$(TARGET): $(TARGET).$(MAJOR)
	$(LN) -fs $^ $@
# .so.X ファイル生成 (シンボリックリンク)
$(TARGET).$(MAJOR): $(TARGET).$(MAJOR).$(MINOR).$(RELEASE)
	$(LN) -fs $^ $@
# .so.X.X.X ファイル生成
$(TARGET).$(MAJOR).$(MINOR).$(RELEASE): $(OBJS)
	$(LINK) $(LDFLAGS) -shared -Wl,-soname,$(TARGET).$(MAJOR) -o $(TARGET).$(MAJOR).$(MINOR).$(RELEASE) $^ $(LIBS)

else
## -----------------------------------------------------------------------------
## バージョン番号無し so ファイル生成
## -----------------------------------------------------------------------------
# .so ファイル生成
$(TARGET): $(OBJS)
	$(LINK) $(LDFLAGS) -shared -Wl,-soname,$(TARGET) -o $(TARGET) $^ $(LIBS)

endif


endif
endif