home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.2 (Developer) / NS_dev_3.2.iso / NextDeveloper / Source / GNU / cctools / as / Makefile < prev    next >
Encoding:
Makefile  |  1993-06-29  |  7.9 KB  |  235 lines

  1. #CFLAGS = -bsd -O -g -DMach_O -I$(SRCROOT) -I$(SRCROOT)/../include $(K)
  2. CFLAGS = -bsd -g -DMach_O -I$(SRCROOT) -I$(SRCROOT)/../include $(K) -Wno-precomp
  3. LIBSTUFF = $(SYMROOT)/../../libstuff/libstuff.a
  4.  
  5. SRCROOT = .
  6. SYMROOT = .
  7. OBJROOT = .
  8. SYM_DIRS = $(SYMROOT)/driver_dir \
  9.        $(SYMROOT)/a68_dir \
  10.        $(SYMROOT)/a88_dir \
  11.        $(SYMROOT)/a386_dir \
  12.        $(SYMROOT)/a98_dir \
  13.        $(SYMROOT)/a860_dir
  14. OFILE_DIRS = $(OBJROOT)/driver_dir \
  15.          $(OBJROOT)/a68_dir \
  16.          $(OBJROOT)/a88_dir \
  17.          $(OBJROOT)/a386_dir \
  18.          $(OBJROOT)/a98_dir \
  19.          $(OBJROOT)/a860_dir
  20.  
  21. BINDIR = /bin
  22. LIBDIR = /lib
  23. LOCLIBDIR = /usr/local/lib
  24. DSTDIRS = $(DSTROOT)$(BINDIR) \
  25.       $(DSTROOT)$(LIBDIR)/m68k \
  26.       $(DSTROOT)$(LIBDIR)/i386 \
  27.       $(DSTROOT)$(LOCLIBDIR)/m88k \
  28.       $(DSTROOT)$(LOCLIBDIR)/m98k \
  29.       $(DSTROOT)$(LOCLIBDIR)/i860
  30.  
  31. CFILES = as.c xrealloc.c xmalloc.c hash.c hex-value.c atof-generic.c append.c \
  32.      messages.c expr.c app.c frags.c input-file.c input-scrub.c \
  33.      output-file.c read.c subsegs.c symbols.c write.c version.c \
  34.      flonum-const.c flonum-copy.c flonum-mult.c strstr.c bignum-copy.c \
  35.      obstack.c Mach-O.c atof-ieee.c
  36. CFILES_m68k = m68k.c
  37. CFILES_m88k = m88k.c
  38. CFILES_i860 = i860.c
  39. CFILES_i386 = i386.c
  40. CFILES_m98k = m98k.c
  41.  
  42. HFILES = as.h bignum.h expr.h flonum.h frags.h hash.h i860-opcode.h i860.h \
  43.      input-file.h m68k-opcode.h m88k-opcode.h m88k.h md.h objrecdef.h \
  44.      obstack.h read.h struc-symbol.h subsegs.h symbols.h write.h i386.h \
  45.      i386-opcode.h m98k-opcode.h m98k.h
  46. CHECK_FILES = m68k-check.c m88k-check.c i860-check.c i386-check.c m98k-check.c
  47.  
  48. INSTALL_FILES = Makefile notes $(CFILES) $(CFILES_m68k) $(CFILES_m88k) \
  49.         $(CFILES_i860) $(CFILES_i386) $(CFILES_m98k) $(HFILES) \
  50.         $(CHECK_FILES) driver.c
  51.  
  52. OBJS = $(CFILES:.c=.o) next_version.o
  53. OBJS_m68k = $(CFILES_m68k:.c=.o)
  54. OBJS_m88k = $(CFILES_m88k:.c=.o)
  55. OBJS_i860 = $(CFILES_i860:.c=.o)
  56. OBJS_i386 = $(CFILES_i386:.c=.o)
  57. OBJS_m98k = $(CFILES_m98k:.c=.o)
  58.  
  59. all:    $(OFILE_DIRS) $(SYM_DIRS) driver_build a68_build a88_build a386_build \
  60.     a860_build a98_build
  61.  
  62. all_test:    a68_test a88_test a860_test a386_test a98_test
  63.  
  64. driver_build:    $(OBJROOT)/driver_dir
  65.     @if [ $(SRCROOT) = . ];                        \
  66.     then                                \
  67.         cd driver_dir;  $(MAKE) -f ../Makefile driver VPATH=..    \
  68.         OFILE_DIR=. CFLAGS="-Wall -g -O -I../../include"    \
  69.         RC_FLAGS="$(RC_CFLAGS)" DEP_DIR=driver_dir;        \
  70.     else                                \
  71.         cd $(OBJROOT)/driver_dir; $(MAKE) -f $(SRCROOT)/Makefile    \
  72.         driver VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/driver_dir \
  73.         SYMROOT=$(SYMROOT)/driver_dir SRCROOT=$(SRCROOT)    \
  74.         CFLAGS="-Wall -g -O -I$(SRCROOT)/../include"        \
  75.         RC_FLAGS="$(RC_CFLAGS)" DEP_DIR=driver_dir;        \
  76.     fi
  77.  
  78. a68_build:    $(OBJROOT)/a68_dir
  79.     @if [ $(SRCROOT) = . ];                        \
  80.     then                                \
  81.         cd a68_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=.    \
  82.         SRCROOT=.. TARGET_OBJS="$(OBJS_m68k)" DEP_DIR=a68_dir    \
  83.         RC_CFLAGS="$(RC_CFLAGS)" COPTS="-DM68K -DBUILTIN_MMUS";    \
  84.     else                                \
  85.         cd $(OBJROOT)/a68_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  86.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/a68_dir        \
  87.         SYMROOT=$(SYMROOT)/a68_dir SRCROOT=$(SRCROOT)        \
  88.         TARGET_OBJS="$(OBJS_m68k)" COPTS="-DM68K -DBUILTIN_MMUS" \
  89.         RC_CFLAGS="$(RC_CFLAGS)" DEP_DIR=a68_dir;        \
  90.     fi
  91.  
  92. a68_test: a68_dir
  93.     cd a68_dir; $(MAKE) -f ../Makefile m68k-check VPATH=.. OFILE_DIR=. \
  94.         SRCROOT=.. m68k-check COPTS="-DM68K -DBUILTIN_MMUS"
  95.     cd a68_dir; $(MAKE) -f ../Makefile test
  96.  
  97. a88_build:    $(OBJROOT)/a88_dir
  98.     @if [ $(SRCROOT) = . ];                        \
  99.     then                                \
  100.         cd a88_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=.    \
  101.         SRCROOT=.. TARGET_OBJS="$(OBJS_m88k)" DEP_DIR=a88_dir    \
  102.         COPTS="-DRISC -DM88K -Dm88110" RCFLAGS=$(RCFLAGS);    \
  103.     else                                \
  104.         cd $(OBJROOT)/a88_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  105.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/a88_dir        \
  106.         SYMROOT=$(SYMROOT)/a88_dir SRCROOT=$(SRCROOT)        \
  107.         TARGET_OBJS="$(OBJS_m88k)" COPTS="-DRISC -DM88K -Dm88110" \
  108.         RC_CFLAGS="$(RC_CFLAGS)" DEP_DIR=a88_dir;        \
  109.     fi
  110.  
  111. a88_test: a88_dir
  112.     cd a88_dir; $(MAKE) -f ../Makefile m88k-check VPATH=.. OFILE_DIR=. \
  113.         SRCROOT=.. COPTS="-DRISC -DM88K -Dm88110"
  114.     cd a88_dir; $(MAKE) -f ../Makefile test
  115.  
  116. a386_build:    $(OBJROOT)/a386_dir
  117.     @if [ $(SRCROOT) = . ];                        \
  118.     then                                \
  119.         cd a386_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=.    \
  120.         SRCROOT=.. TARGET_OBJS="$(OBJS_i386)" DEP_DIR=a386_dir    \
  121.         COPTS="-DI386 -Di486 -Di586" RC_CFLAGS="$(RC_CFLAGS)";    \
  122.     else                                \
  123.         cd $(OBJROOT)/a386_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  124.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/a386_dir        \
  125.         SYMROOT=$(SYMROOT)/a386_dir SRCROOT=$(SRCROOT)        \
  126.         TARGET_OBJS="$(OBJS_i386)" COPTS="-DI386 -Di486 -Di586"    \
  127.         RC_CFLAGS="$(RC_CFLAGS)"  DEP_DIR=a386_dir;        \
  128.     fi
  129.  
  130. a386_test: a386_dir
  131.     cd a386_dir; $(MAKE) -f ../Makefile i386-check VPATH=.. OFILE_DIR=. \
  132.         SRCROOT=.. COPTS="-DI386 -Di486 -Di586"
  133.     cd a386_dir; $(MAKE) -f ../Makefile test
  134.  
  135. a860_build:    $(OBJROOT)/a860_dir
  136.     @if [ $(SRCROOT) = . ];                        \
  137.     then                                \
  138.         cd a860_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=.    \
  139.         SRCROOT=.. TARGET_OBJS="$(OBJS_i860)" DEP_DIR=a860_dir    \
  140.         RC_CFLAGS="$(RC_CFLAGS)" COPTS="-DRISC -DI860";        \
  141.     else                                \
  142.         cd $(OBJROOT)/a860_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  143.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/a860_dir        \
  144.         SYMROOT=$(SYMROOT)/a860_dir SRCROOT=$(SRCROOT)        \
  145.         TARGET_OBJS="$(OBJS_i860)" COPTS="-DRISC -DI860"    \
  146.         RC_CFLAGS="$(RC_CFLAGS)"  DEP_DIR=a860_dir;        \
  147.     fi
  148.  
  149. a860_test: a860_dir
  150.     cd a860_dir; $(MAKE) -f ../Makefile i860-check VPATH=.. OFILE_DIR=. \
  151.         SRCROOT=.. COPTS="-DRISC -DI860"
  152.     cd a860_dir; $(MAKE) -f ../Makefile test ASFLAGS=-W
  153.  
  154. a98_build:    $(OBJROOT)/a98_dir
  155.     @if [ $(SRCROOT) = . ];                        \
  156.     then                                \
  157.         cd a98_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=. \
  158.         SRCROOT=.. TARGET_OBJS="$(OBJS_m98k)" DEP_DIR=a98_dir \
  159.         RC_CFLAGS="$(RC_CFLAGS)" COPTS="-DRISC -DM98K";    \
  160.     else                                \
  161.         cd $(OBJROOT)/a98_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  162.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/a98_dir        \
  163.         SYMROOT=$(SYMROOT)/a98_dir SRCROOT=$(SRCROOT)        \
  164.         TARGET_OBJS="$(OBJS_m98k)" COPTS="-DRISC -DM98K"    \
  165.         RC_CFLAGS="$(RC_CFLAGS)" DEP_DIR=a98_dir;        \
  166.     fi
  167.  
  168. a98_test: a98_dir
  169.     cd a98_dir; $(MAKE) -f ../Makefile m98k-check VPATH=.. OFILE_DIR=. \
  170.         SRCROOT=.. COPTS="-DRISC -DM98K"
  171.     cd a98_dir; $(MAKE) -f ../Makefile test
  172.  
  173. driver:    driver.o next_version.o
  174.     $(CC) $(COPTS) $(CFLAGS) $(RC_CFLAGS) -o $(SYMROOT)/driver \
  175.         $(OFILE_DIR)/driver.o $(OFILE_DIR)/next_version.o $(LIBSTUFF)
  176.  
  177. as:    $(OBJS) $(TARGET_OBJS)
  178.     $(CC) $(COPTS) $(CFLAGS) $(RC_CFLAGS) -o $(SYMROOT)/as \
  179.         $(OBJS) $(TARGET_OBJS) $(LIBSTUFF)
  180.  
  181. m68k-check: m68k-check.o
  182.     $(CC) $(COPTS) $(CFLAGS) -o check $<
  183.  
  184. m88k-check: m88k-check.o
  185.     $(CC) $(COPTS) $(CFLAGS) -o check $<
  186.  
  187. i386-check: i386-check.o
  188.     $(CC) $(COPTS) $(CFLAGS) -o check $<
  189.  
  190. i860-check: i860-check.o
  191.     $(CC) $(COPTS) $(CFLAGS) -o check $<
  192.  
  193. m98k-check: m98k-check.o
  194.     $(CC) $(COPTS) $(CFLAGS) -o check $<
  195.  
  196. test:
  197.     ./check > check.s
  198.     ./as -force_cpusubtype_ALL $(ASFLAGS) -o check.o check.s
  199.     otool -X -tV check.o > check1.s
  200.     ./as -force_cpusubtype_ALL $(ASFLAGS) -o check1.o check1.s
  201.     otool -X -tV check1.o > check2.s
  202.     diff check1.s check2.s > check.out
  203.     cmp check.o check1.o
  204.  
  205. next_version.c:
  206.     echo "const char next_version[]= " \"`vers_string -f cctools`\" ";" > \
  207.         $(OFILE_DIR)/$@
  208.  
  209. .c.o:
  210.     $(CC) $(COPTS) $(CFLAGS) $(RC_CFLAGS) -c -MD \
  211.         -dependency-file $(OFILE_DIR)/$*.d -o $(OFILE_DIR)/$*.o $*.c
  212.     md -d -u $(OFILE_DIR)/Makedep $(OFILE_DIR)/$*.d
  213.  
  214. clean:
  215.     -rm -r -f $(OFILE_DIRS) make.out
  216.  
  217. installsrc installGNUsrc:
  218.     mkdirs $(SRCROOT)
  219.     chmod 755 $(SRCROOT)
  220.     tar cf - $(INSTALL_FILES) | (cd $(SRCROOT); tar xf -)
  221.     chmod 444 $(SRCROOT)/*
  222.  
  223. install: all $(DSTDIRS)
  224.     install -s -m 555 $(SYMROOT)/driver_dir/driver $(DSTROOT)$(BINDIR)/as
  225.     install -s -m 555 $(SYMROOT)/a68_dir/as $(DSTROOT)$(LIBDIR)/m68k/as
  226.     install -s -m 555 $(SYMROOT)/a386_dir/as $(DSTROOT)$(LIBDIR)/i386/as
  227.     install -s -m 555 $(SYMROOT)/a88_dir/as $(DSTROOT)$(LOCLIBDIR)/m88k/as
  228.     install -s -m 555 $(SYMROOT)/a98_dir/as $(DSTROOT)$(LOCLIBDIR)/m98k/as
  229.     install -s -m 555 $(SYMROOT)/a860_dir/as $(DSTROOT)$(LOCLIBDIR)/i860/as
  230.  
  231. $(OFILE_DIRS) $(SYM_DIRS) $(DSTDIRS):
  232.     mkdirs $@
  233.  
  234. -include $(DEP_DIR)/Makedep
  235.