home *** CD-ROM | disk | FTP | other *** search
/ Serving the Web / ServingTheWeb1995.disc1of1.iso / linux / slacksrce / d / libc / libc-4.6 / libc-4 / libc-linux / Maketargets < prev    next >
Encoding:
Text File  |  1994-11-19  |  3.3 KB  |  164 lines

  1. #
  2. # common targets
  3. #
  4.  
  5. STATIC_OBJS=
  6. SHARED_OBJS=
  7. DEBUG_OBJS=
  8. PROFILE_OBJS=
  9.  
  10. #ifeq ($(SPEED),fast)
  11. #.PHONY: $(STATIC_LIB) $(SHARED_LIB) $(DEBUG_LIB) $(PROFILE_LIB) \
  12. #    $(LIBALIAS)
  13. #endif
  14.  
  15. lib::
  16.     @if [ -d $(STATIC_DIR)/$(SUBDIR) ]; then \
  17.       true; else \
  18.       $(RM) -f $(STATIC_DIR)/$(SUBDIR); \
  19.       $(MKDIR) $(STATIC_DIR)/$(SUBDIR); \
  20.     fi
  21.     @if [ -d $(SHARED_DIR)/$(SUBDIR) ]; then \
  22.       true; else \
  23.       $(RM) -f $(SHARED_DIR)/$(SUBDIR); \
  24.       $(MKDIR) $(SHARED_DIR)/$(SUBDIR); \
  25.     fi
  26.     @if [ -d $(DEBUG_DIR)/$(SUBDIR) ]; then \
  27.       true; else \
  28.       $(RM) -f $(DEBUG_DIR)/$(SUBDIR); \
  29.       $(MKDIR) $(DEBUG_DIR)/$(SUBDIR); \
  30.     fi
  31.     @if [ -d $(PROFILE_DIR)/$(SUBDIR) ]; then \
  32.       true; else \
  33.       $(RM) -f $(PROFILE_DIR)/$(SUBDIR); \
  34.       $(MKDIR) $(PROFILE_DIR)/$(SUBDIR); \
  35.     fi
  36.     @if [ -d $(CHECKER_DIR)/$(SUBDIR) ]; then \
  37.       true; else \
  38.       $(RM) -f $(CHECKER_DIR)/$(SUBDIR); \
  39.       $(MKDIR) $(CHECKER_DIR)/$(SUBDIR); \
  40.     fi
  41.  
  42. ifeq ($(STATIC),true)
  43.  
  44. STATIC_OBJS:= $(addprefix $(STATIC_DIR)/$(SUBDIR)/, $(OBJS))
  45.  
  46. ifeq ($(SPEED),fast)
  47. .PHONY: $(STATIC_LIB)
  48.  
  49. lib:: $(STATIC_OBJS) $(STATIC_LIB)
  50.  
  51. $(STATIC_LIB): $(STATIC_OBJS)
  52.     $(AR) $(ARFLAGS) $@ $^
  53. else
  54. lib:: $(STATIC_LIB)($(STATIC_OBJS))
  55. endif
  56. endif
  57.  
  58. ifeq ($(SHARED),true)
  59. SHARED_OBJS:= $(addprefix $(SHARED_DIR)/$(SUBDIR)/, $(OBJS))
  60.  
  61. ifeq ($(SPEED),fast)
  62. .PHONY: $(SHARED_LIB)
  63.  
  64. lib:: $(SHARED_OBJS) $(SHARED_LIB)
  65.  
  66. $(SHARED_LIB): $(SHARED_OBJS)
  67.     $(AR) $(ARFLAGS) $@ $^
  68. else
  69. lib:: $(SHARED_LIB)($(SHARED_OBJS))
  70. endif
  71. endif
  72.  
  73. ifeq ($(DEBUG),true)
  74. DEBUG_OBJS:= $(addprefix $(DEBUG_DIR)/$(SUBDIR)/, $(OBJS))
  75.  
  76. ifeq ($(SPEED),fast)
  77. .PHONY: $(DEBUG_LIB)
  78.  
  79. lib:: $(DEBUG_OBJS) $(DEBUG_LIB)
  80.  
  81. $(DEBUG_LIB): $(DEBUG_OBJS)
  82.     $(AR) $(ARFLAGS) $@ $^
  83. else
  84. lib:: $(DEBUG_LIB)($(DEBUG_OBJS))
  85. endif
  86. endif
  87.  
  88. ifeq ($(PROFILE),true)
  89. .PHONY: $(PROFILE_LIB)
  90.  
  91. PROFILE_OBJS:= $(addprefix $(PROFILE_DIR)/$(SUBDIR)/, $(OBJS))
  92.  
  93. ifeq ($(SPEED),fast)
  94. lib:: $(PROFILE_OBJS) $(PROFILE_LIB)
  95.  
  96. $(PROFILE_LIB): $(PROFILE_OBJS)
  97.     $(AR) $(ARFLAGS) $@ $^
  98. else
  99. lib:: $(PROFILE_LIB)($(PROFILE_OBJS))
  100. endif
  101. endif
  102.  
  103. ifeq ($(CHECKER),true)
  104. .PHONY: $(CHECKER_LIB)
  105.  
  106. CHECKER_OBJS:= $(addprefix $(CHECKER_DIR)/$(SUBDIR)/, $(OBJS))
  107.  
  108. ifeq ($(SPEED),fast)
  109. lib:: $(CHECKER_OBJS) $(CHECKER_LIB)
  110.  
  111. $(CHECKER_LIB): $(CHECKER_OBJS)
  112.     $(AR) $(ARFLAGS) $@ $^
  113. else
  114. lib:: $(CHECKER_LIB)($(CHECKER_OBJS))
  115. endif
  116. endif
  117.  
  118. ifneq ($(ELF),true)
  119. ifneq ($(ALIASES),)
  120. ifeq ($(SPEED),fast)
  121. .PHONY: $(LIBALIAS)
  122.  
  123. lib:: $(ALIASES) $(LIBALIAS)
  124.  
  125. $(LIBALIAS): $(ALIASES)
  126.     $(AR) $(ARFLAGS) $@ $^
  127. else
  128. lib:: $(LIBALIAS)($(ALIASES))
  129. endif
  130. endif
  131. endif
  132.  
  133. obj: $(OBJS)
  134.  
  135. asm: $(ASMS)
  136.  
  137. realclean::
  138.     $(RM) -f .depend core *.o *.a *.s *.i tmp_make foo *.orig
  139. #    $(MAKE) subdir TARGET=realclean
  140.  
  141. clean::
  142.     $(RM) -f core *.o *.a *.s *.i tmp_make foo
  143. #    $(MAKE) subdir TARGET=clean
  144.  
  145. depend::
  146.     $(CC) $(CFLAGS) -M $(SRCS) | \
  147.         sed -e 's,^[     ]*\(.*\.o\)[     ]*:,$(STATIC_DIR)/$(SUBDIR)/\1 $(SHARED_DIR)/$(SUBDIR)/\1 $(SHARED_LITE_DIR)/$(SUBDIR)/\1 $(DEBUG_DIR)/$(SUBDIR)/\1 $(PROFILE_DIR)/$(SUBDIR)/\1 $(ELF_STATIC_DIR)/$(SUBDIR)/\1 $(ELF_SHARED_DIR)/$(SUBDIR)/\1 $(ELF_DEBUG_DIR)/$(SUBDIR)/\1 $(ELF_PROFILE_DIR)/$(SUBDIR)/\1 $(CHECKER_DIR)/$(SUBDIR)/\1:,' > .depend
  148. #    $(MAKE) subdir TARGET=depend
  149.  
  150. ifneq ($(DIRS),)
  151. lib realclean clean depend::
  152.     @for i in $(DIRS); do \
  153.       echo making $@ in $$i; \
  154.       ($(MAKE) -C $$i $@); \
  155.     done;
  156. endif
  157.  
  158. #
  159. # include a dependency file if one exists
  160. #
  161. ifeq (.depend,$(wildcard .depend))
  162. include .depend
  163. endif
  164.