mirror of
https://github.com/ioquake/ioq3.git
synced 2025-05-31 00:51:17 +00:00
* Improve Makefile startup time
+ Merge q3asm and q3lcc Makefiles into the core Makefile + Don't find .d files, create a list from .o + .asm files now depend on q3lcc + .qvm files now depend on q3asm * IMPORTANT NOTE: do a "make distclean" if you have problems
This commit is contained in:
parent
1d54a9ebe5
commit
c7c2ee1b84
6 changed files with 185 additions and 485 deletions
|
@ -1,43 +0,0 @@
|
|||
# yeah, couldn't do more simple really
|
||||
|
||||
ifeq ($(PLATFORM),mingw32)
|
||||
BINEXT=.exe
|
||||
else
|
||||
BINEXT=
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM),sunos)
|
||||
INSTALL=ginstall
|
||||
else
|
||||
INSTALL=install
|
||||
endif
|
||||
|
||||
CC=gcc
|
||||
Q3ASM_CFLAGS=-O2 -Wall -Werror -fno-strict-aliasing
|
||||
|
||||
ifeq ($(PLATFORM),darwin)
|
||||
LCC_CFLAGS += -DMACOS_X=1
|
||||
endif
|
||||
|
||||
ifndef USE_CCACHE
|
||||
USE_CCACHE=0
|
||||
endif
|
||||
|
||||
ifeq ($(USE_CCACHE),1)
|
||||
CC := ccache $(CC)
|
||||
CXX := ccache $(CXX)
|
||||
endif
|
||||
|
||||
default: q3asm
|
||||
|
||||
q3asm: q3asm.c cmdlib.c
|
||||
$(CC) $(Q3ASM_CFLAGS) -o $@ $^
|
||||
|
||||
clean:
|
||||
rm -f q3asm *~ *.o
|
||||
|
||||
install: default
|
||||
$(INSTALL) -s -m 0755 q3asm$(BINEXT) ../
|
||||
|
||||
uninstall:
|
||||
rm -f ../q3asm$(BINEXT)
|
|
@ -1,28 +0,0 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "q3asm", "q3asm.vcproj", "{E0D6B319-6F95-4ABA-9BE0-5454CAA5C8CD}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SourceCodeControl) = preSolution
|
||||
SccNumberOfProjects = 1
|
||||
SccProjectUniqueName0 = q3asm.vcproj
|
||||
SccProjectName0 = \u0022$/source/q3asm\u0022,\u0020YUCAAAAA
|
||||
SccLocalPath0 = .
|
||||
SccProvider0 = MSSCCI:Perforce\u0020SCM
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfiguration) = preSolution
|
||||
Debug = Debug
|
||||
Release = Release
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfiguration) = postSolution
|
||||
{E0D6B319-6F95-4ABA-9BE0-5454CAA5C8CD}.Debug.ActiveCfg = Debug|Win32
|
||||
{E0D6B319-6F95-4ABA-9BE0-5454CAA5C8CD}.Debug.Build.0 = Debug|Win32
|
||||
{E0D6B319-6F95-4ABA-9BE0-5454CAA5C8CD}.Release.ActiveCfg = Release|Win32
|
||||
{E0D6B319-6F95-4ABA-9BE0-5454CAA5C8CD}.Release.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -1,191 +0,0 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="q3asm"
|
||||
SccProjectName=""$/source/q3asm", YUCAAAAA"
|
||||
SccLocalPath=".">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\"
|
||||
IntermediateDirectory=".\build\release"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="../common"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile="$(IntDir)\q3asm.pch"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ObjectFile="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)\q3asm.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
ProgramDatabaseFile="$(IntDir)\q3asm.pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\Release/q3asm.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\"
|
||||
IntermediateDirectory=".\build\debug"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../common"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile="$(IntDir)\q3asm.pch"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
ObjectFile="$(IntDir)\"
|
||||
ProgramDataBaseFileName="$(IntDir)\"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)\q3asm.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile="$(IntDir)\q3asm.pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\Debug/q3asm.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="cmdlib.c">
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="q3asm.c">
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl">
|
||||
<File
|
||||
RelativePath="..\common\cmdlib.h">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
|
@ -1,163 +0,0 @@
|
|||
TEMPDIR=/tmp
|
||||
A=.a
|
||||
O=.o
|
||||
|
||||
ifeq ($(PLATFORM),mingw32)
|
||||
E=.exe
|
||||
else
|
||||
E=
|
||||
endif
|
||||
|
||||
CC=gcc
|
||||
LCC_CFLAGS=-O2 -Wall -fno-strict-aliasing -MMD
|
||||
LDFLAGS=
|
||||
LD=gcc
|
||||
AR=ar
|
||||
ARFLAGS=cru
|
||||
RANLIB=ranlib
|
||||
DIFF=diff
|
||||
RM=rm -f
|
||||
RMDIR=rmdir
|
||||
BUILDDIR=build-$(PLATFORM)-$(ARCH)
|
||||
BD=$(BUILDDIR)/
|
||||
|
||||
ifeq ($(USE_CCACHE),1)
|
||||
CC := ccache $(CC)
|
||||
endif
|
||||
|
||||
# Need MACOS_X defined or this won't build.
|
||||
ifeq ($(PLATFORM),darwin)
|
||||
LCC_CFLAGS += -DMACOS_X
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM),sunos)
|
||||
INSTALL=ginstall
|
||||
else
|
||||
INSTALL=install
|
||||
endif
|
||||
|
||||
all: q3rcc lburg q3cpp q3lcc
|
||||
|
||||
q3rcc: makedirs $(BD)q3rcc$(E)
|
||||
lburg: makedirs $(BD)lburg$(E)
|
||||
q3cpp: makedirs $(BD)q3cpp$(E)
|
||||
q3lcc: makedirs $(BD)q3lcc$(E)
|
||||
|
||||
makedirs:
|
||||
@if [ ! -d $(BD) ];then mkdir $(BD);fi
|
||||
@if [ ! -d $(BD)/etc ];then mkdir $(BD)/etc;fi
|
||||
@if [ ! -d $(BD)/rcc ];then mkdir $(BD)/rcc;fi
|
||||
@if [ ! -d $(BD)/cpp ];then mkdir $(BD)/cpp;fi
|
||||
@if [ ! -d $(BD)/lburg ];then mkdir $(BD)/lburg;fi
|
||||
|
||||
# ===== RCC =====
|
||||
RCCOBJS= \
|
||||
$(BD)rcc/alloc$(O) \
|
||||
$(BD)rcc/bind$(O) \
|
||||
$(BD)rcc/bytecode$(O) \
|
||||
$(BD)rcc/dag$(O) \
|
||||
$(BD)rcc/dagcheck$(O) \
|
||||
$(BD)rcc/decl$(O) \
|
||||
$(BD)rcc/enode$(O) \
|
||||
$(BD)rcc/error$(O) \
|
||||
$(BD)rcc/event$(O) \
|
||||
$(BD)rcc/expr$(O) \
|
||||
$(BD)rcc/gen$(O) \
|
||||
$(BD)rcc/init$(O) \
|
||||
$(BD)rcc/inits$(O) \
|
||||
$(BD)rcc/input$(O) \
|
||||
$(BD)rcc/lex$(O) \
|
||||
$(BD)rcc/list$(O) \
|
||||
$(BD)rcc/main$(O) \
|
||||
$(BD)rcc/null$(O) \
|
||||
$(BD)rcc/output$(O) \
|
||||
$(BD)rcc/prof$(O) \
|
||||
$(BD)rcc/profio$(O) \
|
||||
$(BD)rcc/simp$(O) \
|
||||
$(BD)rcc/stmt$(O) \
|
||||
$(BD)rcc/string$(O) \
|
||||
$(BD)rcc/sym$(O) \
|
||||
$(BD)rcc/symbolic$(O) \
|
||||
$(BD)rcc/trace$(O) \
|
||||
$(BD)rcc/tree$(O) \
|
||||
$(BD)rcc/types$(O)
|
||||
|
||||
$(BD)q3rcc$(E): $(RCCOBJS)
|
||||
$(LD) $(LDFLAGS) -o $@ $(RCCOBJS)
|
||||
|
||||
$(BD)rcc/%$(O): src/%.c
|
||||
$(CC) $(LCC_CFLAGS) -c -Isrc -o $@ $<
|
||||
|
||||
$(BD)rcc/dagcheck$(O): $(BD)rcc/dagcheck.c
|
||||
$(CC) $(LCC_CFLAGS) -Wno-unused -c -Isrc -o $@ $<
|
||||
|
||||
$(BD)rcc/dagcheck.c: $(BD)lburg/lburg$(E) src/dagcheck.md
|
||||
$(BD)lburg/lburg$(E) src/dagcheck.md $@
|
||||
|
||||
|
||||
# ===== LBURG =====
|
||||
LBURGOBJS= \
|
||||
$(BD)lburg/lburg$(O) \
|
||||
$(BD)lburg/gram$(O)
|
||||
|
||||
$(BD)lburg/lburg$(E): $(LBURGOBJS)
|
||||
$(LD) $(LDFLAGS) -o $@ $(LBURGOBJS)
|
||||
|
||||
$(BD)lburg/%$(O): lburg/%.c
|
||||
$(CC) $(LCC_CFLAGS) -c -Ilburg -o $@ $<
|
||||
|
||||
|
||||
# ===== CPP =====
|
||||
CPPOBJS= \
|
||||
$(BD)cpp/cpp$(O) \
|
||||
$(BD)cpp/lex$(O) \
|
||||
$(BD)cpp/nlist$(O) \
|
||||
$(BD)cpp/tokens$(O) \
|
||||
$(BD)cpp/macro$(O) \
|
||||
$(BD)cpp/eval$(O) \
|
||||
$(BD)cpp/include$(O) \
|
||||
$(BD)cpp/hideset$(O) \
|
||||
$(BD)cpp/getopt$(O) \
|
||||
$(BD)cpp/unix$(O)
|
||||
|
||||
$(BD)q3cpp$(E): $(CPPOBJS)
|
||||
$(LD) $(LDFLAGS) -o $@ $(CPPOBJS)
|
||||
|
||||
$(BD)cpp/%$(O): cpp/%.c
|
||||
$(CC) $(LCC_CFLAGS) -c -Icpp -o $@ $<
|
||||
|
||||
|
||||
# ===== LCC =====
|
||||
LCCOBJS= \
|
||||
$(BD)etc/lcc$(O) \
|
||||
$(BD)etc/bytecode$(O)
|
||||
|
||||
$(BD)q3lcc$(E): $(LCCOBJS)
|
||||
$(LD) $(LDFLAGS) -o $@ $(LCCOBJS)
|
||||
|
||||
$(BD)etc/%$(O): etc/%.c
|
||||
$(CC) $(LCC_CFLAGS) -DTEMPDIR=\"$(TEMPDIR)\" -DSYSTEM=\"\" -c -Isrc -o $@ $<
|
||||
|
||||
|
||||
install: q3lcc q3cpp q3rcc
|
||||
$(INSTALL) -s -m 0755 $(BD)q3lcc$(E) ../
|
||||
$(INSTALL) -s -m 0755 $(BD)q3cpp$(E) ../
|
||||
$(INSTALL) -s -m 0755 $(BD)q3rcc$(E) ../
|
||||
|
||||
uninstall:
|
||||
-$(RM) ../q3lcc$(E)
|
||||
-$(RM) ../q3cpp$(E)
|
||||
-$(RM) ../q3rcc$(E)
|
||||
|
||||
clean:
|
||||
if [ -d $(BD) ];then (find $(BD) -name '*.d' -exec rm {} \;)fi
|
||||
$(RM) $(RCCOBJS) $(LBURGOBJS) $(CPPOBJS) $(LCCOBJS)
|
||||
$(RM) $(BD)rcc/dagcheck.c $(BD)lburg/lburg$(E)
|
||||
$(RM) $(BD)q3lcc$(E) $(BD)q3cpp$(E) $(BD)q3rcc$(E)
|
||||
$(RM) -r $(BD)
|
||||
|
||||
D_FILES=$(shell find . -name '*.d')
|
||||
|
||||
ifneq ($(strip $(D_FILES)),)
|
||||
include $(D_FILES)
|
||||
endif
|
Loading…
Add table
Add a link
Reference in a new issue