home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0400 / CCE_0457.ZIP / CCE_0457 / GASSRC03.ZOO / Makefile < prev    next >
Makefile  |  1992-05-02  |  12KB  |  368 lines

  1. # HISTORY
  2. # 31-Jul-91  Shin Iwamoto (shin) at CANON Inc.
  3. #    Added difinitions for STONE.
  4. # old day    Shin Iwamoto (shin) at CANON Inc.
  5. #    Added -DCANON.
  6.  
  7. # Makefile for GAS.
  8. # Copyright (C) 1989, Free Software Foundation
  9. # This file is part of GAS, the GNU Assembler.
  10. # GAS is free software; you can redistribute it and/or modify
  11. # it under the terms of the GNU General Public License as published by
  12. # the Free Software Foundation; either version 1, or (at your option)
  13. # any later version.
  14. # GAS is distributed in the hope that it will be useful,
  15. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17. # GNU General Public License for more details.
  18. # You should have received a copy of the GNU General Public License
  19. # along with GAS; see the file COPYING.  If not, write to
  20. # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  
  22. # This makefile may be used to make the VAX, 68020, 80386, 
  23. # SPARC, ns32k, or i860 assembler(s).
  24.  
  25. BINDIR = /usr/local/bin
  26. CC=gcc
  27.  
  28. # If you are on a BSD system, un-comment the next two lines, and comment out
  29. # the lines for SystemV and HPUX below
  30. #G0 = -g  -I. #-O -Wall
  31. #LDFLAGS = $(CFLAGS)
  32. #
  33. # To compile gas for STONE, link m-stone.h to m68k.h, and un-comment the
  34. # next two lines.
  35. G0 = -g  -I. -Dm68040 -DCANON #-O -Wall
  36. LDFLAGS = 
  37. #
  38. # To compile gas on a System Five machine, comment out the two lines above
  39. # and un-comment out the next three lines
  40. # Comment out the -lPW on the LOADLIBES line if you are using GCC.
  41. # G0 = -g -I. -DUSG
  42. # LDFLAGS = $(CFLAGS)
  43. # LOADLIBES = -lmalloc -lPW
  44. #
  45. # To compile gas for HPUX, link m-hpux.h to m68k.h , and un-comment the
  46. # next two lines.  (If you are using GCC, comment out the alloca.o part)
  47. # (Get alloca from the emacs distribution, or use GCC.)
  48. # HPUX 7.0 may have a bug in setvbuf.  gas gives an error message like
  49. # 1:"Unknown operator" -- Statement 'NO_APP' ignored
  50. # if setvbuf is broken.  Re-compile input-file.c (and only input-file.c
  51. # with -DVMS and the problem should go away.
  52. #
  53. # G0 = -g -I. -DUSG
  54. # LOADLIBES = alloca.o
  55. #
  56. # To compile gas for a Sequent Symmetry, comment out all the above lines,
  57. # and un-comment the next two lines.
  58. # G0 = -g -I. -DUSE_SYSTEM_HDR -DEXEC_VERSION=1
  59. # LOADLIBES = -lc /usr/att/lib/libc.a
  60.  
  61. # If you just want to compile the vax assembler, type 'make avax'
  62.  
  63. # If you just want to compile the i386 assembler, type 'make a386'
  64.  
  65. # If you just want to compile the ns32k assembler, type 'make a32k'
  66.  
  67. # If you just want to compile the sparc assembler, type 'make asparc'
  68.  
  69. # If you just want to compile the mc68020 assembler, make sure m68k.h
  70. # is correctly set up, and type type 'make a68'  (Except on HPUX machines,
  71. # where you will have to make the changes marked below before typing
  72. # 'make a68'
  73. # m68k.h should be a symbolic or hard-link to one of
  74. # m-sun3.h , m-hpux.h or m-generic.h
  75. # depending on which machine you want to compile the 68020 assembler for.
  76. #
  77. # If you want the 68k assembler to be completely compatable with the the
  78. # SUN one, un-comment the -DSUN_ASM_SYNTAX line below.
  79. #
  80. # If you machine does not have vfprintf, but does have _doprnt(),
  81. # remove the # from the -DNO_VARARGS line below.
  82. #
  83. # If the return-type of a signal-hander is void (instead of int),
  84. # remove the # from the -DSIGTY line below.
  85. #
  86. # To include the mc68851 mmu coprocessor instructions in the 68020 assembler,
  87. # remove the # from the -Dm68851 line below.
  88. #
  89. # If you want the 68020 assembler use a register prefix character, un-comment
  90. # the REGISTER_PREFIX line, and (maybe) change the '%' to the appropriate
  91. # character.
  92. #
  93. # If you want the assembler to treat .L* or ..* symbols as local, instead of
  94. # the usual L* symbols, un-comment the DOT_LABEL_PREFIX line.
  95. #
  96. # If you want the 80386 assembler to correctly handle fsub/fsubr and fdiv/fdivr
  97. # opcodes (unlike most 80386 assemblers), remove the # from
  98. # the -DNON_BROKEN_WORDS line below.
  99. #
  100. # To compile 80386 Gas for the Sequent Symmetry, un-comment the -DEXEC_VERSION
  101. # and the -DUSE_SYSTEM_HDR lines below.
  102. #
  103. # To compile gas for the HP 9000/300 un-comment the -DUSE_HP_HDR line below.
  104. #
  105. # For the ns32k, the options are 32532 or 32032 CPU and 32381 or 32081 FPU.
  106. # To select the NS32532, remove the # from the -DNS32532 line below.
  107. # To compile in tne NS32381 opcodes in addition to the NS32081 opcodes
  108. # (the 32381 is a superset of the 32081), remove the # from the -DNS32381
  109. # line below.
  110. #
  111. # For the ns32k on a Sequent, uncomment the SEQUENT_COMPATABILITY line below.
  112. #
  113. # If you want the .align N directive to align to the next N byte boundry,
  114. # instead of the next 1<<N boundry, un-comment the OTHER_ALIGN line below.
  115. # (This option is automatically enabled when building the sparc assembler.
  116. #
  117.  
  118. O1 =  -DNO_VARARGS
  119. O2 = # -DNON_BROKEN_WORDS
  120. O3 = # -Dm68851
  121. O4 = # -DEXEC_VERSION=1
  122. O5 = # -DSIGTY=void
  123. O6 = # -DNS32532
  124. O6 = # -DNS32381
  125. O7 = # -DDOT_LABEL_PREFIX
  126. O8 = # -DSEQUENT_COMPATABILITY
  127. O9 = # -DREGISTER_PREFIX=\'%\'
  128. O10= # -DOTHER_ALIGN
  129.  
  130. G1 = # -DUSE_SYSTEM_HDR
  131. G2 = # -DUSE_HP_HDR
  132. G3 =  -DSUN_ASM_SYNTAX
  133.  
  134. OPTIONS = $(O1) $(O2) $(O3) $(O4) $(O5) $(O6) $(O7) $(O8) $(O9) $(O10)
  135.  
  136. CFLAGS = $(G0) $(G1) $(G2) $(G3) $(G4)
  137.  
  138. #
  139. # To make the 68020 assembler compile as the default, un-comment the next
  140. # line, and comment out all the other lines that start with DEFAULT_GAS
  141. DEFAULT_GAS=a68
  142. #
  143. # To make the VAX assembler compile as the default, un-comment the next
  144. # line and commment out all the other lines that start with DEFAULT_GAS
  145. #DEFAULT_GAS=avax
  146. #
  147. # To make the 80386 assembler compile as the default, un-comment the next
  148. # line and commment out all the other lines that start with DEFAULT_GAS
  149. #DEFAULT_GAS=a386
  150. #
  151. # To make the ns32k assembler compile as the default, un-comment the next
  152. # line and commment out all the other lines that start with DEFAULT_GAS
  153. #DEFAULT_GAS=a32k
  154. #
  155. # To make the sparc assembler compile as the default, un-comment the next
  156. # line and commment out all the other lines that start with DEFAULT_GAS
  157. #DEFAULT_GAS=asparc
  158. #
  159. # To make the i860 assembler compile as the default, un-comment the next
  160. # line and comment out all the other lines that start with DEFAULT_GAS
  161. #DEFAULT_GAS=a860
  162.  
  163. # Global Sources -------------------------------------------------------------
  164.  
  165. a =\
  166. as.o        xrealloc.o    xmalloc.o    hash.o        hex-value.o   \
  167. atof-generic.o    append.o    messages.o    expr.o        app.o         \
  168. frags.o        input-file.o    input-scrub.o    output-file.o                  \
  169. subsegs.o    symbols.o                    version.o     \
  170. flonum-const.o    flonum-copy.o    flonum-mult.o    strstr.o    bignum-copy.o \
  171. obstack.o
  172. #gdb.o        gdb-file.o    gdb-symbols.o    gdb-blocks.o    gdb-lines.o
  173.  
  174. a:    $(DEFAULT_GAS)
  175.     @rm -f a
  176.     @ln $(DEFAULT_GAS) a
  177.  
  178. # I860 GAS ------------------------------------------------------------------
  179. u = i860.o  atof-ieee.o  write-i860.o  read-i860.o
  180.  
  181. U = i860.c  i860.h i860-opcode.h
  182.  
  183. i860.o:    i860.c i860.h i860-opcode.h as.h frags.h struc-symbol.h
  184. i860.o:    flonum.h expr.h hash.h md.h write.h read.h symbols.h
  185.     $(CC) -c $(CFLAGS) -DI860 i860.c
  186.  
  187. atof-ieee.o:    flonum.h
  188.  
  189. write-i860.o:    write.c i860.h
  190.     $(CC) -c -DI860 $(CFLAGS) write.c
  191.     mv write.o write-i860.o
  192.  
  193. read-i860.o: read.c i860.h
  194.     $(CC) -c -DI860 $(CFLAGS) read.c
  195.     mv read.o read-i860.o
  196.  
  197. a860: $a $u
  198.     $(CC) -o a860 $(LDFLAGS) $a $u $(LOADLIBES)
  199.  
  200. # SPARC GAS ------------------------------------------------------------------
  201. v = sparc.o  atof-ieee.o  write-sparc.o  read-sparc.o
  202.  
  203. V = sparc.c  sparc.h  sparc-opcode.h
  204.  
  205. atof-ieee.o:    flonum.h
  206. sparc.o:    sparc.c sparc.h sparc-opcode.h as.h frags.h struc-symbol.h
  207. sparc.o:    flonum.h expr.h hash.h md.h write.h read.h symbols.h
  208.     $(CC) -c $(CFLAGS) -DSPARC sparc.c
  209.  
  210. write-sparc.o:    write.c
  211.     $(CC) -c -DSPARC $(CFLAGS) write.c
  212.     mv write.o write-sparc.o
  213.  
  214. read-sparc.o: read.c
  215.     $(CC) -c -DSPARC $(CFLAGS) read.c
  216.     mv read.o read-sparc.o
  217.  
  218. asparc: $a $v
  219.     $(CC) -o asparc $(LDFLAGS) $a $v $(LOADLIBES)
  220.  
  221. # NS32K GAS ------------------------------------------------------------------
  222. w = ns32k.o  atof-ieee.o  write-ns32k.o  read-ns32k.o
  223.  
  224. W = ns32k.c ns32k-opcode.h
  225.  
  226. atof-ieee.o:    flonum.h
  227. ns32k.o:    as.h frags.h struc-symbol.h flonum.h expr.h md.h hash.h
  228. ns32k.o:    write.h symbols.h ns32k-opcode.h ns32k.c
  229.     $(CC) $(CFLAGS) $(OPTIONS) -c ns32k.c
  230.  
  231. write-ns32k.o:    write.c
  232.     $(CC) -c -DNS32K $(CFLAGS) write.c
  233.     mv write.o write-ns32k.o
  234.  
  235. read-ns32k.o:
  236.     $(CC) -c -DNS32K $(CFLAGS) read.c
  237.     mv read.o read-ns32k.o
  238.  
  239. a32k: $a $w
  240.     $(CC) -o a32k $(LDFLAGS) $a $w $(LOADLIBES)
  241.  
  242. # 80386 GAS ------------------------------------------------------------------
  243. x = i386.o  atof-ieee.o  write.o  read.o
  244.  
  245. X = i386.c  i386.h  i386-opcode.h
  246.  
  247. i386.o:        i386.c as.h read.h flonum.h frags.h struc-symbol.h expr.h
  248. i386.o:        symbols.h hash.h md.h i386.h i386-opcode.h
  249.     $(CC) $(CFLAGS) $(OPTIONS) -c i386.c
  250.  
  251. atof-ieee.o:    flonum.h
  252.  
  253. a386: $a $x
  254.     $(CC) -o a386 $(LDFLAGS) $a $x $(LOADLIBES)
  255.  
  256. # 68020 GAS ------------------------------------------------------------------
  257. y = m68k.o  atof-ieee.o write.o read.o
  258.  
  259. Y = m68k.c atof-ieee.c m68k-opcode.h m-hpux.h m-sun3.h m-generic.h
  260.  
  261. atof-ieee.o:    flonum.h
  262.  
  263. m68k.o:        m68k.c a.out.gnu.h as.h expr.h flonum.h frags.h hash.h
  264. m68k.o:        m68k-opcode.h m68k.h md.h obstack.h struc-symbol.h
  265.     $(CC) $(CFLAGS) $(OPTIONS) -c m68k.c
  266.  
  267. a68: $a $y
  268.     $(CC) -o a68 $(LDFLAGS) $a $y $(LOADLIBES)
  269.  
  270. # VAX GAS --------------------------------------------------------------------
  271. z = vax.o  atof-vax.o  write.o  read.o
  272.  
  273. Z = vax.c atof-vax.c vax-opcode.h vax-inst.h \
  274.     make-gas.com objrecdef.h vms.c vms-dbg.c README-vms-dbg
  275.  
  276. vax.o:        vax.c a.out.gnu.h as.h expr.h flonum.h frags.h md.h obstack.h
  277. vax.o:        read.h struc-symbol.h symbols.h vax-inst.h vax-opcode.h
  278. atof-vax.o:    as.h flonum.h read.h
  279.  
  280. avax:    $a $z
  281.     $(CC) -o avax $(LDFLAGS) $a $z $(LOADLIBES)
  282.  
  283. # global files ---------------------------------------------------------------
  284.  
  285. as.o: as.c
  286.     $(CC) $(CFLAGS) $(OPTIONS) -c as.c
  287.  
  288. messages.o: messages.c
  289.     $(CC) $(CFLAGS) $(OPTIONS) -c messages.c
  290.  
  291. hash.o:    hash.c
  292.     $(CC) $(CFLAGS) -Derror=as_fatal -c hash.c
  293.  
  294. xmalloc.o:    xmalloc.c
  295.     $(CC) $(CFLAGS) -Derror=as_fatal -c xmalloc.c
  296.  
  297. xrealloc.o:    xrealloc.c
  298.     $(CC) $(CFLAGS) -Derror=as_fatal -c xrealloc.c
  299.  
  300. A =\
  301. as.c        xrealloc.c    xmalloc.c    hash.c        hex-value.c \
  302. atof-generic.c    append.c    messages.c    expr.c        bignum-copy.c \
  303. frags.c        input-file.c    input-scrub.c    output-file.c    read.c \
  304. subsegs.c    symbols.c    write.c                strstr.c \
  305. flonum-const.c    flonum-copy.c    flonum-mult.c    app.c        version.c \
  306. obstack.c \
  307. #gdb.c        gdb-file.c    gdb-symbols.c    gdb-blocks.c \
  308. #gdb-lines.c
  309.  
  310. H = \
  311. a.out.gnu.h    as.h        bignum.h    expr.h        flonum.h \
  312. frags.h        hash.h        input-file.h    md.h     \
  313. obstack.h    read.h        struc-symbol.h    subsegs.h    \
  314. symbols.h    write.h
  315.  
  316. dist: COPYING README ChangeLog $A $H $Z $Y $X $W $V $U Makefile
  317.     echo gas-`sed -n -e '/ version /s/[^0-9.]*\([0-9.]*\).*/\1/p' < version.c` > .fname
  318.     mkdir `cat .fname`
  319.  
  320.     ln COPYING README ChangeLog $A $H $Z $Y $X $W $V $U Makefile `cat .fname`
  321.     tar cvhZf `cat .fname`.tar.Z `cat .fname`
  322.     -rm -r `cat .fname`
  323.     -rm .fname
  324.  
  325. clean:
  326.     rm -f a avax a68 a386 a32k asparc $a $v $w $x $y $z a core gmon.out bugs a.out
  327.  
  328. install:    a
  329.     cp a $(BINDIR)/gas
  330.  
  331.  
  332. # General .o-->.h dependencies
  333.  
  334. app.o:        as.h
  335. as.o:        a.out.gnu.h as.h read.h struc-symbol.h write.h
  336. atof-generic.o:    flonum.h
  337. bignum-copy.o:    bignum.h
  338. expr.o:        a.out.gnu.h as.h expr.h flonum.h obstack.h read.h struc-symbol.h
  339. expr.o:         symbols.h
  340. flonum-const.o:    flonum.h
  341. flonum-copy.o:    flonum.h
  342. flonum-mult.o:    flonum.h
  343. flonum-normal.o:flonum.h
  344. flonum-print.o:    flonum.h
  345. frags.o:    a.out.gnu.h as.h frags.h obstack.h struc-symbol.h subsegs.h
  346. #gdb.o:        as.h
  347. #gdb-blocks.o:    as.h
  348. #gdb-lines.o:    as.h frags.h obstack.h
  349. #gdb-symbols.o:    a.out.gnu.h as.h struc-symbol.h
  350. hash.o:        hash.h
  351. input-file.o:    input-file.h
  352. input-scrub.o:    as.h input-file.h read.h
  353. messages.o:    as.h
  354. obstack.o:    obstack.h
  355. read.o:        a.out.gnu.h as.h expr.h flonum.h frags.h hash.h md.h obstack.h
  356. read.o:        read.h struc-symbol.h symbols.h
  357. subsegs.o:    a.out.gnu.h as.h frags.h obstack.h struc-symbol.h subsegs.h write.h
  358. symbols.o:    a.out.gnu.h as.h frags.h hash.h obstack.h struc-symbol.h symbols.h
  359. write.o:    a.out.gnu.h as.h md.h obstack.h struc-symbol.h subsegs.h
  360. write.o:    symbols.h write.h
  361.  
  362. flonum.h:                    bignum.h
  363.  
  364.