home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / fileutil / tcggrep2.arj / MAKEFILE < prev    next >
Encoding:
Text File  |  1991-01-03  |  2.9 KB  |  108 lines

  1. #                -*-Fun-*-
  2. # Makefile for GNU e?grep
  3. # Modified for Turbo C by J Segrave 23:56:06 Fri Nov 23 1990
  4.  
  5. # To use GLOBARGV.LIB (GNU globbing)
  6. GLOB_FLAG=-DGNU_GLOBBING
  7. GLOB_LIB=globargv.lib
  8. # To include negating options (-H, -N, -I)
  9. NEG_OPTS=-DNEG_OPTS
  10. # To include detailed help
  11. BIG_HELP=-DBIG_HELP
  12. # To include GREP_OPTS environment variable
  13. GREP_OPTS=-DGREP_OPTS
  14. # To make underscore part of a word
  15. UNDER_WORD=-DUNDER_WORD
  16. # To allow run time globbing control
  17. GLOB_CONTROL=-DGLOB_CONTROL
  18. # To suppress globbing and get argument list from environment
  19. MKSARGS=-DMKSARGS
  20. # Add -DUSG for System V.
  21. # Build Turbo C configuration file (to keep command lines short)
  22.  
  23. MODEL=c
  24.  
  25. CFLAGS = -m$(MODEL) -DUSG -Z -O -K- -v -N -w -w-stv
  26. # -mc    compact model
  27. # -K-   default is signed char
  28. # -v    debugging info
  29. # -Z    optimise register usage
  30. # -O    optimise jumps
  31. # -N    generate stack checks
  32. # -w    all warnings
  33. # -w-stv disable warning on structure passed by value
  34.  
  35. LDFLAGS=-ms
  36. LIBDIR=c:\tc\lib
  37. LIBS=$(GLOB_LIB) + $(LIBDIR)\cc.lib
  38.  
  39. CC=tcc
  40.  
  41. # You may add getopt.o if your C library lacks getopt(); note that
  42. # 4.3BSD getopt() is said to be somewhat broken.
  43. #
  44. # Add alloca.o if your machine does not support alloca().
  45. #
  46. OBJS = dfa.obj regex.obj getopt.obj tcgrep.obj alloca.obj
  47. GOBJ = grep.obj
  48. EOBJ = egrep.obj
  49.  
  50. all: egrep.exe grep.exe
  51.  
  52. egrep.exe: $(OBJS) $(EOBJ) $(GLOB_LIB)
  53.     tlink @egrep.lnk
  54.     tdstrip -s egrep
  55.  
  56. egrep.obj: grep.c  dfa.h regex.h turboc.cfg msdosmac.h
  57.     $(CC) $(CFLAGS) -DEGREP -o$* -c grep.c
  58.  
  59. grep.obj: grep.c  dfa.h regex.h turboc.cfg msdosmac.h
  60.     $(CC) $(CFLAGS) -o$* -c grep.c
  61.  
  62. grep.exe: $(OBJS) $(GOBJ) $(GLOB_LIB)
  63.     tlink @grep.lnk
  64.     tdstrip -s grep
  65.  
  66. # Compile regex.c with enhancements for matching `$' with `\r\n' sequences.
  67. regex.obj: regex.c regex.h turboc.cfg
  68.     $(CC) $(CFLAGS) -DDOLLARS_MATCH_CRLF -c $*
  69.  
  70. ######################################
  71. # GLOBARGV.LIB (GNU globbing of command line arguments)
  72.  
  73. # Order is in general significant in GLOB_OBJ
  74. GLOB_OBJ=globargv.obj glob.obj msd_dir2.obj getwd.obj norm_fil.obj
  75.  
  76. globargv.lib: $(GLOB_OBJ)
  77.     tlib $* +- globargv.obj +- glob.obj +- msd_dir2.obj +- getwd.obj +-norm_fil, nul
  78.  
  79. msd_dir2.obj: msd_dir.h turboc.cfg
  80.  
  81. ######################################
  82.  
  83. getopt.obj: turboc.cfg
  84. dfa.obj: dfa.h turboc.cfg
  85. tcgrep.obj: turboc.cfg
  86. alloca.obj: turboc.cfg
  87. norm_fil: turboc.cfg
  88. getwd.obj: turboc.cfg
  89. glob.obj: turboc.cfg
  90. globargv.obj: turboc.cfg
  91.  
  92. # rebuild Turbo C config file if makefile changes
  93.  
  94. turboc.cfg: makefile
  95.     echo -Ic:\tc\include > turboc.cfg
  96.     echo $(GLOB_FLAG)     >> turboc.cfg
  97.     echo -DMSDOS          >> turboc.cfg
  98.     echo $(NEG_OPTS)      >> turboc.cfg
  99.     echo $(BIG_HELP)      >> turboc.cfg
  100.     echo $(GREP_OPTS)     >> turboc.cfg
  101.     echo $(UNDER_WORD)    >> turboc.cfg
  102.     echo $(MKSARGS)        >> turboc.cfg
  103.     echo $(GLOB_CONTROL)    >> turboc.cfg
  104.  
  105. .c.obj:
  106.     $(CC) $(CFLAGS) -DDOLLARS_MATCH_CRLF -c $*
  107.  
  108.