home *** CD-ROM | disk | FTP | other *** search
/ Education Sampler 1992 [NeXTSTEP] / Education_1992_Sampler.iso / Programming / Classes / ObjDB / app.make next >
Encoding:
Text File  |  1992-07-30  |  3.1 KB  |  139 lines

  1. #
  2. # NOTE: Do NOT change this file -- InterfaceBuilder depends on it.
  3. #
  4. # useful macros to put into your Makefile.preamble to override the default
  5. # values in the IB-generated Makefile:
  6. #    MAKEFILEDIR
  7. #    TARFILEDIR
  8. #    SOURCEMODE
  9. #    CFLAGS
  10. #    OBJCFLAGS
  11. #    PSWFLAGS
  12. #    LDFLAGS
  13. #    HELP_FILES
  14. #    DATA_FILES
  15. #    INSTALLFLAGS
  16. #    OTHER_LIBS
  17. #    OTHER_DEBUG_LIBS
  18. #    OTHER_PROF_LIBS
  19. #    OTHER_SOURCEFILES
  20. #    OTHER_OFILES
  21. #    OTHER_PRODUCT_DEPENDS
  22. #    OTHER_INSTALL_DEPENDS
  23. #    OTHER_GARBAGE
  24. #
  25.  
  26. PRODUCT = $(NAME)
  27. OFILE_DIR = obj
  28. SUPPORTFILES = Makefile Makefile.preamble Makefile.postamble
  29. SRCFILES = $(CLASSES) $(CLASSES:.m=.h) \
  30.     $(MFILES) $(CFILES) $(HFILES) \
  31.     $(OTHERSRCS) $(OTHER_SOURCEFILES)
  32. OFILES = $(SUBPROJECTS:.subproj=.o) \
  33.      $(CLASSES:.m=.o) \
  34.     $(MFILES:.m=.o) $(CFILES:.c=.o)
  35. EARLY_HEADERS = $(SUBPROJECTS:.subproj=.h)
  36. PRODUCT_DEPENDS =  $(EARLY_HEADERS) $(OFILE_DIR) \
  37.     $(OFILES) $(OTHER_OFILES) \
  38.     $(OTHER_PRODUCT_DEPENDS)
  39. INSTALL_DEPENDS = $(DSTROOT)$(INSTALLDIR) all $(OTHER_INSTALL_DEPENDS)
  40. NIBLIBDIR = /usr/lib/nib
  41. GARBAGE = $(NAME) $(NAME).debug $(NAME).profile \
  42.       obj debug_obj profile_obj \
  43.       $(OTHER_GARBAGE) gmon.out
  44.  
  45. _CFLAGS = $(CFLAGS) 
  46. _LDFLAGS = $(LDFLAGS)
  47.  
  48.  
  49. #
  50. # user level targets
  51. #
  52.  
  53. all::
  54.     @$(MAKE) $(PRODUCT)
  55.     
  56. debug $(PRODUCT).debug::
  57.     @$(MAKE) $(NAME).debug "PRODUCT = $(NAME).debug" \
  58.         "OFILE_DIR = debug_obj" \
  59.         "_CFLAGS = $(CFLAGS) -g -DDEBUG -Wall" \
  60.         "LIBS = $(DEBUG_LIBS)" \
  61.         "OTHER_LIBS = $(OTHER_DEBUG_LIBS)"
  62.  
  63. profile $(PRODUCT).profile::
  64.     @$(MAKE) $(NAME).profile "PRODUCT = $(NAME).profile" \
  65.         "OFILE_DIR = profile_obj" \
  66.         "_CFLAGS = $(CFLAGS) -O -pg -Wall" \
  67.         "LIBS = $(PROF_LIBS)" \
  68.         "OTHER_LIBS = $(OTHER_PROF_LIBS)"
  69.  
  70. clean:: $(NAME).clean $(SUBPROJECTS:.subproj=.clean)
  71.  
  72. installsrc:: $(NAME).installsrc $(SUBPROJECTS:.subproj=.installsrc)
  73.  
  74. list:: $(NAME).list
  75.  
  76. tar:: $(NAME).tar
  77.  
  78. tarlist:: $(NAME).tarlist
  79.  
  80. untar:: $(NAME).untar
  81.  
  82. xtract:: $(NAME).xtract
  83.  
  84. tardir:: $(NAME).tardir
  85.  
  86. tardiff:: $(NAME).tardiff
  87.  
  88. test:: all $(NAME).test
  89.  
  90. install:: $(INSTALL_DEPENDS) $(NAME).install
  91.  
  92. lib:: $(NAME).lib
  93.  
  94. depend:: Makefile.dependencies $(SUBPROJECTS:.subproj=.depend)
  95.  
  96. help::
  97.     @echo '  all (the default)'
  98.     @echo '  debug'
  99.     @echo '  profile'
  100.     @echo '  clean'
  101.     @echo '  installsrc [SRCROOT=somepath]'
  102.     @echo '  install [DSTROOT=somepath]'
  103.     @echo '  depend'
  104.     @echo '  list'
  105.     @echo '  tar [DATE=date]'
  106.     @echo '  untar [DATE=date]'
  107.     @echo '  tardir'
  108.     @echo '  tarlist [DATE=date]'
  109.     @echo '  xtract [DATE=date] [LIST=file list]'
  110.     @echo '  tardiff [DATE1=date] [DATE2=date]'
  111.     @echo '  test [TEST_OUT=testfile]'
  112. #
  113. # Common functionality
  114. #
  115.  
  116. include $(MAKEFILEDIR)/common.make
  117.  
  118. #
  119. # app-specific functionality
  120. #
  121.  
  122. $(PRODUCT):: $(PRODUCT_DEPENDS)
  123.     @if [ ${NOMACHO} ] ; then \
  124.         ldflags="$(_LDFLAGS)"; \
  125.     else \
  126.         ldflags="$(_LDFLAGS)"; \
  127.         nibseg=no; tiffseg=no; epsseg=no; sndseg=no; \
  128.         for i in $(SUBPROJECTS:.subproj=.ldflags) none ; do \
  129.             if [ $$i = none ] ; then continue; fi; \
  130.             ldflags="$$ldflags `cat $(OFILE_DIR)/$$i`"; \
  131.         done; \
  132.     fi ; \
  133.     echo $(CC) $(_CFLAGS) $$ldflags -o $(PRODUCT) $(OFILES) \
  134.             $(OTHER_OFILES) $(OTHER_LIBS) $(LIBS) ; \
  135.     $(CC) $(_CFLAGS) $$ldflags -o $(PRODUCT) $(OFILES) $(OTHER_OFILES) \
  136.                      $(OTHER_LIBS) $(LIBS)
  137.  
  138.  
  139.