Newer
Older
libkcpp / mk / link-so-rule.mk
Nomura Kei on 4 Jun 2024 1 KB first commit
  1. # ------------------------------------------------------------------------------
  2. # 動的ライブラリ 生成ルール
  3. # ------------------------------------------------------------------------------
  4. ifneq ($(strip $(NAME)),)
  5. ifeq ($(strip $(NAME).so),$(strip $(TARGET)))
  6.  
  7. ## -----------------------------------------------------------------------------
  8. ## TOPディレクトリへのコピー
  9. ## -----------------------------------------------------------------------------
  10. $(TOP_TARGET): $(TARGET)
  11. ifneq ($(strip $(HEADER_FILES)),)
  12. $(CP) -f $(HEADER_FILES) $(TOPDIR)/include/
  13. endif
  14. $(CP) -f -d $(TARGET)* $(TOPDIR)/lib/
  15.  
  16.  
  17. ifneq ($(strip $(USE_SO_VERSION)),)
  18. ## -----------------------------------------------------------------------------
  19. ## バージョン番号付き so ファイル生成
  20. ## -----------------------------------------------------------------------------
  21. # .so ファイル生成 (シンボリックリンク)
  22. $(TARGET): $(TARGET).$(MAJOR)
  23. $(LN) -fs $^ $@
  24. # .so.X ファイル生成 (シンボリックリンク)
  25. $(TARGET).$(MAJOR): $(TARGET).$(MAJOR).$(MINOR).$(RELEASE)
  26. $(LN) -fs $^ $@
  27. # .so.X.X.X ファイル生成
  28. $(TARGET).$(MAJOR).$(MINOR).$(RELEASE): $(OBJS)
  29. $(LINK) $(LDFLAGS) -shared -Wl,-soname,$(TARGET).$(MAJOR) -o $(TARGET).$(MAJOR).$(MINOR).$(RELEASE) $^ $(LIBS)
  30.  
  31. else
  32. ## -----------------------------------------------------------------------------
  33. ## バージョン番号無し so ファイル生成
  34. ## -----------------------------------------------------------------------------
  35. # .so ファイル生成
  36. $(TARGET): $(OBJS)
  37. $(LINK) $(LDFLAGS) -shared -Wl,-soname,$(TARGET) -o $(TARGET) $^ $(LIBS)
  38.  
  39. endif
  40.  
  41.  
  42. endif
  43. endif
  44.