⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 SIP软件开发记录 由于通信网的封闭性
💻
字号:
# TINY & TM Makefile for lcc
#
# Compiler Construction: Principles and Practice
# Kenneth C. Louden
# 编译原理及实践
# (美) Kenneth C. Louden 著
# 冯博琴 冯岚 等译
# 机械工业出版社 IBSN 7-111-07703-2
# 源代码:zwf编辑并修订
# Code Modify: Larry Li 2001.11
# use -DCHINESE in CFLAGS open Chinese(GB2312) Support
# use -DNO_PARSE in CFLAGS to get a scanner-only compiler
# use -DNO_ANALYZE in CFLAGS to get a parser-only compiler
# use -DNO_CODE in CFALGS to get a compiler that does not generate code
# and does not use this four optiosn to get a compiler in English
CFLAGS=-IE:\lcc\include -O
CC=E:\lcc\bin\lcc.exe
LINKER=E:\lcc\bin\lcclnk.exe
ECHO=@echo
OBJS=\
analyze.obj \
cgen.obj \
code.obj \
main.obj \
parse.obj \
scan.obj \
symtab.obj \
util.obj

go:	tm.exe tiny.exe
	$(ECHO) Notes: use 'make help' to get a help

tiny.exe: $(OBJS) Makefile
	$(LINKER) -s -subsystem console -o tiny.exe $(OBJS)

# Build ANALYZE.C
ANALYZE_C=\
globals.h\
symtab.h\
analyze.h\

analyze.obj: $(ANALYZE_C) analyze.c Makefile
	$(CC) -c $(CFLAGS) $(flag) analyze.c

# Build CGEN.C
CGEN_C=\
globals.h\
symtab.h\
code.h\
cgen.h\

cgen.obj: $(CGEN_C) cgen.c Makefile
	$(CC) -c $(CFLAGS) $(flag) cgen.c

# Build CODE.C
CODE_C=\
globals.h\
code.h\

code.obj: $(CODE_C) code.c Makefile
	$(CC) -c $(CFLAGS) $(flag) code.c

# Build MAIN.C
MAIN_C=\
globals.h\
util.h\
parse.h\
analyze.h\
cgen.h\

main.obj: $(MAIN_C) main.c Makefile
	$(CC) -c $(CFLAGS) $(flag) main.c

# Build PARSE.C
PARSE_C=\
globals.h\
util.h\
scan.h\
parse.h\

parse.obj: $(PARSE_C) parse.c Makefile
	$(CC) -c $(CFLAGS) $(flag) parse.c

# Build SCAN.C
SCAN_C=\
globals.h\
util.h\
scan.h\

scan.obj: $(SCAN_C) scan.c Makefile
	$(CC) -c $(CFLAGS) $(flag) scan.c

# Build SYMTAB.C
SYMTAB_C=\
symtab.h\

symtab.obj: $(SYMTAB_C) symtab.c Makefile
	$(CC) -c $(CFLAGS) $(flag) symtab.c

# Build UTIL.C
UTIL_C=\
globals.h\
util.h\

util.obj: $(UTIL_C) util.c Makefile
	$(CC) -c $(CFLAGS) $(flag) util.c

tm.obj: tm.c Makefile
	$(CC) -c $(CFLAGS) $(flag) tm.c

tm.exe:	tm.obj Makefile
	$(LINKER) -s -subsystem console -o tm.exe tm.obj

tm: tm.exe

tiny: tiny.exe

all: tm.exe tiny.exe
	DEl *.obj

clean:
	del *.obj

cleantm:
	del tm.exe

cleantiny:
	del tiny.exe

cleanall: clean cleantm cleantiny

help:
	$(ECHO) Make TINY compiler & TM Simulation for lcc
	$(ECHO) Written by Larry Li, 2001.11
	$(ECHO) Usage: make [flag=] [all]      - to make executable files
	$(ECHO)        make [flag=] tm[.exe]   - to make tm.exe
	$(ECHO)        make [flag=] tiny[.exe] - to make tiny.exe
	$(ECHO)        make clean[tm/tiny/all] - clean
	$(ECHO)        make help               - to get this help
	$(ECHO) Notes:
	$(ECHO)        flag=-DNO_PARSE   - to get a scanner-only compiler (TINY only)
	$(ECHO)        flag=-DNO_ANALYZE - to get a parser-only compiler (TINY only)
	$(ECHO)        flag=-DNO_CODE    - to get a compiler that does not generate (TINY only)
	$(ECHO)        flag=-DCHINESE    - use Chinese(GB2312) support, may be with other flags
	$(ECHO) e.g.:
	$(ECHO)   make flag="-DCHINESE -DNO_PARSE" tiny
	$(ECHO) It be used to make a scanner-only compiler with Chinese support.
	$(ECHO) Thank you to use this Makefile. Larry, 1994 - 2001

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -