1# $NHDT-Date: 1524689255 2018/04/25 20:47:35 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.12 $ 2# Copyright (c) 2018 by Michael Allison 3# NetHack may be freely redistributed. See license for details. 4 5# Set all of these or none of them. 6# 7# bison and flex are the ones found in GnuWin32, which 8# is probably the easiest set of these tools to find 9# on Windows. 10# 11#YACC = bison.exe -y 12#LEX = flex.exe 13#YTABC = y.tab.c 14#YTABH = y.tab.h 15#LEXYYC = lex.yy.c 16 17 18default: all 19 20all: tools ..\util\lev_yacc.c ..\util\lev_lex.c 21 22rebuild: clean all 23 24clean: 25 -del ..\util\lev_lex.c 26 -del ..\util\lev_yacc.c 27 -del ..\include\lev_comp.h 28 29tools: 30!IFDEF YACC 31 @echo Yacc-alike set to $(YACC) 32 @echo YTABC set to $(YTABC) 33 @echo YTABH set to $(YTABH) 34!ENDIF 35 36!IFDEF LEX 37 @echo Lex-alike set to $(LEX) 38 @echo LEXYYC set to $(LEXYYC) 39!ENDIF 40 41#========================================== 42# Level Compiler Stuff 43#========================================== 44 45..\include\lev_comp.h: ..\util\lev_comp.y 46!IFNDEF YACC 47 @echo Using pre-built lev_comp.h 48 chdir ..\include 49 copy /y ..\sys\share\lev_comp.h 50 copy /b lev_comp.h+,, 51 chdir ..\src 52!ELSE 53 @echo Generating lev_yacc.c and lev_comp.h 54 chdir ..\util 55 $(YACC) -d lev_comp.y 56 copy $(YTABC) $@ 57 copy $(YTABH) ..\include\lev_comp.h 58 @del $(YTABC) 59 @del $(YTABH) 60 chdir ..\src 61!ENDIF 62 63..\util\lev_yacc.c: ..\util\lev_comp.y 64!IFNDEF YACC 65 @echo Using pre-built lev_yacc.c 66 chdir ..\util 67 copy /y ..\sys\share\lev_yacc.c 68 copy /b lev_yacc.c+,, 69 chdir ..\src 70!ELSE 71 @echo Generating lev_yacc.c and lev_comp.h 72 chdir ..\util 73 $(YACC) -d lev_comp.y 74 copy $(YTABC) $@ 75 copy $(YTABH) ..\include\lev_comp.h 76 @del $(YTABC) 77 @del $(YTABH) 78 chdir ..\src 79!ENDIF 80 81..\util\lev_lex.c: ..\util\lev_comp.l 82!IFNDEF LEX 83 @echo Using pre-built lev_lex.c 84 chdir ..\util 85 copy /y ..\sys\share\lev_lex.c 86 copy /b lev_lex.c+,, 87 chdir ..\src 88!ELSE 89 @echo Generating lev_lex.c 90 chdir ..\util 91 $(LEX) lev_comp.l 92 copy $(LEXYYC) $@ 93 @del $(LEXYYC) 94 chdir ..\src 95!ENDIF 96 97