mirror of
https://github.com/simtactics/niotso.git
synced 2025-03-22 10:52:20 +00:00
In the process of setting up a convenient Makefile build system
This commit is contained in:
parent
8a16e52bf6
commit
1a279588f1
16 changed files with 378 additions and 22 deletions
274
Client/Audio/windows/xaudio2.hpp
Normal file
274
Client/Audio/windows/xaudio2.hpp
Normal file
|
@ -0,0 +1,274 @@
|
||||||
|
/*
|
||||||
|
xaudio2.hpp (2010-08-14)
|
||||||
|
author: OV2
|
||||||
|
|
||||||
|
ruby-specific header to provide mingw-friendly xaudio2 interfaces
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
#undef NULL
|
||||||
|
#define NULL 0
|
||||||
|
|
||||||
|
#include <initguid.h>
|
||||||
|
#include <mmreg.h>
|
||||||
|
|
||||||
|
DEFINE_GUID(CLSID_XAudio2, 0xe21a7345, 0xeb21, 0x468e, 0xbe, 0x50, 0x80, 0x4d, 0xb9, 0x7c, 0xf7, 0x08);
|
||||||
|
DEFINE_GUID(CLSID_XAudio2_Debug, 0xf7a76c21, 0x53d4, 0x46bb, 0xac, 0x53, 0x8b, 0x45, 0x9c, 0xae, 0x46, 0xbd);
|
||||||
|
DEFINE_GUID(IID_IXAudio2, 0x8bcf1f58, 0x9fe7, 0x4583, 0x8a, 0xc6, 0xe2, 0xad, 0xc4, 0x65, 0xc8, 0xbb);
|
||||||
|
|
||||||
|
DECLARE_INTERFACE(IXAudio2Voice);
|
||||||
|
|
||||||
|
#define XAUDIO2_COMMIT_NOW 0
|
||||||
|
#define XAUDIO2_DEFAULT_CHANNELS 0
|
||||||
|
#define XAUDIO2_DEFAULT_SAMPLERATE 0
|
||||||
|
#define XAUDIO2_DEFAULT_FREQ_RATIO 4.0f
|
||||||
|
#define XAUDIO2_DEBUG_ENGINE 0x0001
|
||||||
|
#define XAUDIO2_VOICE_NOSRC 0x0004
|
||||||
|
|
||||||
|
enum XAUDIO2_DEVICE_ROLE
|
||||||
|
{
|
||||||
|
NotDefaultDevice = 0x0,
|
||||||
|
DefaultConsoleDevice = 0x1,
|
||||||
|
DefaultMultimediaDevice = 0x2,
|
||||||
|
DefaultCommunicationsDevice = 0x4,
|
||||||
|
DefaultGameDevice = 0x8,
|
||||||
|
GlobalDefaultDevice = 0xf,
|
||||||
|
InvalidDeviceRole = ~GlobalDefaultDevice
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XAUDIO2_DEVICE_DETAILS
|
||||||
|
{
|
||||||
|
WCHAR DeviceID[256];
|
||||||
|
WCHAR DisplayName[256];
|
||||||
|
XAUDIO2_DEVICE_ROLE Role;
|
||||||
|
WAVEFORMATEXTENSIBLE OutputFormat;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XAUDIO2_VOICE_DETAILS
|
||||||
|
{
|
||||||
|
UINT32 CreationFlags;
|
||||||
|
UINT32 InputChannels;
|
||||||
|
UINT32 InputSampleRate;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef enum XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER
|
||||||
|
{
|
||||||
|
Processor1 = 0x00000001,
|
||||||
|
Processor2 = 0x00000002,
|
||||||
|
Processor3 = 0x00000004,
|
||||||
|
Processor4 = 0x00000008,
|
||||||
|
Processor5 = 0x00000010,
|
||||||
|
Processor6 = 0x00000020,
|
||||||
|
Processor7 = 0x00000040,
|
||||||
|
Processor8 = 0x00000080,
|
||||||
|
Processor9 = 0x00000100,
|
||||||
|
Processor10 = 0x00000200,
|
||||||
|
Processor11 = 0x00000400,
|
||||||
|
Processor12 = 0x00000800,
|
||||||
|
Processor13 = 0x00001000,
|
||||||
|
Processor14 = 0x00002000,
|
||||||
|
Processor15 = 0x00004000,
|
||||||
|
Processor16 = 0x00008000,
|
||||||
|
Processor17 = 0x00010000,
|
||||||
|
Processor18 = 0x00020000,
|
||||||
|
Processor19 = 0x00040000,
|
||||||
|
Processor20 = 0x00080000,
|
||||||
|
Processor21 = 0x00100000,
|
||||||
|
Processor22 = 0x00200000,
|
||||||
|
Processor23 = 0x00400000,
|
||||||
|
Processor24 = 0x00800000,
|
||||||
|
Processor25 = 0x01000000,
|
||||||
|
Processor26 = 0x02000000,
|
||||||
|
Processor27 = 0x04000000,
|
||||||
|
Processor28 = 0x08000000,
|
||||||
|
Processor29 = 0x10000000,
|
||||||
|
Processor30 = 0x20000000,
|
||||||
|
Processor31 = 0x40000000,
|
||||||
|
Processor32 = 0x80000000,
|
||||||
|
XAUDIO2_ANY_PROCESSOR = 0xffffffff,
|
||||||
|
XAUDIO2_DEFAULT_PROCESSOR = XAUDIO2_ANY_PROCESSOR
|
||||||
|
} XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER, XAUDIO2_PROCESSOR;
|
||||||
|
|
||||||
|
struct XAUDIO2_VOICE_SENDS
|
||||||
|
{
|
||||||
|
UINT32 OutputCount;
|
||||||
|
IXAudio2Voice* *pOutputVoices;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XAUDIO2_EFFECT_DESCRIPTOR
|
||||||
|
{
|
||||||
|
IUnknown *pEffect;
|
||||||
|
BOOL InitialState;
|
||||||
|
UINT32 OutputChannels;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XAUDIO2_EFFECT_CHAIN
|
||||||
|
{
|
||||||
|
UINT32 EffectCount;
|
||||||
|
const XAUDIO2_EFFECT_DESCRIPTOR *pEffectDescriptors;
|
||||||
|
};
|
||||||
|
|
||||||
|
enum XAUDIO2_FILTER_TYPE
|
||||||
|
{
|
||||||
|
LowPassFilter,
|
||||||
|
BandPassFilter,
|
||||||
|
HighPassFilter
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XAUDIO2_FILTER_PARAMETERS
|
||||||
|
{
|
||||||
|
XAUDIO2_FILTER_TYPE Type;
|
||||||
|
float Frequency;
|
||||||
|
float OneOverQ;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XAUDIO2_BUFFER
|
||||||
|
{
|
||||||
|
UINT32 Flags;
|
||||||
|
UINT32 AudioBytes;
|
||||||
|
const BYTE *pAudioData;
|
||||||
|
UINT32 PlayBegin;
|
||||||
|
UINT32 PlayLength;
|
||||||
|
UINT32 LoopBegin;
|
||||||
|
UINT32 LoopLength;
|
||||||
|
UINT32 LoopCount;
|
||||||
|
void *pContext;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XAUDIO2_BUFFER_WMA
|
||||||
|
{
|
||||||
|
const UINT32 *pDecodedPacketCumulativeBytes;
|
||||||
|
UINT32 PacketCount;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XAUDIO2_VOICE_STATE
|
||||||
|
{
|
||||||
|
void *pCurrentBufferContext;
|
||||||
|
UINT32 BuffersQueued;
|
||||||
|
UINT64 SamplesPlayed;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XAUDIO2_PERFORMANCE_DATA
|
||||||
|
{
|
||||||
|
UINT64 AudioCyclesSinceLastQuery;
|
||||||
|
UINT64 TotalCyclesSinceLastQuery;
|
||||||
|
UINT32 MinimumCyclesPerQuantum;
|
||||||
|
UINT32 MaximumCyclesPerQuantum;
|
||||||
|
UINT32 MemoryUsageInBytes;
|
||||||
|
UINT32 CurrentLatencyInSamples;
|
||||||
|
UINT32 GlitchesSinceEngineStarted;
|
||||||
|
UINT32 ActiveSourceVoiceCount;
|
||||||
|
UINT32 TotalSourceVoiceCount;
|
||||||
|
UINT32 ActiveSubmixVoiceCount;
|
||||||
|
UINT32 TotalSubmixVoiceCount;
|
||||||
|
UINT32 ActiveXmaSourceVoices;
|
||||||
|
UINT32 ActiveXmaStreams;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XAUDIO2_DEBUG_CONFIGURATION
|
||||||
|
{
|
||||||
|
UINT32 TraceMask;
|
||||||
|
UINT32 BreakMask;
|
||||||
|
BOOL LogThreadID;
|
||||||
|
BOOL LogFileline;
|
||||||
|
BOOL LogFunctionName;
|
||||||
|
BOOL LogTiming;
|
||||||
|
};
|
||||||
|
|
||||||
|
DECLARE_INTERFACE(IXAudio2EngineCallback)
|
||||||
|
{
|
||||||
|
STDMETHOD_(void, OnProcessingPassStart) (void);
|
||||||
|
STDMETHOD_(void, OnProcessingPassEnd) (void);
|
||||||
|
STDMETHOD_(void, OnCriticalError) (HRESULT Error);
|
||||||
|
};
|
||||||
|
|
||||||
|
DECLARE_INTERFACE(IXAudio2VoiceCallback)
|
||||||
|
{
|
||||||
|
STDMETHOD_(void, OnVoiceProcessingPassStart) (UINT32 BytesRequired);
|
||||||
|
STDMETHOD_(void, OnVoiceProcessingPassEnd) (void);
|
||||||
|
STDMETHOD_(void, OnStreamEnd) (void);
|
||||||
|
STDMETHOD_(void, OnBufferStart) (void *pBufferContext);
|
||||||
|
STDMETHOD_(void, OnBufferEnd) (void *pBufferContext);
|
||||||
|
STDMETHOD_(void, OnLoopEnd) (void *pBufferContext);
|
||||||
|
STDMETHOD_(void, OnVoiceError) (void *pBufferContext, HRESULT Error);
|
||||||
|
};
|
||||||
|
|
||||||
|
DECLARE_INTERFACE(IXAudio2Voice)
|
||||||
|
{
|
||||||
|
STDMETHOD_(void, GetVoiceDetails) (XAUDIO2_VOICE_DETAILS *pVoiceDetails);
|
||||||
|
STDMETHOD(SetOutputVoices) (const XAUDIO2_VOICE_SENDS *pSendList);
|
||||||
|
STDMETHOD(SetEffectChain) (const XAUDIO2_EFFECT_CHAIN *pEffectChain);
|
||||||
|
STDMETHOD(EnableEffect) (UINT32 EffectIndex, UINT32 OperationSet = XAUDIO2_COMMIT_NOW);
|
||||||
|
STDMETHOD(DisableEffect) (UINT32 EffectIndex, UINT32 OperationSet = XAUDIO2_COMMIT_NOW);
|
||||||
|
STDMETHOD_(void, GetEffectState) (UINT32 EffectIndex, BOOL *pEnabled);
|
||||||
|
STDMETHOD(SetEffectParameters) (UINT32 EffectIndex, const void *pParameters, UINT32 ParametersByteSize,
|
||||||
|
UINT32 OperationSet = XAUDIO2_COMMIT_NOW);
|
||||||
|
STDMETHOD(GetEffectParameters) (UINT32 EffectIndex, void *pParameters, UINT32 ParametersByteSize);
|
||||||
|
STDMETHOD(SetFilterParameters) (const XAUDIO2_FILTER_PARAMETERS *pParameters, UINT32 OperationSet = XAUDIO2_COMMIT_NOW);
|
||||||
|
STDMETHOD_(void, GetFilterParameters) (XAUDIO2_FILTER_PARAMETERS *pParameters);
|
||||||
|
STDMETHOD(SetVolume) (float Volume, UINT32 OperationSet = XAUDIO2_COMMIT_NOW);
|
||||||
|
STDMETHOD_(void, GetVolume) (float *pVolume);
|
||||||
|
STDMETHOD(SetChannelVolumes) (UINT32 Channels, const float *pVolumes, UINT32 OperationSet = XAUDIO2_COMMIT_NOW);
|
||||||
|
STDMETHOD_(void, GetChannelVolumes) (UINT32 Channels, float *pVolumes);
|
||||||
|
STDMETHOD(SetOutputMatrix) (IXAudio2Voice *pDestinationVoice, UINT32 SourceChannels, UINT32 DestinationChannels,
|
||||||
|
const float *pLevelMatrix, UINT32 OperationSet = XAUDIO2_COMMIT_NOW);
|
||||||
|
STDMETHOD_(void, GetOutputMatrix) (IXAudio2Voice *pDestinationVoice, UINT32 SourceChannels,
|
||||||
|
UINT32 DestinationChannels, float *pLevelMatrix);
|
||||||
|
STDMETHOD_(void, DestroyVoice) (void);
|
||||||
|
};
|
||||||
|
|
||||||
|
DECLARE_INTERFACE_(IXAudio2MasteringVoice, IXAudio2Voice){};
|
||||||
|
|
||||||
|
DECLARE_INTERFACE_(IXAudio2SubmixVoice, IXAudio2Voice){};
|
||||||
|
|
||||||
|
DECLARE_INTERFACE_(IXAudio2SourceVoice, IXAudio2Voice)
|
||||||
|
{
|
||||||
|
STDMETHOD(Start) (UINT32 Flags, UINT32 OperationSet = XAUDIO2_COMMIT_NOW);
|
||||||
|
STDMETHOD(Stop) (UINT32 Flags, UINT32 OperationSet = XAUDIO2_COMMIT_NOW);
|
||||||
|
STDMETHOD(SubmitSourceBuffer) (const XAUDIO2_BUFFER *pBuffer, const XAUDIO2_BUFFER_WMA *pBufferWMA = NULL);
|
||||||
|
STDMETHOD(FlushSourceBuffers) (void);
|
||||||
|
STDMETHOD(Discontinuity) (void);
|
||||||
|
STDMETHOD(ExitLoop) (UINT32 OperationSet = XAUDIO2_COMMIT_NOW);
|
||||||
|
STDMETHOD_(void, GetState) (XAUDIO2_VOICE_STATE *pVoiceState);
|
||||||
|
STDMETHOD(SetFrequencyRatio) (float Ratio, UINT32 OperationSet = XAUDIO2_COMMIT_NOW);
|
||||||
|
STDMETHOD_(void, GetFrequencyRatio) (float *pRatio);
|
||||||
|
};
|
||||||
|
|
||||||
|
DECLARE_INTERFACE_(IXAudio2, IUnknown)
|
||||||
|
{
|
||||||
|
STDMETHOD(GetDeviceCount) (UINT32 *pCount);
|
||||||
|
STDMETHOD(GetDeviceDetails) (UINT32 Index, XAUDIO2_DEVICE_DETAILS *pDeviceDetails);
|
||||||
|
STDMETHOD(Initialize) (UINT32 Flags = 0, XAUDIO2_PROCESSOR XAudio2Processor = XAUDIO2_DEFAULT_PROCESSOR);
|
||||||
|
STDMETHOD(RegisterForCallbacks) (IXAudio2EngineCallback *pCallback);
|
||||||
|
STDMETHOD_(void, UnregisterForCallbacks) (IXAudio2EngineCallback *pCallback);
|
||||||
|
STDMETHOD(CreateSourceVoice) (IXAudio2SourceVoice* *ppSourceVoice, const WAVEFORMATEX *pSourceFormat, UINT32 Flags = 0,
|
||||||
|
float MaxFrequencyRatio = XAUDIO2_DEFAULT_FREQ_RATIO, IXAudio2VoiceCallback *pCallback = NULL,
|
||||||
|
const XAUDIO2_VOICE_SENDS *pSendList = NULL, const XAUDIO2_EFFECT_CHAIN *pEffectChain = NULL);
|
||||||
|
STDMETHOD(CreateSubmixVoice) (IXAudio2SubmixVoice* *ppSubmixVoice, UINT32 InputChannels, UINT32 InputSampleRate,
|
||||||
|
UINT32 Flags = 0, UINT32 ProcessingStage = 0, const XAUDIO2_VOICE_SENDS *pSendList = NULL,
|
||||||
|
const XAUDIO2_EFFECT_CHAIN *pEffectChain = NULL);
|
||||||
|
STDMETHOD(CreateMasteringVoice) (IXAudio2MasteringVoice* *ppMasteringVoice,
|
||||||
|
UINT32 InputChannels = XAUDIO2_DEFAULT_CHANNELS, UINT32 InputSampleRate = XAUDIO2_DEFAULT_SAMPLERATE,
|
||||||
|
UINT32 Flags = 0, UINT32 DeviceIndex = 0, const XAUDIO2_EFFECT_CHAIN *pEffectChain = NULL);
|
||||||
|
STDMETHOD(StartEngine) (void);
|
||||||
|
STDMETHOD_(void, StopEngine) (void);
|
||||||
|
STDMETHOD(CommitChanges) (UINT32 OperationSet);
|
||||||
|
STDMETHOD_(void, GetPerformanceData) (XAUDIO2_PERFORMANCE_DATA *pPerfData);
|
||||||
|
STDMETHOD_(void, SetDebugConfiguration) (const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration, void *pReserved = NULL);
|
||||||
|
};
|
||||||
|
|
||||||
|
inline HRESULT XAudio2Create(IXAudio2* *ppXAudio2, UINT32 Flags = 0,
|
||||||
|
XAUDIO2_PROCESSOR XAudio2Processor = XAUDIO2_DEFAULT_PROCESSOR)
|
||||||
|
{
|
||||||
|
IXAudio2 *pXAudio2;
|
||||||
|
HRESULT hr = CoCreateInstance((Flags & XAUDIO2_DEBUG_ENGINE) ? CLSID_XAudio2_Debug : CLSID_XAudio2, NULL,
|
||||||
|
CLSCTX_INPROC_SERVER, IID_IXAudio2, (void**)&pXAudio2);
|
||||||
|
if(SUCCEEDED(hr)){
|
||||||
|
hr = pXAudio2->Initialize(Flags, XAudio2Processor);
|
||||||
|
if(SUCCEEDED(hr))
|
||||||
|
*ppXAudio2 = pXAudio2;
|
||||||
|
else
|
||||||
|
pXAudio2->Release();
|
||||||
|
}
|
||||||
|
return hr;
|
||||||
|
}
|
|
@ -1,4 +0,0 @@
|
||||||
class Scene {
|
|
||||||
public:
|
|
||||||
virtual int Logic(int Message, int ParamA, int ParamB);
|
|
||||||
}
|
|
|
@ -1,15 +0,0 @@
|
||||||
class LoadScreen : public Scene {
|
|
||||||
private:
|
|
||||||
Graphics::Image Background, StatusString[9];
|
|
||||||
|
|
||||||
public:
|
|
||||||
int Logic(int Message, int ParamA, int ParamB);
|
|
||||||
int Render();
|
|
||||||
|
|
||||||
enum Message {
|
|
||||||
msg_MaxisLogo = 0x00010000,
|
|
||||||
msg_SlidingText,
|
|
||||||
msg_JobComplete,
|
|
||||||
msg_LoginSuccessful
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,8 +1,14 @@
|
||||||
All you need installed to compile Niotso for Windows, Linux, or Mac is GCC.
|
All you need installed to compile Niotso for Windows, Linux, or Mac is GCC 4.6 or newer.
|
||||||
|
|
||||||
Run "make" in this directory to compile every package.
|
Run "make" in this directory to compile every package. -j # will greatly speed up the compile time for processors with # cores.
|
||||||
Run "make install" after compiling to install Niotso to your game directory; please specify it first in the Makefile.
|
Run "make install" after compiling to install Niotso to your game directory; please specify it first in the Makefile.
|
||||||
|
|
||||||
Run "make objclean" to delete all object files created during compilation.
|
Run "make objclean" to delete all object files created during compilation.
|
||||||
Run "make clean" to delete all object files and executable files created during compilation.
|
Run "make clean" to delete all object files and executable files created during compilation.
|
||||||
|
Run "make distclean" to delete all files of any kind created during compilation. (Includes profile-collection files.)
|
||||||
Run "make uninstall" to delete Niotso from your game directory.
|
Run "make uninstall" to delete Niotso from your game directory.
|
||||||
|
Run "make uninstall_all" to delete Niotso from your game directory as well as all Niotso.ini files created by Niotso.
|
||||||
|
|
||||||
|
Run "make <component>" to compile only a specific package.
|
||||||
|
For a list of packages, see packages.makefile.
|
||||||
|
Note that packages must and will compile any other packages required as a dependency.
|
7
Documentation.txt
Normal file
7
Documentation.txt
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
All documentation is centralized online rather than scattered around the codebase.
|
||||||
|
|
||||||
|
For documentation regarding the packages in the repository, that will be at Trac:
|
||||||
|
http://trac-hg.assembla.com/niotso
|
||||||
|
|
||||||
|
For all other documentation (including format specifications), that will be at Niotso Wiki:
|
||||||
|
http://wiki.niotso.org
|
1
Libraries/FileHandler/Makefile
Normal file
1
Libraries/FileHandler/Makefile
Normal file
|
@ -0,0 +1 @@
|
||||||
|
filehandler: bmp cmx ini libfar libjpeg-turbo libpng mpg123 tga vtd-xml wav xa zlib
|
0
Libraries/FileHandler/wav/Makefile
Normal file
0
Libraries/FileHandler/wav/Makefile
Normal file
0
Libraries/FileHandler/xa/Makefile
Normal file
0
Libraries/FileHandler/xa/Makefile
Normal file
78
Makefile
78
Makefile
|
@ -0,0 +1,78 @@
|
||||||
|
#######################################
|
||||||
|
#### Makefile for compiling Niotso ####
|
||||||
|
|
||||||
|
# Environment (valid options: cmd posix)
|
||||||
|
buildenv = cmd
|
||||||
|
|
||||||
|
# Installation directory (do not use backslashes)
|
||||||
|
installdir = c:/Program Files (x86)/Maxis/The Sims Online/Niotso
|
||||||
|
|
||||||
|
# Profile-guided optimization (valid options: none instrument optimize)
|
||||||
|
pgo = none
|
||||||
|
|
||||||
|
CC = gcc
|
||||||
|
LD = gcc
|
||||||
|
AR = ar
|
||||||
|
RC = windres
|
||||||
|
|
||||||
|
# Base options
|
||||||
|
CFLAGS = -m32 -mmx -sse -sse2 -sse3 -mfpmath=both -msahf
|
||||||
|
LDFLAGS = -m32 -static -static-libgcc
|
||||||
|
ARFLAGS = rcs
|
||||||
|
RCFLAGS = -F pe-i386
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
## [Profiles]
|
||||||
|
|
||||||
|
# Size
|
||||||
|
CFLAGS_SIZE = $(CFLAGS) -Os -g0 -fomit-frame-pointer -ffast-math -fmerge-all-constants -funsafe-loop-optimizations -fsched-pressure -fno-enforce-eh-specs
|
||||||
|
LDFLAGS_SIZE = $(LDFLAGS) -s
|
||||||
|
|
||||||
|
# Speed
|
||||||
|
CFLAGS_SPEED = $(CFLAGS) -O3 -g0 -fomit-frame-pointer -ffast-math -fmerge-all-constants -funsafe-loop-optimizations -fsched-pressure -fno-enforce-eh-specs -fmodulo-sched -fmodulo-sched-allow-regmoves -fgcse-sm -fgcse-las -fsched-spec-load -fsched-spec-load-dangerous -fsched-stalled-insns=0 -fsched-stalled-insns-dep -fsched2-use-superblocks -fipa-pta -fipa-matrix-reorg -ftree-loop-linear -floop-interchange -floop-strip-mine -floop-block -fgraphite-identity -floop-parallelize-all -ftree-loop-distribution -ftree-loop-im -ftree-loop-ivcanon -fivopts -fvect-cost-model -fvariable-expansion-in-unroller -fbranch-target-load-optimize -maccumulate-outgoing-args -fwhole-program -flto
|
||||||
|
LDFLAGS_SPEED = $(LDFLAGS) -s -flto
|
||||||
|
|
||||||
|
# Debug
|
||||||
|
CFLAGS_DEBUG = $(CFLAGS) -O0 -g3
|
||||||
|
LDFLAGS_DEBUG = $(LDFLAGS)
|
||||||
|
|
||||||
|
WARNINGS = -Wall -Wextra -pedantic
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
## [Miscellaneous]
|
||||||
|
|
||||||
|
ifeq ($(buildenv),cmd)
|
||||||
|
RM_R = -@del /s /q
|
||||||
|
CP_F = copy /y
|
||||||
|
EXE = .exe
|
||||||
|
DLL = .dll
|
||||||
|
else
|
||||||
|
RM_R = -@rm -r
|
||||||
|
CP_F = cp -f
|
||||||
|
EXE =
|
||||||
|
DLL = .so
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(pgo),instrument)
|
||||||
|
CFLAGS += -fprofile-generate
|
||||||
|
LDFLAGS += -lgcov
|
||||||
|
else ifeq ($(pgo),optimize)
|
||||||
|
CFLAGS += -fprofile-use
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
## [Targets]
|
||||||
|
|
||||||
|
include packages.makefile
|
||||||
|
|
||||||
|
objclean:
|
||||||
|
$(RM_R) *.o *.lo *.la *.Plo *.Pla *.gch *.pch *.obj *.res
|
||||||
|
|
||||||
|
clean: objclean
|
||||||
|
$(RM_R) *.exe *.dll *.so *.a *.lib
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
|
$(RM_R) *.gcda
|
0
Server/Makefile
Normal file
0
Server/Makefile
Normal file
9
packages.makefile
Normal file
9
packages.makefile
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
####
|
||||||
|
## [Packages]
|
||||||
|
|
||||||
|
all: client filehandler server fardive
|
||||||
|
|
||||||
|
include Client/Makefile
|
||||||
|
include Libraries/FileHandler/Makefile
|
||||||
|
include Server/Makefile
|
||||||
|
include Tools/FARDive/Makefile
|
Loading…
Add table
Reference in a new issue