home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / ixemul-45.0-src.tgz / tar.out / contrib / ixemul / Makefile.in < prev    next >
Makefile  |  1996-10-06  |  15KB  |  437 lines

  1. #### Start of system configuration section. ####
  2.  
  3. srcdir =    @srcdir@
  4. VPATH =        @srcdir@
  5.  
  6. # Common prefix for machine-independent installed files.
  7. prefix =    @prefix@
  8.  
  9. # Common prefix for machine-dependent installed files.
  10. exec_prefix =    @exec_prefix@
  11.  
  12. bindir =    $(exec_prefix)/bin
  13. libdir =    $(exec_prefix)/lib
  14. syslibsdir =    $(exec_prefix)/Sys/libs
  15. sysldir =    $(exec_prefix)/Sys/l
  16. incdir =    $(exec_prefix)/include
  17. etcdir =    $(exec_prefix)/etc
  18. mandir =    $(prefix)/man
  19.  
  20. INSTALL =    @INSTALL@
  21. INSTALL_PROGRAM = @INSTALL_PROGRAM@
  22. INSTALL_DATA =    @INSTALL_DATA@
  23.  
  24. CC =        @CC@
  25. AS =        as
  26. CFLAGS =    @CFLAGS@
  27. LDFLAGS =    @LDFLAGS@
  28.  
  29. RANLIB =    @RANLIB@
  30.  
  31. #### End system configuration section ####
  32.  
  33. # Directories that depend on baserel/no-baserel only
  34. BASE =        glue stack static net db
  35.  
  36.  
  37. # Directories that depend on the CPU type
  38. CPUONLY =    ixnet
  39.  
  40.  
  41. # Directories that depend on the CPU and FPU type
  42. CPUFPU =    general string stdlib stdio library
  43.  
  44.  
  45. # Directories that depend on both baserel/no-baserel and CPU/FPU type
  46. # None at the moment, although 'stack' and 'static' should be moved here
  47. # once we can use a CPU/FPU specific libc.a.
  48. BASECPUFPU =
  49.  
  50.  
  51. # For use in 'make clean' and 'make clobber'
  52. DIRS =        $(BASE) $(CPUONLY) $(CPUFPU) $(BASECPUFPU)
  53.  
  54.  
  55. ###  CPU-FPU types.
  56. ###
  57. ###  The default thing to do is to make all reasonable combinations of the
  58. ###  library.
  59. ###
  60. ###  Note that libsrc, which builds the runtime startup files and all
  61. ###  versions of libc.a, and utils completely ignore the base/cpu/fpu variables,
  62. ###  so these are handled in the all: target.
  63. ###
  64. ###  You can remove specific CPU/FPU combinations that you are not interested in.
  65.  
  66. CPU-FPU-TYPES =    68000.soft-float \
  67.         68020.soft-float 68020.68881 \
  68.         68040.soft-float 68040.68881
  69.  
  70. # Some additional options for OTHER_CFLAGS that may or may not be useful are:
  71. #
  72. # -DDEBUG_VERSION    (build a debugging version)
  73.  
  74. OTHER_CFLAGS =    -fomit-frame-pointer -Wall
  75.  
  76.  
  77. ###############################################
  78. ###                                         ###
  79. ###  DO NOT EDIT ANYTHING BELOW THIS LINE!  ###
  80. ###                                         ###
  81. ###############################################
  82.  
  83. ### All targets that are generated look like this:
  84. ###
  85. ###     directory-name.cpu.fpu.base
  86. ###
  87. ### The following four defines extract one of these fields from the target name:
  88.  
  89. dir  = $(word 1, $(subst ., ,$@))
  90. cpu  = $(word 2, $(subst ., ,$@))
  91. fpu  = $(word 3, $(subst ., ,$@))
  92. base = $(word 4, $(subst ., ,$@))
  93.  
  94.  
  95. FLAGS_TO_PASS =    "AS=$(AS)"            \
  96.         "BASE=$(base)"            \
  97.         "BUILDDIR=$(dir)"        \
  98.         "CC=$(CC)"            \
  99.         "CFLAGS=$(CFLAGS)"        \
  100.         "CPU=$(cpu)"            \
  101.         "FPU=$(fpu)"            \
  102.         "LDFLAGS=$(LDFLAGS)"        \
  103.         "OTHER_CFLAGS=$(OTHER_CFLAGS)"    \
  104.         "RANLIB=$(RANLIB)"
  105.  
  106. ### Generate the targets we have to build. First we create defines for each
  107. ### type (dependent on base only, or only on cpu-fpu, or dependent on all
  108. ### three). Only the directory needs to be filled in in the second stage.
  109.  
  110. base-types         = $(d).68000.soft-float.baserel \
  111.              $(d).68020.soft-float.large-baserel \
  112.              $(d).68000.soft-float.no-baserel
  113.  
  114. cpu-types       = $(addprefix $(d).,$(sort $(CPU-FPU-TYPES:.68881=.soft-float)))
  115.  
  116. cpu-fpu-types      = $(addprefix $(d).,$(CPU-FPU-TYPES))
  117.  
  118. base-cpu-fpu-types = $(addsuffix .baserel, $(cpu-fpu-types)) \
  119.              $(addsuffix .no-baserel, $(cpu-fpu-types))
  120.  
  121.  
  122. ### Now fill in the directory name
  123.  
  124. base-targets         := $(foreach d, $(BASE),       $(base-types))
  125. cpu-targets          := $(foreach d, $(CPUONLY),    $(cpu-types))
  126. cpu-fpu-targets      := $(foreach d, $(CPUFPU),     $(cpu-fpu-types))
  127. base-cpu-fpu-targets := $(foreach d, $(BASECPUFPU), $(base-cpu-fpu-types))
  128.  
  129.  
  130. ### Make all targets and libsrc, utils and man pages.
  131.  
  132. all:    gcc-ok $(base-targets) $(cpu-targets) $(cpu-fpu-targets) $(base-cpu-fpu-targets)
  133.     @(cd libsrc && $(MAKE) $(FLAGS_TO_PASS))
  134.     @(cd utils && $(MAKE) $(FLAGS_TO_PASS))
  135.     @(cd man && $(MAKE) $(FLAGS_TO_PASS))
  136.  
  137. gcc-ok:
  138.     @echo >t.c
  139.     @echo If the next command fails, then your gcc is out of date! 
  140.     gcc -c -mrestore-a4 t.c
  141.     @echo >gcc-ok
  142.     @rm -f t.c t.o
  143.  
  144. ###  Some targets are only dependent on BASE, others on CPU-FPU, and
  145. ###  others depend on all three.
  146.  
  147. ###  This makes targets that are only dependent on BASE.
  148.  
  149. $(base-targets):
  150.     @if [ ! -d $(dir)/$(base) ]; then    \
  151.         echo mkdir -p $(dir)/$(base);    \
  152.         mkdir -p $(dir)/$(base);    \
  153.     fi;                    \
  154.     (cd $(dir)/$(base) ; $(MAKE) -f ../Makefile $(FLAGS_TO_PASS));
  155.  
  156.  
  157. ###  This makes targets that are only dependent on the CPU.
  158.  
  159. $(cpu-targets):
  160.     @if [ ! -d $(dir)/$(cpu) ]; then        \
  161.         echo mkdir -p $(dir)/$(cpu);        \
  162.         mkdir -p $(dir)/$(cpu);            \
  163.     fi;                        \
  164.     (cd $(dir)/$(cpu) ; $(MAKE) -f ../Makefile $(FLAGS_TO_PASS))
  165.  
  166.  
  167. ###  This makes targets that are only dependent on CPU and FPU.
  168.  
  169. $(cpu-fpu-targets):
  170.     @if [ ! -d $(dir)/$(cpu)/$(fpu) ]; then        \
  171.         echo mkdir -p $(dir)/$(cpu)/$(fpu);    \
  172.         mkdir -p $(dir)/$(cpu)/$(fpu);        \
  173.     fi;                        \
  174.     (cd $(dir)/$(cpu)/$(fpu) ; $(MAKE) -f ../../Makefile $(FLAGS_TO_PASS))
  175.  
  176.  
  177. ###  This makes targets that are dependent on CPU, FPU, and BASE.
  178.  
  179. $(base-cpu-fpu-targets):
  180.     @if [ ! -d $(dir)/$(base)/$(cpu)/$(fpu) ]; then        \
  181.         echo mkdir -p $(dir)/$(base)/$(cpu)/$(fpu);    \
  182.         mkdir -p $(dir)/$(base)/$(cpu)/$(fpu);        \
  183.     fi;                            \
  184.     (cd $(dir)/$(base)/$(cpu)/$(fpu) ; $(MAKE) -f ../../../Makefile $(FLAGS_TO_PASS));
  185.  
  186.  
  187. ###  Install all the libraries, include files, runtime files, etc.
  188.  
  189. install: installdirs
  190.     if [ -f library/68000/soft-float/ixemul.library ] ; then \
  191.         $(INSTALL) library/68000/soft-float/ixemul.library \
  192.             $(syslibsdir)/ixemul.library; \
  193.     else true; fi
  194.     if [ -f library/68000/soft-float/ixemul.trace ] ; then \
  195.         $(INSTALL) library/68000/soft-float/ixemul.trace \
  196.             $(syslibsdir)/ixemul.trace; \
  197.     else true; fi
  198.     if [ -f library/68000/soft-float/ixemul.library ] ; then \
  199.         $(INSTALL) library/68000/soft-float/ixemul.library \
  200.             $(syslibsdir)/ixemul000.library; \
  201.     else true; fi
  202.     if [ -f library/68000/soft-float/ixemul.trace ] ; then \
  203.         $(INSTALL) library/68000/soft-float/ixemul.trace \
  204.             $(syslibsdir)/ixemul000.trace; \
  205.     else true; fi
  206.     if [ -f library/68020/soft-float/ixemul.library ] ; then \
  207.         $(INSTALL) library/68020/soft-float/ixemul.library \
  208.             $(syslibsdir)/ixemul020.library; \
  209.     else true; fi
  210.     if [ -f library/68020/soft-float/ixemul.trace ] ; then \
  211.         $(INSTALL) library/68020/soft-float/ixemul.trace \
  212.             $(syslibsdir)/ixemul020.trace; \
  213.     else true; fi
  214.     if [ -f library/68040/soft-float/ixemul.library ] ; then \
  215.         $(INSTALL) library/68040/soft-float/ixemul.library \
  216.             $(syslibsdir)/ixemul040.library; \
  217.     else true; fi
  218.     if [ -f library/68040/soft-float/ixemul.trace ] ; then \
  219.         $(INSTALL) library/68040/soft-float/ixemul.trace \
  220.             $(syslibsdir)/ixemul040.trace; \
  221.     else true; fi
  222.     if [ -f library/68020/68881/ixemul.library ] ; then \
  223.         $(INSTALL) library/68020/68881/ixemul.library \
  224.             $(syslibsdir)/ixemul020fpu.library; \
  225.     else true; fi
  226.     if [ -f library/68020/68881/ixemul.trace ] ; then \
  227.         $(INSTALL) library/68020/68881/ixemul.trace \
  228.             $(syslibsdir)/ixemul020fpu.trace; \
  229.     else true; fi
  230.     if [ -f library/68040/68881/ixemul.library ] ; then \
  231.         $(INSTALL) library/68040/68881/ixemul.library \
  232.             $(syslibsdir)/ixemul040fpu.library; \
  233.     else true; fi
  234.     if [ -f library/68040/68881/ixemul.trace ] ; then \
  235.         $(INSTALL) library/68040/68881/ixemul.trace \
  236.             $(syslibsdir)/ixemul040fpu.trace; \
  237.     else true; fi
  238.     if [ -f library/68060/68881/ixemul.library ] ; then \
  239.         $(INSTALL) library/68060/68881/ixemul.library \
  240.             $(syslibsdir)/ixemul060fpu.library; \
  241.     else true; fi
  242.     if [ -f library/68060/68881/ixemul.trace ] ; then \
  243.         $(INSTALL) library/68060/68881/ixemul.trace \
  244.             $(syslibsdir)/ixemul060fpu.trace; \
  245.     else true; fi
  246.  
  247.     if [ -f ixnet/68000/ixnet.library ] ; then \
  248.         $(INSTALL) ixnet/68000/ixnet.library \
  249.             $(syslibsdir)/ixnet.library; \
  250.     else true; fi
  251.     if [ -f ixnet/68000/ixnet.library ] ; then \
  252.         $(INSTALL) ixnet/68000/ixnet.library \
  253.             $(syslibsdir)/ixnet000.library; \
  254.     else true; fi
  255.     if [ -f ixnet/68020/ixnet.library ] ; then \
  256.         $(INSTALL) ixnet/68020/ixnet.library \
  257.             $(syslibsdir)/ixnet020.library; \
  258.     else true; fi
  259.     if [ -f ixnet/68040/ixnet.library ] ; then \
  260.         $(INSTALL) ixnet/68040/ixnet.library \
  261.             $(syslibsdir)/ixnet040.library; \
  262.     else true; fi
  263.     if [ -f ixnet/68060/ixnet.library ] ; then \
  264.         $(INSTALL) ixnet/68060/ixnet.library \
  265.             $(syslibsdir)/ixnet060.library; \
  266.     else true; fi
  267.  
  268.     $(INSTALL) libsrc/crt0.o $(libdir)/crt0.o
  269.     $(INSTALL) libsrc/bcrt0.o $(libdir)/bcrt0.o
  270.     $(INSTALL) libsrc/gcrt0.o $(libdir)/gcrt0.o
  271.     $(INSTALL) libsrc/mcrt0.o $(libdir)/mcrt0.o
  272.     $(INSTALL) libsrc/rcrt0.o $(libdir)/rcrt0.o
  273.     $(INSTALL) libsrc/scrt0.o $(libdir)/scrt0.o
  274.     $(INSTALL) libsrc/lcrt0.o $(libdir)/lcrt0.o
  275.     $(INSTALL) libsrc/libc.a $(libdir)/libc.a
  276.     $(INSTALL) libsrc/libbc.a $(libdir)/libb/libc.a
  277.     $(INSTALL) libsrc/liblbc.a $(libdir)/liblb/libc.a
  278.     $(INSTALL) libsrc/libc_p.a $(libdir)/libc_p.a
  279.     $(INSTALL_PROGRAM) utils/ixtrace $(bindir)/ixtrace
  280.     $(INSTALL_PROGRAM) utils/ixprefs $(bindir)/ixprefs
  281.     $(INSTALL_PROGRAM) utils/ixtimezone $(bindir)/ixtimezone
  282.     $(INSTALL_PROGRAM) utils/ixrun $(bindir)/ixrun
  283.     $(INSTALL_PROGRAM) utils/tzselect $(bindir)/tzselect
  284.     $(INSTALL_PROGRAM) utils/ixstack $(bindir)/ixstack
  285.     $(INSTALL) utils/ixpipe-handler $(sysldir)/ixpipe-handler
  286.     (cd $(srcdir)/include && cp -r . $(incdir))
  287.     find $(incdir) -type d -name CVS -print | xargs rm -rf
  288.     (cd $(srcdir)/man && cp -r man? $(mandir))
  289.     find $(mandir) -type d -name CVS -print | xargs rm -rf
  290.     mkdir -p $(etcdir)/zoneinfo
  291.     cp $(srcdir)/utils/*.tab $(etcdir)/zoneinfo
  292.     (cd utils/zoneinfo && cp -r . $(etcdir)/zoneinfo)
  293.         
  294.  
  295. installdirs:    mkinstalldirs
  296.     $(srcdir)/mkinstalldirs $(bindir) $(libdir) $(syslibsdir) \
  297.         $(sysldir) $(incdir) $(etcdir) $(mandir) $(libdir)/libb \
  298.         $(libdir)/liblb
  299.  
  300.  
  301. clean:
  302.     @-for i in $(DIRS) libsrc utils man; \
  303.         do (cd $$i ; $(MAKE) $(FLAGS_TO_PASS) clean) ; done
  304.  
  305.  
  306. clobber:
  307.     @-for i in $(DIRS) libsrc utils man; \
  308.         do (cd $$i ; $(MAKE) $(FLAGS_TO_PASS) clobber) ; done
  309.     -rm -f Makefile config.* conftest.c gcc-ok
  310.  
  311.  
  312. # Build source and binary distribution files.
  313.  
  314. dist:
  315.     #
  316.     # First get rid of any leftovers from a previous "make dist"
  317.     #
  318.     rm -rf ade ixemul distrib
  319.     mkdir -p distrib
  320.     #
  321.     # Create ixemul-bin.lha, which contains utilities
  322.     # that are generally useful to ixemul.library users.
  323.     #
  324.     mkdir -p ade/bin ade/Sys/l ade/Sys/devs
  325.     cp -p utils/ixprefs ade/bin/ixprefs
  326.     cp -p utils/ixtrace ade/bin/ixtrace
  327.     cp -p utils/ixrun ade/bin/ixrun
  328.     cp -p utils/ixstack ade/bin/ixstack
  329.     cp -p utils/ixpipe-handler ade/Sys/l/ixpipe-handler
  330.     cp -p $(srcdir)/utils/Mountlist ade/Sys/devs/MountList.ixpipe
  331.     (cd ade && lha -mraxeq a /distrib/ixemul-bin.lha bin Sys)
  332.     sleep 5
  333.     rm -rf ade
  334.     #
  335.     # Create ixemul-tz.lha, which has timezone related pieces.
  336.     #
  337.     mkdir -p ade/etc ade/bin
  338.     cp -p utils/ixtimezone ade/bin/ixtimezone
  339.     cp -p utils/zic ade/bin/zic
  340.     cp -p utils/tzselect ade/bin/tzselect
  341.     cp -pr utils/zoneinfo ade/etc/zoneinfo
  342.     cp utils/*.tab ade/etc/zoneinfo
  343.     (cd ade && lha -mraxeq a /distrib/ixemul-tz.lha bin etc)
  344.     sleep 5
  345.     rm -rf ade
  346.     #
  347.     # Create ixemul-sdk.lha, which contains the files that
  348.     # programmers need to build applications that use ixemul.library.
  349.     #
  350.     mkdir -p ade/lib/libb
  351.     mkdir -p ade/lib/liblb
  352.     cp -p libsrc/crt0.o ade/lib/crt0.o
  353.     cp -p libsrc/bcrt0.o ade/lib/bcrt0.o
  354.     cp -p libsrc/gcrt0.o ade/lib/gcrt0.o
  355.     cp -p libsrc/mcrt0.o ade/lib/mcrt0.o
  356.     cp -p libsrc/rcrt0.o ade/lib/rcrt0.o
  357.     cp -p libsrc/lcrt0.o ade/lib/lcrt0.o
  358.     cp -p libsrc/scrt0.o ade/lib/scrt0.o
  359.     cp -p libsrc/libc.a ade/lib/libc.a
  360.     cp -p libsrc/libbc.a ade/lib/libb/libc.a
  361.     cp -p libsrc/liblbc.a ade/lib/liblb/libc.a
  362.     cp -p libsrc/libc_p.a ade/lib/libc_p.a
  363.     cp -pr $(srcdir)/include ade/include
  364.     mkdir ade/man
  365.     cp -pr man/cat? ade/man
  366.     find ade -name CVS -print | xargs rm -rf
  367.     (cd ade && lha -mraxeq a /distrib/ixemul-sdk.lha lib include man)
  368.     sleep 5
  369.     rm -rf ade
  370.     #
  371.     # Create ixemul-doc.lha, which contains various documentation
  372.     # files.
  373.     #
  374.     mkdir ixemul
  375.     cp -p $(srcdir)/COPYING ixemul/COPYING
  376.     cp -p $(srcdir)/COPYING.LIB ixemul/COPYING.LIB
  377.     cp -p $(srcdir)/INSTALL ixemul/INSTALL
  378.     cp -p $(srcdir)/NEWS ixemul/NEWS
  379.     cp -p $(srcdir)/BUGS ixemul/BUGS
  380.     cp -p $(srcdir)/TODO ixemul/TODO
  381.     cp -p $(srcdir)/README ixemul/README
  382.     cp -p $(srcdir)/utils/ixprefs.guide ixemul/ixprefs.guide
  383.     cp -p $(srcdir)/utils/ixprefs.guide.info ixemul/ixprefs.guide.info
  384.     lha -mraxeq a distrib/ixemul-doc.lha ixemul
  385.     rm -rf ixemul
  386.     #
  387.     # Create ixemul-src.tgz, which contains the source code.
  388.     # Do it in a temporary location so we don't have to
  389.     # know where the build dir is, or translate between
  390.     # Unix & AmigaOS forms.  We also delete any CVS dirs
  391.     # at this time.
  392.     #
  393.     rm -rf ixemul-src.tgz ixemul
  394.     cp -pr $(srcdir) ixemul
  395.     find ixemul -name CVS -print | xargs rm -rf
  396.     lha -mraxeq a distrib/ixemul-src.lha ixemul
  397.     rm -rf ixemul
  398.     #
  399.     # Create ixemul-<cpu><fpu>.lha
  400.     #
  401.     mkdir -p ade/Sys/libs
  402.     cp -p library/68000/soft-float/ixemul.library ade/Sys/libs/ixemul000.library
  403.     cp -p ixnet/68000/ixnet.library ade/Sys/libs/ixnet000.library
  404.     cp -p $(srcdir)/README ade/Sys/libs/README
  405.     (cd ade && lha -mraxeq a /distrib/ixemul-000s.lha Sys)
  406.     rm -f ade/Sys/libs/*
  407.     cp -p library/68000/soft-float/ixemul.trace ade/Sys/libs/ixemul000.trace
  408.     cp -p $(srcdir)/README ade/Sys/libs/README
  409.     (cd ade && lha -mraxeq a /distrib/ixemul-000t.lha Sys)
  410.     rm -f ade/Sys/libs/*
  411.     cp -p library/68020/soft-float/ixemul.library ade/Sys/libs/ixemul020.library
  412.     cp -p ixnet/68020/ixnet.library ade/Sys/libs/ixnet020.library
  413.     cp -p $(srcdir)/README ade/Sys/libs/README
  414.     (cd ade && lha -mraxeq a /distrib/ixemul-020s.lha Sys)
  415.     rm -f ade/Sys/libs/*
  416.     cp -p library/68040/soft-float/ixemul.library ade/Sys/libs/ixemul040.library
  417.     cp -p ixnet/68040/ixnet.library ade/Sys/libs/ixnet040.library
  418.     cp -p $(srcdir)/README ade/Sys/libs/README
  419.     (cd ade && lha -mraxeq a /distrib/ixemul-040s.lha Sys)
  420.     rm -f ade/Sys/libs/*
  421.     cp -p library/68020/68881/ixemul.library ade/Sys/libs/ixemul020fpu.library
  422.     cp -p ixnet/68020/ixnet.library ade/Sys/libs/ixnet020fpu.library
  423.     cp -p $(srcdir)/README ade/Sys/libs/README
  424.     (cd ade && lha -mraxeq a /distrib/ixemul-020f.lha Sys)
  425.     rm -f ade/Sys/libs/*
  426.     cp -p library/68040/68881/ixemul.library ade/Sys/libs/ixemul040fpu.library
  427.     cp -p ixnet/68040/ixnet.library ade/Sys/libs/ixnet040fpu.library
  428.     cp -p $(srcdir)/README ade/Sys/libs/README
  429.     (cd ade && lha -mraxeq a /distrib/ixemul-040f.lha Sys)
  430.     rm -f ade/Sys/libs/*
  431. #    cp -p library/68060/68881/ixemul.library ade/Sys/libs/ixemul060fpu.library
  432. #    cp -p ixnet/68060/ixnet.library ade/Sys/libs/ixnet060fpu.library
  433. #    cp -p $(srcdir)/README ade/Sys/libs/README
  434. #    (cd ade && lha -mraxeq a /distrib/ixemul-060f.lha Sys)
  435.     sleep 5
  436.     rm -rf ade
  437.