WIP clang makefile (doesn't link)
This commit is contained in:
parent
e87fad18db
commit
0fc558acb6
31
makefile
31
makefile
@ -1,19 +1,32 @@
|
||||
ifndef CLANG
|
||||
CXX=$(shell sh -c "which g++-6 || which g++")
|
||||
CC=$(shell sh -c "which gcc-6 || which gcc")
|
||||
LD=$(CXX)
|
||||
else
|
||||
CXX=clang++
|
||||
CC=clang
|
||||
LD=ld.lld
|
||||
endif
|
||||
|
||||
DEFINES=_GLIBCXX_USE_CXX11_ABI=0 _POSIX=1 FREETYPE_GL_USE_VAO RAD_TELEMETRY_DISABLED LINUX=1 USE_SDL _LINUX=1 POSIX=1 GNUC=1 NO_MALLOC_OVERRIDE
|
||||
|
||||
WARNING_FLAGS=-pedantic -Wall -Wextra -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Wdisabled-optimization -Wformat=2 -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-include-dirs -Wnoexcept -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-conversion -Wsign-promo -Wstrict-null-sentinel -Wstrict-overflow=5 -Wswitch-default -Wundef
|
||||
COMMON_FLAGS=-fpermissive -O3 -shared -Wno-unknown-pragmas -fmessage-length=0 -m32 -fvisibility=hidden -fPIC -march=native
|
||||
COMMON_FLAGS=-fpermissive -O3 -shared -Wno-unknown-pragmas -fmessage-length=0 -m32 -fvisibility=hidden -fPIC -march=native -mtune=native
|
||||
|
||||
ifdef CLANG
|
||||
COMMON_FLAGS+=-Wno-c++11-narrowing
|
||||
endif
|
||||
|
||||
ifdef BUILD_DEBUG
|
||||
COMMON_FLAGS+=-g3 -ggdb
|
||||
else
|
||||
ifndef CLANG
|
||||
COMMON_FLAGS+=-flto
|
||||
endif
|
||||
endif
|
||||
|
||||
CFLAGS=$(COMMON_FLAGS)
|
||||
CXXFLAGS=-std=gnu++1z $(COMMON_FLAGS)
|
||||
CXXFLAGS=-std=gnu++14 $(COMMON_FLAGS)
|
||||
|
||||
ifndef NO_WARNINGS
|
||||
CFLAGS+=$(WARNING_FLAGS)
|
||||
@ -27,11 +40,19 @@ SDKFOLDER=$(realpath source-sdk-2013/mp/src)
|
||||
SIMPLE_IPC_DIR = $(realpath simple-ipc/src/include)
|
||||
INCLUDES=-Iucccccp -isystemsrc/freetype-gl -isystemsrc/imgui -isystem/usr/local/include/freetype2 -isystem/usr/include/freetype2 -I$(SIMPLE_IPC_DIR) -isystem$(SDKFOLDER)/public -isystem$(SDKFOLDER)/mathlib -isystem$(SDKFOLDER)/common -isystem$(SDKFOLDER)/public/tier1 -isystem$(SDKFOLDER)/public/tier0 -isystem$(SDKFOLDER)
|
||||
LIB_DIR=lib
|
||||
LDFLAGS=-m32 -fno-gnu-unique -D_GLIBCXX_USE_CXX11_ABI=0 -shared -L$(realpath $(LIB_DIR))
|
||||
LDFLAGS=-shared -L$(realpath $(LIB_DIR))
|
||||
ifdef CLANG
|
||||
LDFLAGS+=-melf_i386
|
||||
else
|
||||
LDFLAGS+=-m32 -fno-gnu-unique
|
||||
endif
|
||||
|
||||
ifndef BUILD_DEBUG
|
||||
ifndef CLANG
|
||||
LDFLAGS+=-flto
|
||||
endif
|
||||
LDLIBS=-static -lc -lstdc++ -ltier0 -lvstdlib -l:libSDL2-2.0.so.0 -static -lGLEW -lfreetype -lpthread
|
||||
endif
|
||||
LDLIBS=-l:libSDL2-2.0.so.0 -static -l:libc.so.6 -static -l:libstdc++.so.6 -l:libtier0.so -l:libvstdlib.so -static -l:libGLEW.so -l:libfreetype.so
|
||||
SRC_DIR = src
|
||||
RES_DIR = res
|
||||
OUT_NAME = libcathook.so
|
||||
@ -126,7 +147,7 @@ src/sdk/utlbuffer.o : CFLAGS+=-w
|
||||
|
||||
$(TARGET): $(OBJECTS)
|
||||
@echo Building cathook
|
||||
@$(CXX) $(LDFLAGS) $(OBJECTS) $(LDLIBS) -o $(TARGET)
|
||||
$(LD) -o $(TARGET) $(LDFLAGS) $(OBJECTS) $(LDLIBS)
|
||||
|
||||
clean:
|
||||
find src -type f -name '*.o' -delete
|
||||
|
@ -7,6 +7,8 @@
|
||||
|
||||
#include "Schema.hpp"
|
||||
|
||||
|
||||
#include "../../helpers.h"
|
||||
#include "../../cvwrapper.h"
|
||||
#include "../../logging.h"
|
||||
|
||||
@ -23,13 +25,12 @@ CatVar* FindCatVar(const std::string name) {
|
||||
ListEntry_Dummy* FromJson(nlohmann::json json) {
|
||||
if (json.is_string()) {
|
||||
const std::string var_name = json;
|
||||
logging::Info("[Debug] Variable: %s", var_name.c_str());
|
||||
ListEntry_Dummy* cv;
|
||||
try {
|
||||
cv = (ListEntry_Dummy*)(new ListEntry_Variable(*FindCatVar(var_name)));
|
||||
} catch (std::runtime_error& er) {
|
||||
logging::Info("[Error] %s", er.what());
|
||||
cv = (ListEntry_Dummy*)(new ListEntry_Label("malformed object"));
|
||||
cv = (ListEntry_Dummy*)(new ListEntry_Label(format("[", var_name, "]")));
|
||||
}
|
||||
return cv;
|
||||
} else if (json.is_object()) {
|
||||
@ -129,7 +130,7 @@ CatCommand reloadscheme("reloadscheme", "Reload Scheme", []() {
|
||||
}
|
||||
for (const auto& v : CatVarList()) {
|
||||
if (map_present.find(v) == map_present.end()) {
|
||||
logging::Info("%s is not in any list!", v->name.c_str());
|
||||
logging::Info("%s is not present in the GUI!", v->name.c_str());
|
||||
}
|
||||
}
|
||||
//TraverseList(&main_list);
|
||||
|
@ -12,7 +12,7 @@ namespace hacks { namespace shared { namespace lagexploit {
|
||||
CatVar toggle(CV_SWITCH, "removecond_toggle", "0", "Toggle Lag Exploit", "Toggle lag exploit (RemoveCond)");
|
||||
CatVar key(CV_KEY, "removecond_key", "0", "RemoveCond Key");
|
||||
CatVar lagMasterSwitch(CV_SWITCH, "removecond_master", "1", "Master Lag Exploit Switch", "Master switch for the lag exploit\nDisabling this disables everything else that uses remove conds");
|
||||
CatVar lagValue(CV_INT, "removecond_value", "450", "RemoveCond Value", "Value of user cmds to spam with");
|
||||
CatVar lagValue(CV_INT, "removecond_value", "900", "RemoveCond Value", "Value of user cmds to spam with");
|
||||
|
||||
CatCommand do_lagexploit("removecond", "RemoveCond (for use in scripts)", []() {
|
||||
AddExploitTicks(6);
|
||||
|
Reference in New Issue
Block a user