home *** CD-ROM | disk | FTP | other *** search
/ Serving the Web / ServingTheWeb1995.disc1of1.iso / linux / slacksrce / d / libc / libc-4.6 / libc-4 / libc-linux / jump / libcurses / Makefile < prev   
Encoding:
Makefile  |  1994-10-13  |  2.9 KB  |  104 lines

  1. #
  2.  
  3. TOPDIR=../..
  4.  
  5. include $(TOPDIR)/Makeconfig
  6.  
  7. ifeq ($(NYS),true)
  8. NYS_DIR_SUFFIX=-nys
  9. endif
  10.  
  11. JUMP_DIR:=$(TOPDIR)/jump/libcurses
  12.  
  13. JUMP_PARAMS=$(JUMP_DIR)/jump.params
  14. SHLIB_NAME:= $(shell awk -F= ' { if ($$1 == "Name")  print $$2 }' $(JUMP_PARAMS))
  15. SHLIB_TEXT:= $(shell awk -F= ' { if ($$1 == "Text")  print $$2 }' $(JUMP_PARAMS))
  16. SHLIB_DATA:= $(shell awk -F= ' { if ($$1 == "Data")  print $$2 }' $(JUMP_PARAMS))
  17. SHLIB_JUMP:= $(shell awk -F= ' { if ($$1 == "Jump")  print $$2 }' $(JUMP_PARAMS))
  18. SHLIB_GOT:= $(shell awk -F= ' { if ($$1 == "GOT")  print $$2 }' $(JUMP_PARAMS))
  19. SHLIB_VERSION:= $(shell awk -F= ' { if ($$1 == "Version")  print $$2 }' $(JUMP_PARAMS))
  20.  
  21. SHLIB_VERSION_MAJOR:=$(shell awk -F= ' { \
  22.   if ($$1 == "Version") { \
  23.     for (i = 1; i <= length ($$2); i++) { \
  24.       if (substr ($$2, i, 1) == ".") { \
  25.     print substr ($$2, 1, i - 1); break; \
  26.       } } } } ' $(JUMP_PARAMS))
  27.  
  28. SHLIB_FILE:=$(basename $(SHLIB_NAME)).so.$(SHLIB_VERSION)
  29.  
  30. SHLIB_FILE_MAJOR:=$(basename $(SHLIB_NAME)).so.$(SHLIB_VERSION_MAJOR)
  31.  
  32. SYSLIBS:= $(SHARED_DIR)/libgcc/libgcc3.a \
  33.     ../libc$(NYS_DIR_SUFFIX)/libtermcap.sa \
  34.     ../libc$(NYS_DIR_SUFFIX)/libc.sa
  35.  
  36. STUBNAMES=libcurses
  37. STUBLIBS:= $(foreach lib, $(STUBNAMES), $(lib).sa)
  38. SHLIBS:= $(foreach lib, $(STUBNAMES), $(lib).a)
  39.  
  40. all lib:
  41.     (cd $(TOPDIR); for l in *.a; do \
  42.      $(AR) -d $$l __.SYMDEF; \
  43.      $(REALRANLIB) $$l; done)
  44.     (cd $(SHARED_DIR); for l in *.a; do \
  45.      $(AR) -d $$l __.SYMDEF; \
  46.      $(REALRANLIB) $$l; done)
  47.     $(MKIMAGE) -l $(SHLIB_NAME) -v $(SHLIB_VERSION) -a $(SHLIB_TEXT) \
  48.         -j $(SHLIB_JUMP)  -g $(SHLIB_GOT) \
  49.         -- $(SHLIBS:%=$(SHARED_DIR)/%) $(SYSLIBS)
  50.     $(MKSTUBS) -l $(SHLIB_NAME) -v $(SHLIB_VERSION) -a $(SHLIB_TEXT) \
  51.         -j $(SHLIB_JUMP)  -g $(SHLIB_GOT) \
  52.         -- $(STUBNAMES)
  53.     $(VERIFY) -l $(SHLIB_FILE) $(STUBLIBS)
  54.     mv $(SHLIB_FILE) lib.so # do this trick for stupid fs
  55.     $(STRIP) lib.so
  56.     mv lib.so $(SHLIB_FILE)
  57.     for l in *.sa; do \
  58.       $(AR) -d $$l __.SYMDEF; \
  59.       $(REALRANLIB) $$l; \
  60.     done
  61.  
  62. realclean clean:
  63.     $(RM) -f core *.o *.s *.sa *.so.* *.a verify.out *.log
  64.  
  65. ifeq ($(TARGET_SO_DIR),/lib)
  66.  
  67. install:
  68.     if [ ! -d $(TARGET_LIB_DIR) ]; then \
  69.       $(MKDIR) $(TARGET_LIB_DIR); \
  70.     else true; fi
  71.     cp $(STUBLIBS) $(TARGET_LIB_DIR)
  72.     if [ ! -d $(TARGET_SO_DIR) ]; then \
  73.       $(MKDIR) $(TARGET_SO_DIR); \
  74.     else true; fi
  75.     if [ -f $(TARGET_SO_DIR)/$(SHLIB_FILE) ]; then \
  76.       (cd $(TARGET_SO_DIR); \
  77.        cp $(SHLIB_FILE) /tmp; \
  78.        if [ $$? -eq 0 ]; then \
  79.          ln -sf /tmp/$(SHLIB_FILE) $(SHLIB_FILE_MAJOR); \
  80.        else exit 1; fi; \
  81.        if [ ! -d backup ]; then \
  82.          $(MKDIR) backup; \
  83.        else true; fi; \
  84.        mv $(SHLIB_FILE) backup/$(SHLIB_FILE).$$$$); \
  85.     else true; fi
  86.     cp $(SHLIB_FILE) $(TARGET_SO_DIR)
  87.     (cd $(TARGET_SO_DIR); \
  88.        ln -sf $(SHLIB_FILE) $(SHLIB_FILE_MAJOR))
  89.     $(LDCONFIG) -v
  90.  
  91. else
  92.  
  93. install:
  94.     if [ ! -d $(TARGET_LIB_DIR) ]; then \
  95.       $(MKDIR) $(TARGET_LIB_DIR); \
  96.     else true; fi
  97.     cp $(STUBLIBS) $(TARGET_LIB_DIR)
  98.     if [ ! -d $(TARGET_SO_DIR) ]; then \
  99.       $(MKDIR) $(TARGET_SO_DIR); \
  100.     else true; fi
  101.     cp $(SHLIB_FILE) $(TARGET_SO_DIR)
  102.  
  103. endif
  104.