home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 6 / FreshFish_September1994.bin / bbs / gnu / flex-2.4.7-src.lha / GNU / src / amiga / flex-2.4.7 / MISC / MSDOS / MSC7.0.Make < prev    next >
Encoding:
Text File  |  1993-09-20  |  2.1 KB  |  116 lines

  1. #
  2. # make file for "flex" tool
  3. # @(#) $Header: /usr/fsys/odin/a/vern/flex/RCS/Makefile,v 2.9 90/05/26 17:28:44
  4.  vern Exp $ (LBL)
  5. #
  6. # the first time around use "make f_flex"
  7. #
  8. #  This makefile is specific for Microsoft's C/C++ compiler  (v7), nmake and
  9. #  lib      
  10. #         - Paul Stuart, Jan 93 (pjs@scammell.ecos.tne.oz.au)
  11. #
  12.  
  13.  
  14. SKELFLAGS = -DDEFAULT_SKELETON_FILE=\"c:/src/flex/flex.skl\"
  15. CFLAGS = -nologo -AL -W2 -F 8000 -Ox -Gt16000 -DMS_DOS -DUSG
  16. LDFLAGS = /nologo /NOI /BATCH /ONERROR:NOEXE  /STACK:8000
  17. FLEX_FLAGS = -ist8 -Sflex.skl
  18.  
  19. FLEX = .\flex.exe
  20. CC = cl
  21. YACC = c:\lib\byacc
  22. MAKE = nmake /nologo
  23.  
  24. #
  25. # break obj-list into two because of 128 character command-line limit of
  26. # Microsoft's link and lib utilities.
  27. #
  28. FLEXOBJS1 = \
  29.     ccl.obj \
  30.     dfa.obj \
  31.     ecs.obj \
  32.     gen.obj \
  33.     main.obj \
  34.     misc.obj \
  35.     nfa.obj \
  36.     parse.obj
  37.  
  38. FLEXOBJS2 = \
  39.     scan.obj \
  40.     sym.obj \
  41.     tblcmp.obj \
  42.     yylex.obj
  43.  
  44. FLEX_C_SOURCES = \
  45.     ccl.c \
  46.     dfa.c \
  47.     ecs.c \
  48.     gen.c \
  49.     main.c \
  50.     misc.c \
  51.     nfa.c \
  52.     parse.c \
  53.     scan.c \
  54.     sym.c \
  55.     tblcmp.c \
  56.     yylex.c
  57.  
  58. FLEX_LIB_OBJS = \
  59.     libmain.obj
  60.  
  61.  
  62. all : flex.exe 
  63.  
  64. #
  65. # lib is used to get around the 128 character command-line limit of 'link'.
  66. #
  67. flex.exe : $(FLEXOBJS1) $(FLEXOBJS2)
  68.     lib /nologo tmplib $(FLEXOBJS1);
  69.     link $(LDFLAGS) $(FLEXOBJS2),$*.exe,,tmplib;
  70.     del tmplib.lib
  71.  
  72. f_flex:
  73.     copy initscan.c scan.c
  74.     touch scan.c
  75.     @echo  compiling first flex  
  76.     $(MAKE) flex.exe 
  77.     del scan.c
  78.     @echo using first flex to generate final version...
  79.     $(MAKE) flex.exe
  80.  
  81. #
  82. # general inference rule
  83. #
  84. .c.obj:
  85.     $(CC) -c $(CFLAGS) $*.c
  86.  
  87. parse.h parse.c : parse.y
  88.     $(YACC) -d parse.y
  89.     @mv y_tab.c parse.c
  90.     @mv y_tab.h parse.h
  91.  
  92. scan.c : scan.l
  93.     $(FLEX) $(FLEX_FLAGS) $(COMPRESSION) scan.l >scan.c
  94.  
  95.  
  96. scan.obj : scan.c parse.h flexdef.h
  97.  
  98. main.obj : main.c flexdef.h
  99.     $(CC) $(CFLAGS) -c $(SKELFLAGS) main.c
  100.  
  101. ccl.obj : ccl.c flexdef.h
  102. dfa.obj : dfa.c flexdef.h
  103. ecs.obj : ecs.c flexdef.h
  104. gen.obj : gen.c flexdef.h
  105. misc.obj : misc.c flexdef.h
  106. nfa.obj : nfa.c flexdef.h
  107. parse.obj : parse.c flexdef.h
  108. sym.obj : sym.c flexdef.h
  109. tblcmp.obj : tblcmp.c flexdef.h
  110. yylex.obj : yylex.c flexdef.h
  111.  
  112.  
  113. clean :
  114.     del *.obj
  115.     del *.map
  116.