116 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
#
 | 
						|
# make file for "flex" tool
 | 
						|
# @(#) $Header: /usr/fsys/odin/a/vern/flex/RCS/Makefile,v 2.9 90/05/26 17:28:44
 | 
						|
 vern Exp $ (LBL)
 | 
						|
#
 | 
						|
# the first time around use "make f_flex"
 | 
						|
#
 | 
						|
#  This makefile is specific for Microsoft's C/C++ compiler  (v7), nmake and
 | 
						|
#  lib      
 | 
						|
#         - Paul Stuart, Jan 93 (pjs@scammell.ecos.tne.oz.au)
 | 
						|
#
 | 
						|
 | 
						|
 | 
						|
SKELFLAGS = -DDEFAULT_SKELETON_FILE=\"c:/src/flex/flex.skl\"
 | 
						|
CFLAGS = -nologo -AL -W2 -F 8000 -Ox -Gt16000 -DMS_DOS -DUSG
 | 
						|
LDFLAGS = /nologo /NOI /BATCH /ONERROR:NOEXE  /STACK:8000
 | 
						|
FLEX_FLAGS = -ist8 -Sflex.skl
 | 
						|
 | 
						|
FLEX = .\flex.exe
 | 
						|
CC = cl
 | 
						|
YACC = c:\lib\byacc
 | 
						|
MAKE = nmake /nologo
 | 
						|
 | 
						|
#
 | 
						|
# break obj-list into two because of 128 character command-line limit of
 | 
						|
# Microsoft's link and lib utilities.
 | 
						|
#
 | 
						|
FLEXOBJS1 = \
 | 
						|
	ccl.obj \
 | 
						|
	dfa.obj \
 | 
						|
	ecs.obj \
 | 
						|
	gen.obj \
 | 
						|
	main.obj \
 | 
						|
	misc.obj \
 | 
						|
	nfa.obj \
 | 
						|
	parse.obj
 | 
						|
 | 
						|
FLEXOBJS2 = \
 | 
						|
	scan.obj \
 | 
						|
	sym.obj \
 | 
						|
	tblcmp.obj \
 | 
						|
	yylex.obj
 | 
						|
 | 
						|
FLEX_C_SOURCES = \
 | 
						|
	ccl.c \
 | 
						|
	dfa.c \
 | 
						|
	ecs.c \
 | 
						|
	gen.c \
 | 
						|
	main.c \
 | 
						|
	misc.c \
 | 
						|
	nfa.c \
 | 
						|
	parse.c \
 | 
						|
	scan.c \
 | 
						|
	sym.c \
 | 
						|
	tblcmp.c \
 | 
						|
	yylex.c
 | 
						|
 | 
						|
FLEX_LIB_OBJS = \
 | 
						|
	libmain.obj
 | 
						|
 | 
						|
 | 
						|
all : flex.exe 
 | 
						|
 | 
						|
#
 | 
						|
# lib is used to get around the 128 character command-line limit of 'link'.
 | 
						|
#
 | 
						|
flex.exe : $(FLEXOBJS1) $(FLEXOBJS2)
 | 
						|
	lib /nologo tmplib $(FLEXOBJS1);
 | 
						|
	link $(LDFLAGS) $(FLEXOBJS2),$*.exe,,tmplib;
 | 
						|
	del tmplib.lib
 | 
						|
 | 
						|
f_flex:
 | 
						|
	copy initscan.c scan.c
 | 
						|
	touch scan.c
 | 
						|
	@echo  compiling first flex  
 | 
						|
	$(MAKE) flex.exe 
 | 
						|
	del scan.c
 | 
						|
	@echo using first flex to generate final version...
 | 
						|
	$(MAKE) flex.exe
 | 
						|
 | 
						|
#
 | 
						|
# general inference rule
 | 
						|
#
 | 
						|
.c.obj:
 | 
						|
	$(CC) -c $(CFLAGS) $*.c
 | 
						|
 | 
						|
parse.h parse.c : parse.y
 | 
						|
	$(YACC) -d parse.y
 | 
						|
	@mv y_tab.c parse.c
 | 
						|
	@mv y_tab.h parse.h
 | 
						|
 | 
						|
scan.c : scan.l
 | 
						|
	$(FLEX) $(FLEX_FLAGS) $(COMPRESSION) scan.l >scan.c
 | 
						|
 | 
						|
 | 
						|
scan.obj : scan.c parse.h flexdef.h
 | 
						|
 | 
						|
main.obj : main.c flexdef.h
 | 
						|
	$(CC) $(CFLAGS) -c $(SKELFLAGS) main.c
 | 
						|
 | 
						|
ccl.obj : ccl.c flexdef.h
 | 
						|
dfa.obj : dfa.c flexdef.h
 | 
						|
ecs.obj : ecs.c flexdef.h
 | 
						|
gen.obj : gen.c flexdef.h
 | 
						|
misc.obj : misc.c flexdef.h
 | 
						|
nfa.obj : nfa.c flexdef.h
 | 
						|
parse.obj : parse.c flexdef.h
 | 
						|
sym.obj : sym.c flexdef.h
 | 
						|
tblcmp.obj : tblcmp.c flexdef.h
 | 
						|
yylex.obj : yylex.c flexdef.h
 | 
						|
 | 
						|
 | 
						|
clean :
 | 
						|
	del *.obj
 | 
						|
	del *.map
 |