📄 makefile
字号:
CC = g++
CCFLAGS = -c -g $(SYSDEFS) -Wall
LD = g++
LDFLAGS = $(SYSDEFS) -g
YACC = bison -d
INCS = ctalk.h sync.h stdtp.h ctkparser.h scanner.h compiler.h memmgr.h
SYSLIBS =
SYSDEFS = -D_REENTRANT -fpic
ifeq ($(OSTYPE),solaris2.6)
SYSLIBS = -lpthread -ldl
else
ifeq ($(OSTYPE),solaris2.7)
SYSLIBS = -lpthread -ldl
else
SYSDEFS = -pthread
SYSLIBS = -ldl
endif
endif
ctalk: ctalk.o memmgr.o syslib.o scanner.o ctkparser.o compiler.o sync.o
$(LD) $(LDFLAGS) -o ctalk ctalk.o memmgr.o syslib.o scanner.o ctkparser.o compiler.o sync.o $(SYSLIBS)
ctkparser.cpp ctkparser.h: parser.y
$(YACC) parser.y
mv parser.tab.c ctkparser.cpp
mv parser.tab.h ctkparser.h
ctalk.o: ctalk.cpp $(INCS)
$(CC) $(CCFLAGS) ctalk.cpp
ctkparser.o: ctkparser.cpp $(INCS)
$(CC) $(CCFLAGS) ctkparser.cpp
sync.o: sync.cpp $(INCS)
$(CC) $(CCFLAGS) sync.cpp
memmgr.o: memmgr.cpp $(INCS)
$(CC) $(CCFLAGS) memmgr.cpp
compiler.o: compiler.cpp $(INCS) trampoline.h
$(CC) $(CCFLAGS) compiler.cpp
scanner.o: scanner.cpp $(INCS)
$(CC) $(CCFLAGS) scanner.cpp
syslib.o: syslib.cpp $(INCS)
$(CC) $(CCFLAGS) syslib.cpp
mydll.so: mydll.cpp
$(CC) -g $(SYSDEFS) -Wall -shared -o mydll.so mydll.cpp
clean:
rm -f *.o ctalk *~
tgz: clean
cd ..; tar cvzf ctalk.tgz ctalk
check: Hello Module Tasks Test mydll
Hello: Hello.ctk
ctalk $@
Module: Module.ctk
ctalk $@
Tasks: Tasks.ctk
ctalk $@
Test: Test.ctk
ctalk $@
mydll: mydll.ctk mdll.so
ctalk $@
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -