home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / gcc / fd2inl_src.lha / fd2inline-1.11 / Makefile.in < prev    next >
Makefile  |  1997-01-31  |  9KB  |  239 lines

  1. srcdir =    @srcdir@
  2. VPATH =        @srcdir@
  3.  
  4. prefix =    @prefix@
  5. exec_prefix =    @exec_prefix@
  6.  
  7. bindir =    $(exec_prefix)/bin
  8. libdir =    $(exec_prefix)/lib
  9. incdir =    $(prefix)/include
  10. guidedir =    $(prefix)/guide
  11.  
  12. INSTALL =    @INSTALL@
  13. INSTALL_PROGRAM = @INSTALL_PROGRAM@ -s
  14. INSTALL_DATA =    @INSTALL_DATA@
  15.  
  16. SHELL =        /bin/sh
  17. CC =        @CC@
  18. AR =        ar
  19. RM =        rm -rf
  20. CP =        cp -a
  21. MAKEINFO =    makeinfo
  22. LHA =        lha -mraxe
  23. MV =        mv
  24. STRIP =        strip
  25. TAR =        tar -vz
  26. RANLIB =    @RANLIB@
  27. AWK =        @AWK@
  28. DEFS =        @DEFS@
  29. LIBS =        @LIBS@
  30. CFLAGS =    @CFLAGS@
  31. LDFLAGS =    @LDFLAGS@
  32. PROTECT =    /c/protect
  33.  
  34. # Used when building fd2inline, fd2inline.guide and the archives.
  35. VERSION =    1.11
  36.  
  37. FD_DIR =    $(prefix)/os-lib/fd
  38. OS_INC_DIR =    $(prefix)/os-include
  39.  
  40. OUR_CFLAGS =    $(DEFS) -Wall -Wstrict-prototypes '-DVERSION="$(VERSION)"' -resident $(CFLAGS)
  41.  
  42. # Pseudo-targets.
  43. BUILD_INLINES =    stmp-built-inlines
  44. BUILD_PRAGMAS =    stmp-built-pragmas
  45. BUILD_PROTOS =    stmp-built-protos
  46. BUILD_LIBS =    stmp-built-libs
  47.  
  48. # List of linker libraries to build. Each entry is INCBASE!LIBBASE (see below).
  49. NONSTD_LIBS =    muimaster!mui ums!ums dospath!dospath \
  50.         screennotify!screennotify wbstart!wbstart
  51.  
  52. # Archive names.
  53. SRC_ARCHIVE_LHA = fd2inline-$(VERSION)-src.lha
  54. SRC_ARCHIVE_TGZ = fd2inline-$(VERSION)-src.tgz
  55. BIN_ARCHIVE =    fd2inline-$(VERSION)-bin.lha
  56.  
  57. # Used when building archives
  58. TMP_DIR =    /tmp
  59. TMP_SUBDIR =    fd2inline-$(VERSION)
  60.  
  61. # Flags to pass to submake.
  62. FLAGS_TO_PASS =    "CC=$(CC)" \
  63.         "AWK=$(AWK)" \
  64.         "RM=$(RM)" \
  65.         "AR=$(AR)" \
  66.         "RANLIB=$(RANLIB)" \
  67.         "OS_INC_DIR=$(OS_INC_DIR)" \
  68.         "FD_DIR=$(FD_DIR)"
  69.  
  70. all:        fd2inline $(BUILD_INLINES) $(BUILD_PRAGMAS) $(BUILD_PROTOS) $(BUILD_LIBS) guide
  71.  
  72. fd2inline:    fd2inline.c
  73.         $(CC) $(OUR_CFLAGS) $(LDFLAGS) -o fd2inline $(srcdir)/fd2inline.c $(LIBS)
  74.         if [ -f $(PROTECT) ]; then $(PROTECT) fd2inline +p; else true; fi
  75.  
  76. install:    all
  77.         $(INSTALL_PROGRAM) fd2inline $(bindir)/fd2inline
  78.         if [ -f $(PROTECT) ]; then \
  79.             (cd $(bindir); $(PROTECT) fd2inline +p); \
  80.         else true; \
  81.         fi
  82.         if [ -d $(incdir)/inline ]; then true; else mkdir $(incdir)/inline; fi
  83.         $(INSTALL_DATA) $(srcdir)/include/inline-src/*.h $(incdir)/inline
  84.         $(INSTALL_DATA) include/inline/*.h $(incdir)/inline
  85.         if [ -d $(incdir)/pragmas ]; then true; else mkdir $(incdir)/pragmas; fi
  86.         $(INSTALL_DATA) include/pragmas/*.h $(incdir)/pragmas
  87.         if [ -d $(incdir)/proto ]; then true; else mkdir $(incdir)/proto; fi
  88.         $(INSTALL_DATA) $(srcdir)/include/proto-src/*.h $(incdir)/proto
  89.         $(INSTALL_DATA) include/proto/*.h $(incdir)/proto
  90.         libs=`echo lib/lib*.a` ; if [ "lib/lib*.a" != "$${libs}" ]; then \
  91.           $(INSTALL_DATA) lib/lib*.a $(libdir); \
  92.         else true; fi
  93.         libs=`echo lib/libb/lib*.a` ; if [ "lib/libb/lib*.a" != "$${libs}" ]; then \
  94.           $(INSTALL_DATA) lib/libb/lib*.a $(libdir)/libb; \
  95.         else true; fi
  96.         libs=`echo lib/libb32/libm020/lib*.a` ; if [ "lib/libb32/libm020/lib*.a" != "$${libs}" ]; then \
  97.           $(INSTALL_DATA) lib/libb32/libm020/lib*.a $(libdir)/libb32/libm020; \
  98.         else true; fi
  99.         $(INSTALL_DATA) fd2inline.guide $(guidedir)
  100.  
  101. dist:        all
  102.         # Create a temporary location.
  103.         if [ -d $(TMP_DIR)/$(TMP_SUBDIR) ]; then true; else mkdir $(TMP_DIR)/$(TMP_SUBDIR); fi
  104.         if [ -d $(TMP_DIR)/$(TMP_SUBDIR)/include ]; then true; else mkdir $(TMP_DIR)/$(TMP_SUBDIR)/include; fi
  105.         if [ -d $(TMP_DIR)/$(TMP_SUBDIR)/lib ]; then true; else mkdir $(TMP_DIR)/$(TMP_SUBDIR)/lib; fi
  106.         # Copy the source directory to it.
  107.         ( \
  108.             cd $(srcdir); \
  109.             $(CP) include/inline-src $(TMP_DIR)/$(TMP_SUBDIR)/include; \
  110.             $(CP) include/proto-src $(TMP_DIR)/$(TMP_SUBDIR)/include; \
  111.             $(CP) lib/Makefile.in lib/splitasm.awk $(TMP_DIR)/$(TMP_SUBDIR)/lib; \
  112.             $(CP) manifests patches configure* COPYING fd2inline.c \
  113.                 fd2inline.texi install.sh Makefile.in \
  114.                 makepragmas.awk Product-Info \
  115.                 $(TMP_DIR)/$(TMP_SUBDIR) \
  116.         )
  117.         # Create the source archives.
  118.         ( \
  119.             cd $(TMP_DIR); \
  120.             $(LHA) a $(SRC_ARCHIVE_LHA) $(TMP_SUBDIR) \
  121.         )
  122.         $(RM) $(SRC_ARCHIVE_LHA)
  123.         $(CP) $(TMP_DIR)/$(SRC_ARCHIVE_LHA) .
  124.         $(RM) $(TMP_DIR)/$(SRC_ARCHIVE_LHA)
  125.         $(TAR) -cf $(SRC_ARCHIVE_TGZ) -C $(TMP_DIR) $(TMP_SUBDIR)
  126.         # Reorganize the temporary location.
  127.         ( \
  128.             cd $(TMP_DIR)/$(TMP_SUBDIR)/include; \
  129.             $(MV) inline-src inline; \
  130.             $(MV) proto-src proto; \
  131.             $(RM) ../lib/* \
  132.         )
  133.         # Copy the build directory to the temporary location.
  134.         $(CP) include/inline include/pragmas include/proto $(TMP_DIR)/$(TMP_SUBDIR)/include
  135.         if [ -d $(TMP_DIR)/$(TMP_SUBDIR)/bin ]; then true; else mkdir $(TMP_DIR)/$(TMP_SUBDIR)/bin; fi
  136.         $(CP) fd2inline $(TMP_DIR)/$(TMP_SUBDIR)/bin
  137.         $(STRIP) $(TMP_DIR)/$(TMP_SUBDIR)/bin/fd2inline
  138.         if [ -f $(PROTECT) ]; then \
  139.             (cd $(TMP_DIR)/$(TMP_SUBDIR)/bin; $(PROTECT) fd2inline +p); \
  140.         else true; \
  141.         fi
  142.         $(CP) lib/lib*.a $(TMP_DIR)/$(TMP_SUBDIR)/lib
  143.         if [ -d $(TMP_DIR)/$(TMP_SUBDIR)/lib/libb ]; then true; else mkdir $(TMP_DIR)/$(TMP_SUBDIR)/lib/libb; fi
  144.         $(CP) lib/libb/lib*.a $(TMP_DIR)/$(TMP_SUBDIR)/lib/libb
  145.         if [ -d $(TMP_DIR)/$(TMP_SUBDIR)/lib/libb32 ]; then true; else mkdir $(TMP_DIR)/$(TMP_SUBDIR)/lib/libb32; fi
  146.         if [ -d $(TMP_DIR)/$(TMP_SUBDIR)/lib/libb32/libm020 ]; then true; else mkdir $(TMP_DIR)/$(TMP_SUBDIR)/lib/libb32/libm020; fi
  147.         $(CP) lib/libb32/libm020/lib*.a $(TMP_DIR)/$(TMP_SUBDIR)/lib/libb32/libm020
  148.         if [ -d $(TMP_DIR)/$(TMP_SUBDIR)/guide ]; then true; else mkdir $(TMP_DIR)/$(TMP_SUBDIR)/guide; fi
  149.         $(CP) fd2inline.guide $(TMP_DIR)/$(TMP_SUBDIR)/guide
  150.         # Create the binary archive.
  151.         ( \
  152.             cd $(TMP_DIR); \
  153.             $(LHA) a $(BIN_ARCHIVE) $(TMP_SUBDIR)/ bin guide include lib COPYING \
  154.         )
  155.         $(RM) $(BIN_ARCHIVE)
  156.         $(CP) $(TMP_DIR)/$(BIN_ARCHIVE) .
  157.         $(RM) $(TMP_DIR)/$(BIN_ARCHIVE)
  158.         $(RM) $(TMP_DIR)/$(TMP_SUBDIR)
  159.  
  160. $(BUILD_INLINES):    fd2inline
  161.         if [ -d include ]; then true; else mkdir include; fi
  162.         if [ -d include/inline ]; then true; else mkdir include/inline; fi
  163.         for fd in $(FD_DIR)/*.fd; do \
  164.             rootname=`basename $$fd .fd | sed "s:_lib$$::"`; \
  165.             if [ "$${rootname}" = "mathffp" -o "$${rootname}" = "mathtrans" ]; then \
  166.                 continue; \
  167.             fi; \
  168.             echo "making include/inline/$$rootname.h..."; \
  169.             ./fd2inline $$fd $(OS_INC_DIR)/clib/$${rootname}_protos.h -o include/inline/$$rootname.h; \
  170.         done
  171.         touch $(BUILD_INLINES)
  172.  
  173. $(BUILD_PRAGMAS):    $(srcdir)/makepragmas.awk
  174.         if [ -d include ]; then true; else mkdir include; fi
  175.         if [ -d include/pragmas ]; then true; else mkdir include/pragmas; fi
  176.         for fd in $(FD_DIR)/*.fd; do \
  177.             rootname=`basename $$fd .fd | sed "s:_lib$$::"`; \
  178.             if [ "$${rootname}" = "mathffp" -o "$${rootname}" = "mathtrans" ]; then \
  179.                 continue; \
  180.             fi; \
  181.             echo "making include/pragmas/$${rootname}_pragmas.h..."; \
  182.             $(AWK) -f $(srcdir)/makepragmas.awk -v PRAGMAS=$$rootname >include/pragmas/$${rootname}_pragmas.h; \
  183.         done
  184.         touch $(BUILD_PRAGMAS)
  185.  
  186. $(BUILD_PROTOS):    fd2inline
  187.         if [ -d include ]; then true; else mkdir include; fi
  188.         if [ -d include/proto ]; then true; else mkdir include/proto; fi
  189.         for fd in $(FD_DIR)/*.fd; do \
  190.             rootname=`basename $$fd .fd | sed "s:_lib$$::"`; \
  191.             if [ -f $(srcdir)/include/proto-src/$$rootname.h ]; then \
  192.                 continue; \
  193.             fi; \
  194.             echo "making include/proto/$$rootname.h..."; \
  195.             ./fd2inline --proto $$fd -o include/proto/$$rootname.h; \
  196.         done
  197.         touch $(BUILD_PROTOS)
  198.  
  199. $(BUILD_LIBS):    fd2inline
  200.         for bases in $(NONSTD_LIBS); do \
  201.             incbase=`echo $$bases | sed "s:!.*$$::"`; \
  202.             libbase=`echo $$bases | sed "s:^.*!::"`; \
  203.             if [ -f include/inline/$$incbase.h ]; then \
  204.                 echo "making lib$$libbase.a..."; \
  205.                 (cd lib; $(MAKE) $(FLAGS_TO_PASS) INCBASE=$$incbase LIBBASE=$$libbase); \
  206.             else true; fi; \
  207.         done
  208.         touch $(BUILD_LIBS)
  209.  
  210. guide:        fd2inline.guide
  211.  
  212. fd2inline.guide:    $(srcdir)/fd2inline.texi
  213.         if [ -f version.texi ]; then true; else echo "@set version $(VERSION)" >version.texi; fi
  214.         $(MAKEINFO) --amiga-40 $(srcdir)/fd2inline.texi -o fd2inline.guide
  215.  
  216. # Make a linker library with stubs, if for some reason one can't use
  217. # inline headers. This requires two arguments on "make" commandline:
  218. #
  219. # INCBASE: base name of the includes (muimaster for MUI etc).
  220. # LIBBASE: base name of the library (mui for MUI etc).
  221.  
  222. alllib:        fd2inline
  223.         if [ "$(INCBASE)" = "" -o "$(LIBBASE)" = "" ]; then \
  224.             echo "Require two arguments: INCBASE and LIBBASE"; \
  225.         else \
  226.             (cd lib; $(MAKE) $(FLAGS_TO_PASS) INCBASE=$(INCBASE) LIBBASE=$(LIBBASE)); \
  227.         fi
  228.  
  229. clean:
  230.         $(RM) version.texi *.o *~ *!
  231.         (cd lib; $(MAKE) $(FLAGS_TO_PASS) clean)
  232.  
  233. clobber:    clean
  234.         $(RM) fd2inline fd2inline.guide \
  235.             include/inline include/pragmas include/proto \
  236.             $(BUILD_INLINES) $(BUILD_PRAGMAS) $(BUILD_PROTOS) $(BUILD_LIBS) \
  237.             $(SRC_ARCHIVE_LHA) $(SRC_ARCHIVE_TGZ) $(BIN_ARCHIVE)
  238.         (cd lib; $(MAKE) $(FLAGS_TO_PASS) clobber)
  239.