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

📄 makefile

📁 Thinking in c++ 2nd edition,c++编程思想(第2版)
💻
字号:
# From "Thinking in C++, 2nd Edition, Volume 2" 
# by Bruce Eckel & Chuck Allison
# Available at http://www.BruceEckel.com
# (c)2004 MindView Inc. Copyright notice in Copyright.txt
# Automatically-generated MAKEFILE 
# For examples in directory .\C11
# Invoke with: make compiler-name
# or: make clean

ifneq ($(MAKECMDGOALS),clean)
include ../$(MAKECMDGOALS).mac
endif

.SUFFIXES : .cpp .$(OBJEXT) .exe


Borland:  \
	NoThread.exe \
	BasicThreads.exe \
	MoreBasicThreads.exe \
	UnresponsiveUI.exe \
	ResponsiveUI.exe \
	ThreadedExecutor.exe \
	PoolExecutor.exe \
	ConcurrentExecutor.exe \
	SynchronousExecutor.exe \
	YieldingTask.exe \
	SleepingTask.exe \
	SimplePriorities.exe \
	Incrementer.exe \
	ReferenceCounting.exe \
	EvenGenerator.exe \
	MutexEvenGenerator.exe \
	GuardedEvenGenerator.exe \
	TemporaryUnlocking.exe \
	TimedLocking.exe \
	SynchronizedClass.exe \
	ThreadLocalVariables.exe \
	OrnamentalGarden.exe \
	Interrupting.exe \
	Interrupting2.exe \
	Interrupting3.exe \
	WaxOMatic.exe \
	ToastOMatic.exe \
	TestTQueue.exe \
	ToastOMaticMarkII.exe \
	CarBuilder.exe \
	DeadlockingDiningPhilosophers.exe \
	FixedDiningPhilosophers.exe \
	TESTHEADER_LiftOff.exe \
	TESTHEADER_EvenChecker.exe \
	TESTHEADER_Display.exe \
	TESTHEADER_TQueue.exe \
	TESTHEADER_DiningPhilosophers.exe

Microsoft:  \
	NoThread.exe \
	BasicThreads.exe \
	MoreBasicThreads.exe \
	UnresponsiveUI.exe \
	ResponsiveUI.exe \
	ThreadedExecutor.exe \
	PoolExecutor.exe \
	ConcurrentExecutor.exe \
	SynchronousExecutor.exe \
	YieldingTask.exe \
	SleepingTask.exe \
	SimplePriorities.exe \
	Incrementer.exe \
	ReferenceCounting.exe \
	EvenGenerator.exe \
	MutexEvenGenerator.exe \
	GuardedEvenGenerator.exe \
	TemporaryUnlocking.exe \
	TimedLocking.exe \
	SynchronizedClass.exe \
	ThreadLocalVariables.exe \
	OrnamentalGarden.exe \
	Interrupting.exe \
	Interrupting2.exe \
	Interrupting3.exe \
	WaxOMatic.exe \
	ToastOMatic.exe \
	TestTQueue.exe \
	ToastOMaticMarkII.exe \
	CarBuilder.exe \
	DeadlockingDiningPhilosophers.exe \
	FixedDiningPhilosophers.exe \
	TESTHEADER_LiftOff.exe \
	TESTHEADER_EvenChecker.exe \
	TESTHEADER_Display.exe \
	TESTHEADER_TQueue.exe \
	TESTHEADER_DiningPhilosophers.exe

g++:  \
	NoThread.exe \
	BasicThreads.exe \
	MoreBasicThreads.exe \
	UnresponsiveUI.exe \
	ResponsiveUI.exe \
	ThreadedExecutor.exe \
	PoolExecutor.exe \
	ConcurrentExecutor.exe \
	SynchronousExecutor.exe \
	YieldingTask.exe \
	SleepingTask.exe \
	SimplePriorities.exe \
	Incrementer.exe \
	ReferenceCounting.exe \
	EvenGenerator.exe \
	MutexEvenGenerator.exe \
	GuardedEvenGenerator.exe \
	TemporaryUnlocking.exe \
	TimedLocking.exe \
	SynchronizedClass.exe \
	ThreadLocalVariables.exe \
	OrnamentalGarden.exe \
	Interrupting.exe \
	Interrupting2.exe \
	Interrupting3.exe \
	WaxOMatic.exe \
	ToastOMatic.exe \
	TestTQueue.exe \
	ToastOMaticMarkII.exe \
	CarBuilder.exe \
	DeadlockingDiningPhilosophers.exe \
	FixedDiningPhilosophers.exe \
	TESTHEADER_LiftOff.exe \
	TESTHEADER_EvenChecker.exe \
	TESTHEADER_Display.exe \
	TESTHEADER_TQueue.exe \
	TESTHEADER_DiningPhilosophers.exe

edg:  \
	NoThread.exe \
	BasicThreads.exe \
	MoreBasicThreads.exe \
	UnresponsiveUI.exe \
	ResponsiveUI.exe \
	ThreadedExecutor.exe \
	PoolExecutor.exe \
	ConcurrentExecutor.exe \
	SynchronousExecutor.exe \
	YieldingTask.exe \
	SleepingTask.exe \
	SimplePriorities.exe \
	Incrementer.exe \
	ReferenceCounting.exe \
	EvenGenerator.exe \
	MutexEvenGenerator.exe \
	GuardedEvenGenerator.exe \
	TemporaryUnlocking.exe \
	TimedLocking.exe \
	SynchronizedClass.exe \
	ThreadLocalVariables.exe \
	OrnamentalGarden.exe \
	Interrupting.exe \
	Interrupting2.exe \
	Interrupting3.exe \
	WaxOMatic.exe \
	ToastOMatic.exe \
	TestTQueue.exe \
	ToastOMaticMarkII.exe \
	CarBuilder.exe \
	DeadlockingDiningPhilosophers.exe \
	FixedDiningPhilosophers.exe \
	TESTHEADER_LiftOff.exe \
	TESTHEADER_EvenChecker.exe \
	TESTHEADER_Display.exe \
	TESTHEADER_TQueue.exe \
	TESTHEADER_DiningPhilosophers.exe

Metrowerks:  \
	NoThread.exe \
	BasicThreads.exe \
	MoreBasicThreads.exe \
	UnresponsiveUI.exe \
	ResponsiveUI.exe \
	ThreadedExecutor.exe \
	PoolExecutor.exe \
	ConcurrentExecutor.exe \
	SynchronousExecutor.exe \
	YieldingTask.exe \
	SleepingTask.exe \
	SimplePriorities.exe \
	Incrementer.exe \
	ReferenceCounting.exe \
	EvenGenerator.exe \
	MutexEvenGenerator.exe \
	GuardedEvenGenerator.exe \
	TemporaryUnlocking.exe \
	TimedLocking.exe \
	SynchronizedClass.exe \
	ThreadLocalVariables.exe \
	OrnamentalGarden.exe \
	Interrupting.exe \
	Interrupting2.exe \
	Interrupting3.exe \
	WaxOMatic.exe \
	ToastOMatic.exe \
	TestTQueue.exe \
	ToastOMaticMarkII.exe \
	CarBuilder.exe \
	DeadlockingDiningPhilosophers.exe \
	FixedDiningPhilosophers.exe \
	TESTHEADER_LiftOff.exe \
	TESTHEADER_EvenChecker.exe \
	TESTHEADER_Display.exe \
	TESTHEADER_TQueue.exe \
	TESTHEADER_DiningPhilosophers.exe

DigitalMars:  \
	NoThread.exe \
	BasicThreads.exe \
	MoreBasicThreads.exe \
	UnresponsiveUI.exe \
	ResponsiveUI.exe \
	ThreadedExecutor.exe \
	PoolExecutor.exe \
	ConcurrentExecutor.exe \
	SynchronousExecutor.exe \
	YieldingTask.exe \
	SleepingTask.exe \
	SimplePriorities.exe \
	Incrementer.exe \
	ReferenceCounting.exe \
	EvenGenerator.exe \
	MutexEvenGenerator.exe \
	GuardedEvenGenerator.exe \
	TemporaryUnlocking.exe \
	TimedLocking.exe \
	ThreadLocalVariables.exe \
	OrnamentalGarden.exe \
	Interrupting.exe \
	Interrupting2.exe \
	Interrupting3.exe \
	WaxOMatic.exe \
	ToastOMatic.exe \
	TestTQueue.exe \
	ToastOMaticMarkII.exe \
	CarBuilder.exe \
	DeadlockingDiningPhilosophers.exe \
	FixedDiningPhilosophers.exe \
	TESTHEADER_LiftOff.exe \
	TESTHEADER_EvenChecker.exe \
	TESTHEADER_Display.exe \
	TESTHEADER_TQueue.exe \
	TESTHEADER_DiningPhilosophers.exe

CodeWizard:
	CodeWizard *.cpp

clean:
ifeq ($(notdir $(SHELL)),COMMAND.COM)
	del *.o
	del *.obj
	del *.exe
	del *.tds
	del *.map
else
	rm -f *.o *.obj *.exe *.tds *.map
endif


NoThread.exe: NoThread.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

BasicThreads.exe:  BasicThreads.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

BasicThreads.$(OBJEXT): BasicThreads.cpp

MoreBasicThreads.exe:  MoreBasicThreads.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

MoreBasicThreads.$(OBJEXT): MoreBasicThreads.cpp

UnresponsiveUI.exe:  UnresponsiveUI.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread

UnresponsiveUI.$(OBJEXT): UnresponsiveUI.cpp

ResponsiveUI.exe:  ResponsiveUI.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread

ResponsiveUI.$(OBJEXT): ResponsiveUI.cpp

ThreadedExecutor.exe:  ThreadedExecutor.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

ThreadedExecutor.$(OBJEXT): ThreadedExecutor.cpp

PoolExecutor.exe:  PoolExecutor.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

PoolExecutor.$(OBJEXT): PoolExecutor.cpp

ConcurrentExecutor.exe:  ConcurrentExecutor.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

ConcurrentExecutor.$(OBJEXT): ConcurrentExecutor.cpp

SynchronousExecutor.exe:  SynchronousExecutor.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

SynchronousExecutor.$(OBJEXT): SynchronousExecutor.cpp

YieldingTask.exe:  YieldingTask.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

YieldingTask.$(OBJEXT): YieldingTask.cpp

SleepingTask.exe:  SleepingTask.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

SleepingTask.$(OBJEXT): SleepingTask.cpp

SimplePriorities.exe:  SimplePriorities.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

SimplePriorities.$(OBJEXT): SimplePriorities.cpp

Incrementer.exe:  Incrementer.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread

Incrementer.$(OBJEXT): Incrementer.cpp

ReferenceCounting.exe:  ReferenceCounting.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

ReferenceCounting.$(OBJEXT): ReferenceCounting.cpp

EvenGenerator.exe:  EvenGenerator.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

EvenGenerator.$(OBJEXT): EvenGenerator.cpp

MutexEvenGenerator.exe:  MutexEvenGenerator.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread

MutexEvenGenerator.$(OBJEXT): MutexEvenGenerator.cpp

GuardedEvenGenerator.exe:  GuardedEvenGenerator.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread

GuardedEvenGenerator.$(OBJEXT): GuardedEvenGenerator.cpp

TemporaryUnlocking.exe:  TemporaryUnlocking.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

TemporaryUnlocking.$(OBJEXT): TemporaryUnlocking.cpp

TimedLocking.exe:  TimedLocking.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

TimedLocking.$(OBJEXT): TimedLocking.cpp

SynchronizedClass.exe:  SynchronizedClass.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

SynchronizedClass.$(OBJEXT): SynchronizedClass.cpp

ThreadLocalVariables.exe:  ThreadLocalVariables.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread

ThreadLocalVariables.$(OBJEXT): ThreadLocalVariables.cpp

OrnamentalGarden.exe:  OrnamentalGarden.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread

OrnamentalGarden.$(OBJEXT): OrnamentalGarden.cpp

Interrupting.exe:  Interrupting.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

Interrupting.$(OBJEXT): Interrupting.cpp

Interrupting2.exe:  Interrupting2.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

Interrupting2.$(OBJEXT): Interrupting2.cpp

Interrupting3.exe:  Interrupting3.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread

Interrupting3.$(OBJEXT): Interrupting3.cpp

WaxOMatic.exe:  WaxOMatic.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread

WaxOMatic.$(OBJEXT): WaxOMatic.cpp

ToastOMatic.exe:  ToastOMatic.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread

ToastOMatic.$(OBJEXT): ToastOMatic.cpp

TestTQueue.exe:  TestTQueue.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread

TestTQueue.$(OBJEXT): TestTQueue.cpp

ToastOMaticMarkII.exe:  ToastOMaticMarkII.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread

ToastOMaticMarkII.$(OBJEXT): ToastOMaticMarkII.cpp

CarBuilder.exe:  CarBuilder.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread

CarBuilder.$(OBJEXT): CarBuilder.cpp

DeadlockingDiningPhilosophers.exe:  DeadlockingDiningPhilosophers.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread

DeadlockingDiningPhilosophers.$(OBJEXT): DeadlockingDiningPhilosophers.cpp

FixedDiningPhilosophers.exe:  FixedDiningPhilosophers.$(OBJEXT)
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread

FixedDiningPhilosophers.$(OBJEXT): FixedDiningPhilosophers.cpp

TESTHEADER_LiftOff.exe: TESTHEADER_LiftOff.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

TESTHEADER_EvenChecker.exe: TESTHEADER_EvenChecker.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

TESTHEADER_Display.exe: TESTHEADER_Display.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

TESTHEADER_TQueue.exe: TESTHEADER_TQueue.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

TESTHEADER_DiningPhilosophers.exe: TESTHEADER_DiningPhilosophers.cpp
	$(CPP) $(CPPFLAGS) $(EXEFLAG)$@ $^ $(LIBLINK)ZThread
	$@

⌨️ 快捷键说明

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