home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_200 / 290_01 / makefile.unx < prev    next >
Makefile  |  1990-05-14  |  1KB  |  74 lines

  1. # make file for "flex" tool
  2.  
  3. # the first time around use "make first_flex"
  4.  
  5. SKELETON_FILE = \"/usr/local/lib/flex.skel\"
  6. F_SKELETON_FILE = \"/usr/local/lib/flex.fastskel\"
  7. SKELFLAGS = -DDEFAULT_SKELETON_FILE=$(SKELETON_FILE) \
  8.         -DFAST_SKELETON_FILE=$(F_SKELETON_FILE)
  9. CFLAGS = -O
  10. LDFLAGS =
  11.  
  12. FLEX_FLAGS = -ist
  13. FLEX = flex
  14.  
  15. FLEXOBJS = \
  16.     ccl.o \
  17.     dfa.o \
  18.     ecs.o \
  19.     main.o \
  20.     misc.o \
  21.     nfa.o \
  22.     parse.o \
  23.     scan.o \
  24.     sym.o \
  25.     tblcmp.o \
  26.     yylex.o
  27.  
  28. FLEX_C_SOURCES = \
  29.     ccl.c \
  30.     dfa.c \
  31.     ecs.c \
  32.     main.c \
  33.     misc.c \
  34.     nfa.c \
  35.     parse.c \
  36.     scan.c \
  37.     sym.c \
  38.     tblcmp.c \
  39.     yylex.c
  40.  
  41. flex : $(FLEXOBJS)
  42.     cc $(CFLAGS) -o flex $(LDFLAGS) $(FLEXOBJS)
  43.  
  44. first_flex:
  45.     cp scan.c.dist scan.c
  46.     make $(MFLAGS) flex
  47.  
  48. parse.h parse.c : parse.y
  49.     yacc -d parse.y
  50.     @mv y.tab.c parse.c
  51.     @mv y.tab.h parse.h
  52.  
  53. # comment-out the next two lines after a successful "make test" and
  54. # comment-in the following two lines.
  55.  
  56. scan.c : scan.l
  57.     $(FLEX) $(FLEX_FLAGS) scan.l >scan.c
  58.  
  59. scan.o : scan.c parse.h
  60.  
  61. main.o : main.c
  62.     cc $(CFLAGS) -c $(SKELFLAGS) main.c
  63.  
  64. flex.lint : $(FLEX_C_SOURCES)
  65.     @echo "Expect a \"may be used before set\" and 2 \"unused\"'s
  66.     lint $(FLEX_C_SOURCES) > flex.lint
  67.  
  68. clean :
  69.     rm -f core errs flex *.o parse.c *.lint parse.h
  70.  
  71. test :
  72.     $(FLEX) $(FLEX_FLAGS) scan.l | diff scan.c -
  73.  
  74.