home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fonts 1 / freshfonts1.bin / bbs / programs / amiga / makeindex.lha / makeindex-2.12 / src / Makefile < prev    next >
Makefile  |  1993-05-26  |  6KB  |  358 lines

  1. #=======================================================================
  2. #  Makefile for the program `makeindex'
  3. #
  4. #  Copyright (C) 1987    Pehong Chen    (phc@renoir.berkeley.edu)
  5. #  Computer Science Division
  6. #  University of California, Berkeley
  7. #
  8. # On many UNIX systems, do
  9. #    make
  10. # to build MakeIndex, and
  11. #    make install
  12. # to install it.  You may need to modify BINDIR, MANDIR, and MANEXT
  13. # for your system.
  14. #
  15. # For systems that require different compile flags, there are
  16. # additional targets apollo .. vms that can be used, e.g.
  17. #    make hp720
  18. #
  19. # Current target list:
  20. #    all
  21. #    $(BINDIR)/$(PROGRAM)
  22. #    distclean
  23. #    depend
  24. #    dist
  25. #    index
  26. #    install
  27. #    man
  28. #    mostlyclean
  29. #    print
  30. #    program
  31. #    $(PROGRAM)
  32. #    realclean
  33. #    reallyclean
  34. #    shar
  35. #    tar
  36. #    tags
  37. #    TAGS
  38. #    test
  39. #    uninstall
  40. #    update
  41. #
  42. #    apollo
  43. #    du42
  44. #    du43
  45. #    du42-gcc
  46. #    du43-gcc
  47. #    du42-lcc
  48. #    du43-lcc
  49. #    hp375
  50. #    hp720
  51. #    hp850
  52. #    hp850-c89
  53. #    ibm370
  54. #    ibm370-c++
  55. #    ibmpc
  56. #    ibmps2
  57. #    ibmrs6000
  58. #    ibmrs6000-c++
  59. #    mips
  60. #    next
  61. #    next-g++
  62. #    next-objc
  63. #    sgi
  64. #    sgi-c++
  65. #    sgi-g++
  66. #    solaris
  67. #    solaris-apcc
  68. #    solaris-c++
  69. #    solaris-g++
  70. #    stardent
  71. #    sun
  72. #    sun-apcc
  73. #    sun-c++
  74. #    sun-g++
  75. #    vms
  76. #
  77. # [26-May-1993] -- update for 2.12beta release (add GNU Project
  78. #            standard targets, alphabetize macros and targets,
  79. #            replace use of install command)
  80. # [20-Apr-1993] -- remove references to system include files
  81. # [07-Aug-1991]
  82. #=======================================================================
  83.  
  84. ALL        = $(MAKEFILE) $(DOC) $(MANUAL) $(HDRS) $(SRCS)
  85.  
  86. BINDIR        = /usr/local/bin
  87.  
  88. CFLAGS        = -O
  89.  
  90. CHMOD        = chmod
  91.  
  92. CP        = /bin/cp
  93.  
  94. DOC        = makeindex.tex
  95.  
  96. #EXTHDRS    = /usr/include/ctype.h \
  97. #        /usr/include/stdio.h
  98.  
  99. HDRS        = genind.h \
  100.         mkind.h \
  101.         scanid.h \
  102.         scanst.h
  103.  
  104. LDFLAGS        = $(CFLAGS)
  105.  
  106. LIBS        =
  107.  
  108. LINKER        = $(CC)
  109.  
  110. MAKEFILE    = Makefile
  111.  
  112. MANDIR        = /usr/local/man/man1
  113.  
  114. MANEXT        = 1
  115.  
  116. MANUAL        = makeindex.l
  117.  
  118. OBJS        = genind.o \
  119.         mkind.o \
  120.         qsort.o \
  121.         scanid.o \
  122.         scanst.o \
  123.         sortid.o
  124.  
  125. PRINT        = psgrind
  126.  
  127. PROGRAM        = makeindex
  128.  
  129. RM        = /bin/rm -f
  130.  
  131. SHAR        = $(PROGRAM).shar
  132.  
  133. SHELL        = /bin/sh
  134.  
  135. SRCS        = genind.c \
  136.         mkind.c \
  137.         qsort.c \
  138.         scanid.c \
  139.         scanst.c \
  140.         sortid.c
  141.  
  142. STRIP        = strip
  143.  
  144. TAR        = $(PROGRAM).tar
  145.  
  146. #=======================================================================
  147.  
  148. all:        $(PROGRAM)
  149.  
  150. $(BINDIR)/$(PROGRAM): $(SRCS) $(HDRS) $(EXTHDRS)
  151.     @$(MAKE) -f $(MAKEFILE) BINDIR=$(BINDIR) install
  152.  
  153. clean mostlyclean:
  154.     -$(RM) $(OBJS)
  155.     -$(RM) $(PROGRAM)
  156.     -$(RM) *.out
  157.     -$(RM) *~
  158.     -$(RM) \#*
  159.     -$(RM) core
  160.  
  161. clobber realclean reallyclean:    clean
  162.  
  163. distclean:    clobber
  164.     -$(RM) $(SHAR) $(TAR) tags TAGS
  165.  
  166. depend:
  167.     -@$(RM) -f .#*.[chly]
  168.     mkmf -f $(MAKEFILE) PROGRAM=$(PROGRAM) BINDIR=$(BINDIR)
  169.  
  170. dist:
  171.     $(CP) $(PROGRAM) $(BINDIR)
  172.     rcp $(PROGRAM) monet:$(BINDIR)
  173.     rcp $(PROGRAM) arpa:$(BINDIR)
  174.     rcp $(PROGRAM) harrison@vangogh:bin
  175.  
  176. index:
  177.     @ctags -wx $(HDRS) $(SRCS)
  178.  
  179. install:    $(PROGRAM)
  180.     $(CP) $(PROGRAM) $(BINDIR)/$(PROGRAM)
  181.     $(STRIP) $(BINDIR)/$(PROGRAM)
  182.     $(CHMOD) 0755 $(BINDIR)/$(PROGRAM)
  183.     $(CP) ../doc/$(MANUAL) $(MANDIR)/makeindex.$(MANEXT)
  184.     $(CHMOD) 0744 $(MANDIR)/makeindex.$(MANEXT)
  185.     @ls -lgs $(BINDIR)/$(PROGRAM) $(MANDIR)/makeindex.$(MANEXT)
  186.  
  187. man:
  188.     ptroff -man $(MANUAL)
  189.  
  190. print:
  191.     @$(PRINT) $(HDRS) $(SRCS)
  192.  
  193. program:        $(PROGRAM)
  194.  
  195. $(PROGRAM):     $(OBJS)
  196.     -@$(RM) -f $(PROGRAM)
  197.     $(LINKER) $(LDFLAGS) $(OBJS) $(LIBS) -o $(PROGRAM)
  198.     @size $(PROGRAM)
  199.  
  200. shar:
  201.     -@$(RM) -f $(SHAR)
  202.     shar $(SHAR) $(ALL)
  203.  
  204. tar:
  205.     -@$(RM) $(TAR)
  206.     tar -cf $(TAR) $(ALL)
  207.  
  208. tags:    $(HDRS) $(SRCS)
  209.     @ctags $(HDRS) $(SRCS)
  210.  
  211. TAGS:    $(HDRS) $(SRCS)
  212.     @etags $(HDRS) $(SRCS)    
  213.  
  214. test:    $(PROGRAM)
  215.     cd ../test ; $(MAKE)
  216.  
  217. uninstall:
  218.     -$(RM) $(BINDIR)/$(PROGRAM)
  219.     -$(RM) $(MANDIR)/makeindex.$(MANEXT)
  220.  
  221. update:        $(BINDIR)/$(PROGRAM)
  222.  
  223. .DEFAULT:
  224.     co $@
  225.  
  226. #=======================================================================
  227. # Machine-specific targets to simplify installation when additional
  228. # compile flags are needed.
  229. #
  230. # Apollo DN/10000
  231. apollo:
  232.     $(MAKE) CFLAGS='-DOS_SYSV -U__STDC__' $(PROGRAM)
  233.  
  234. # DECstation Ultrix 4.2 and 4.3
  235. du42 du43:    all
  236.  
  237. # DECstation Ultrix 4.2 and 4.3 with gcc
  238. du42-gcc du43-gcc:
  239.     $(MAKE) CC=gcc $(PROGRAM)
  240.  
  241. # DECstation Ultrix 4.2 and 4.3 with lcc
  242. du42-lcc du43-lcc:
  243.     $(MAKE) CC=lcc CFLAGS= $(PROGRAM)
  244.  
  245. # HP 375 (4.3BSD)
  246. hp375:    all
  247.  
  248. # HP 9000/720 (HP-UX, System V UNIX)
  249. hp720:
  250.     $(MAKE) CFLAGS='-DOS_SYSV' $(PROGRAM)
  251.  
  252. # HP 9000/850S (HP-UX, System V UNIX)
  253. hp850:
  254.     $(MAKE) CFLAGS='-DOS_SYSV' $(PROGRAM)
  255.  
  256. # HP 9000/850S (HP-UX, System V UNIX) with Standard C compiler
  257. hp850-c89:
  258.     $(MAKE) CC=c89 CFLAGS='-DOS_SYSV' $(PROGRAM)
  259.  
  260. # IBM 3090/600S-VF AIX
  261. ibm370:
  262.     $(MAKE) CFLAGS='-D_BSD' $(PROGRAM)
  263.  
  264. # IBM 3090/600S-VF AIX with C++
  265. ibm370-c++:
  266.     $(MAKE) CC-'CC +a1 +p +w -D_POSIX_SOURCE -Hansi -D__STDC__ \
  267.         -D_BSD -D_AIX -D_AIX370' CFLAGS='-D_BSD' $(PROGRAM)
  268.  
  269. # IBM PC DOS
  270. ibmpc:    all
  271.  
  272. # IBM PS/2 AIX 2.1
  273. ibmps2:    all
  274.  
  275. # IBM PS/2 AIX 2.1 with C++
  276. ibmps2-c++:
  277.     $(MAKE) CC='CC +a1 +p +w -D_POSIX_SOURCE -Hansi -D__STDC__ \
  278.         -D_BSD -D_AIX -Dps2' CFLAGS='-D_BSD' $(PROGRAM)
  279.  
  280. # IBM RS/6000 AIX 3.1
  281. ibmrs6000:
  282.     $(MAKE) $(PROGRAM)
  283.  
  284. # IBM RS/6000 AIX 3.1 with C++
  285. ibmrs6000-c++:
  286.     $(MAKE) CC=xlC $(PROGRAM)
  287.  
  288. # MIPS R6000 RISC/os 5.0
  289. mips:
  290.     $(MAKE) CFLAGS='-DOS_SYSV -O' $(PROGRAM)
  291.  
  292. # NeXT Mach
  293. next:    all
  294.  
  295. # NeXT Mach with C++
  296. next-g++:
  297.     $(MAKE) CC=g++ $(PROGRAM)
  298.  
  299. # NeXT Mach with Objective C
  300. next-objc:
  301.     $(MAKE) CC='cc -ObjC' $(PROGRAM)
  302.  
  303. # Silicon Graphics IRIX 3.x and 4.x
  304. sgi:
  305.     $(MAKE) CFLAGS='-DOS_SYSV -O2' $(PROGRAM)
  306.  
  307. sgi-c++:
  308.     $(MAKE) CC=CC CFLAGS='-DOS_SYSV -O2' $(PROGRAM)
  309.  
  310. sgi-g++:
  311.     $(MAKE) CC=g++ CFLAGS='-DOS_SYSV -O2' $(PROGRAM)
  312.  
  313. # Sun Solaris 2.x (AT&T SysVR4): must compile in ANSI environment
  314. solaris:
  315.     $(MAKE) CFLAGS='-Xc -xO4' all
  316.  
  317. # Sun Solaris 2.x (AT&T SysVR4) with Apogee C
  318. solaris-apcc:
  319.     $(MAKE) CC='apcc -Xc=ansi' CFLAGS='-O4' all
  320.  
  321. # Sun Solaris 2.x (AT&T SysVR4) with C++
  322. solaris-c++:
  323.     $(MAKE) CC=CC CFLAGS='-O4' all
  324.  
  325. # Sun Solaris 2.x (AT&T SysVR4) with C++
  326. solaris-g++:
  327.     $(MAKE) CC=g++ all
  328.  
  329. # Stardent 1520 UNIX Release 2.2
  330. stardent:    all
  331.  
  332. # SunOS 4.1.x (BSD UNIX)
  333. sun:    all
  334.  
  335. # SunOS 4.1.x (BSD UNIX) with Apogee C
  336. sun-apcc:
  337.     $(MAKE) CC=apcc all
  338.  
  339. # SunOS 4.1.x (BSD UNIX) with C++
  340. sun-c++:
  341.     $(MAKE) CC=CC all
  342.  
  343. # SunOS 4.1.x (BSD UNIX) with g++
  344. sun-g++:
  345.     $(MAKE) CC=g++ all
  346.  
  347. # VAX VMS 5.3
  348. vms:    all
  349.  
  350. #=======================================================================
  351. ###
  352. genind.o: mkind.h genind.h
  353. mkind.o: mkind.h
  354. qsort.o: mkind.h
  355. scanid.o: mkind.h scanid.h
  356. scanst.o: mkind.h scanst.h
  357. sortid.o: mkind.h
  358.