diff --git a/luprex/Makefile b/luprex/Makefile index 7737df4b..18960b00 100644 --- a/luprex/Makefile +++ b/luprex/Makefile @@ -108,34 +108,18 @@ OBJ_DRV=\ ## ####################################################################### - ifeq "$(OS)" "linux" - -OPT=-g -O0 -GPP=g++ -Wall -fvisibility=hidden $(OPT) -std=c++17 -MMD -LIB_SSL=-L./ext/openssl-3.0.1/lib/linux -lssl -lcrypto -LIB_OS=-ldl - -all: luprex luprexlib.so luprexstatic - -luprex: $(OBJ_DRV) luprexlib.so - $(GPP) $(OBJ_DRV) $(LIB_SSL) $(LIB_OS) -o $@ - -luprexlib.so: $(OBJ_ERIS) $(OBJ_CORE) - $(GPP) -export-dynamic -Wl,--no-allow-shlib-undefined -Wl,-z,defs -shared -o $@ $^ - -luprexstatic: $(OBJ_DRV) $(OBJ_ERIS) $(OBJ_CORE) - $(GPP) $(OBJ_DRV) $(OBJ_ERIS) $(OBJ_CORE) $(LIB_SSL) $(LIB_OS) -o $@ - -obj/eris/%.obj: ext/eris-master/src/%.c - $(GPP) -fPIC -DLUA_USE_APICHECK -DLUA_USE_POSIX -o $@ -c $< - -obj/core/%.obj: cpp/core/%.cpp - $(GPP) -fPIC -I./ext/eris-master/src -I./cpp/wrap -I./cpp/core -o $@ -c $< - -obj/drv/%.obj: cpp/drv/%.cpp - $(GPP) -I./ext -I./src/drv -o $@ -c $< - + OPT=-g -O0 + LUPREX_EXE=luprex + LUPREXLIB_DLL=luprexlib.so + LUPREXSTATIC_EXE=luprexstatic + MAKEDEPS=true + COMPILE=g++ -Wall $(OPT) -std=c++17 -fvisibility=hidden -c -MMD -fPIC -o + LINKDLL=g++ -Wall $(OPT) -std=c++17 -export-dynamic -Wl,--no-allow-shlib-undefined -Wl,-z,defs -shared -o + LINKEXE=g++ -Wall $(OPT) -std=c++17 -o + OPENSSL_INCLUDE=-I./ext/openssl-3.0.1/inc + LUA_FLAGS=-DLUA_USE_APICHECK -DLUA_USE_POSIX + LIBS=-L./ext/openssl-3.0.1/lib/linux -lssl -lcrypto -ldl endif @@ -146,27 +130,17 @@ endif ####################################################################### ifeq "$(OS)" "mingw" - -OPT=-g -O0 -GPP=g++ -Wall -fvisibility=hidden $(OPT) -std=c++17 -MMD - -luprex.exe: $(OBJ_DRV) driver-windows.o luprexlib.dll - $(GPP) -o $@ $(OBJ_DRV) driver-windows.o -L./ext/openssl-mingw -lssl -lcrypto -lws2_32 -lcrypt32 -lcryptui - ext/cv2pdb.exe luprex.exe - -luprexlib.dll: $(OBJ_ERIS) $(OBJ_CORE) - $(GPP) -Wl,--no-allow-shlib-undefined -shared -o $@ $^ - ext/cv2pdb.exe luprexlib.dll - -obj/eris/%.obj: ext/eris-master/src/%.c - $(GPP) -fPIC -DLUA_USE_APICHECK -DLUA_COMPAT_ALL -o $@ -c $< - -obj/core/%.obj: cpp/core/%.cpp - $(GPP) -fPIC -I./ext/eris-master/src -I./cpp/wrap -I./cpp/core -o $@ -c $< - -obj/drv/%.obj: cpp/drv/%.cpp - $(GPP) -I./ext -I./src/drv -o $@ -c $< - + OPT=-g -O0 + LUPREX_EXE=luprex.exe + LUPREXLIB_DLL=luprexlib.dll + LUPREXSTATIC_EXE=luprexstatic.exe + MAKEDEPS=true + COMPILE=g++ -Wall $(OPT) -std=c++17 -fvisibility=hidden -c -MMD -fPIC -o + LINKDLL=g++ -Wall $(OPT) -std=c++17 -Wl,--no-allow-shlib-undefined -shared -o + LINKEXE=g++ -Wall $(OPT) -std=c++17 -o + OPENSSL_INCLUDE=-I./ext/openssl-3.0.1/inc + LUA_FLAGS=-DLUA_USE_APICHECK -DLUA_COMPAT_ALL + LIBS=-L./ext/openssl-3.0.1/lib/mingw -lssl -lcrypto -lws2_32 -lcrypt32 -lcryptui endif @@ -177,60 +151,53 @@ endif ####################################################################### ifeq "$(OS)" "visual" - -ifeq "" "$(VSINSTALLDIR)" - $(error You must use vcvars64.bat to set up the visual studio environment variables) + ifeq "" "$(VSINSTALLDIR)" + $(error You must use vcvars64.bat to set up the visual studio environment variables) + endif + OPT=/Od /Zi + LUPREX_EXE=luprex.exe + LUPREXLIB_DLL=luprexlib.dll + LUPREXSTATIC_EXE=luprexstatic.exe + MAKEDEPS=g++ -Wall -std=c++17 -MMD -E -o + COMPILE=CL $(OPT) /std:c++17 /EHsc /nologo /MD /TP /c /Fo: + LINKDLL=CL $(OPT) /std:c++17 /EHsc /nologo /LDd /Fe: + LINKEXE=CL $(OPT) /std:c++17 /EHsc /nologo /Fe: + OPENSSL_INCLUDE=-I./ext/openssl-3.1.0/inc + LUA_FLAGS=-DLUA_USE_APICHECK -DLUA_COMPAT_ALL + LIBS=ext/openssl-3.1.0/lib/visual/libcrypto.lib ext/openssl-3.1.0/lib/visual/libssl.lib ws2_32.lib crypt32.lib cryptui.lib user32.lib advapi32.lib endif -OPT=/Od /Zi -MMD=g++ -Wall -std=c++17 -MMD -E -CL=CL $(OPT) /std:c++17 /EHsc /nologo /MD /TP /c -LINK=CL $(OPT) /std:c++17 /EHsc /nologo -LIB_SSL=ext/openssl-3.1.0/lib/visual/libcrypto.lib ext/openssl-3.1.0/lib/visual/libssl.lib -LIB_OS=ws2_32.lib crypt32.lib cryptui.lib user32.lib advapi32.lib +####################################################################### +## +## Make Rules +## +####################################################################### -all: luprex.exe luprexlib.dll luprexstatic.exe +all: $(LUPREX_EXE) $(LUPREXSTATIC_EXE) $(LUPREXLIB_DLL) -luprex.exe: luprexlib.dll $(OBJ_DRV) - $(LINK) /Fe: $@ $(OBJ_DRV) $(LIB_SSL) $(LIB_OS) +$(LUPREX_EXE): $(LUPREXLIB_DLL) $(OBJ_DRV) + $(LINKEXE) $@ $(OBJ_DRV) $(LIBS) -luprexlib.dll: $(OBJ_ERIS) $(OBJ_CORE) - $(LINK) /LDd /Fe: $@ $^ - -luprexstatic.exe: $(OBJ_DRV) $(OBJ_ERIS) $(OBJ_CORE) - $(LINK) /Fe: $@ $(OBJ_DRV) $(OBJ_ERIS) $(OBJ_CORE) $(LIB_SSL) $(LIB_OS) +$(LUPREXSTATIC_EXE): $(OBJ_DRV) $(OBJ_ERIS) $(OBJ_CORE) + $(LINKEXE) $@ $^ $(LIBS) +$(LUPREXLIB_DLL): $(OBJ_ERIS) $(OBJ_CORE) + $(LINKDLL) $@ $^ obj/eris/%.obj: ext/eris-master/src/%.c - $(GPCL) -DLUA_USE_APICHECK -DLUA_COMPAT_ALL -o $@d $< - $(VCCL) /DLUA_USE_APICHECK /DLUA_COMPAT_ALL /Fo: $@ $< + $(MAKEDEPS) $@d $(LUA_FLAGS) $< + $(COMPILE) $@ $(LUA_FLAGS) $< obj/core/%.obj: cpp/core/%.cpp - $(GPCL) -I./ext/eris-master/src -I./cpp/wrap -I./cpp/core -o $@d $< - $(VCCL) /I./ext/eris-master/src /I./cpp\wrap /I./cpp/core /Fo: $@ $< + $(MAKEDEPS) $@d -I./ext/eris-master/src -I./cpp/wrap -I./cpp/core $< + $(COMPILE) $@ -I./ext/eris-master/src -I./cpp\wrap -I./cpp/core $< obj/drv/%.obj: cpp/drv/%.cpp - $(GPCL) -I./ext/openssl-3.1.0/inc -I./src/drv -o $@d $< - $(VCCL) /I./ext/openssl-3.1.0/inc -I./src/drv /Fo: $@ $< - -endif - -####################################################################### -## -## Common Make Rules -## -####################################################################### - - -####################################################################### -## -## Make Clean, deliberately OS independent -## -####################################################################### + $(MAKEDEPS) $@d $(OPENSSL_INCLUDE) -I./src/drv $< + $(COMPILE) $@ $(OPENSSL_INCLUDE) -I./src/drv $< clean: - rm -f luprex luprex.exe luprexlib.so luprexlib.dll luprexstatic luprexstatic.exe *.ilk *.exp *.pdb obj/core/*.* obj/drv/*.* obj/eris/*.* - + rm -f luprex luprexstatic *.exe *.so *.dll *.ilk *.exp *.pdb *.lib obj/core/*.* obj/drv/*.* obj/eris/*.* ####################################################################### ## diff --git a/luprex/cpp/drv/driver.cpp b/luprex/cpp/drv/driver.cpp index a01eeb0d..8e4e4f19 100644 --- a/luprex/cpp/drv/driver.cpp +++ b/luprex/cpp/drv/driver.cpp @@ -1,7 +1,7 @@ #if defined(__linux__) #include "driver-linux.cpp" -#elif defined(WIN32) +#elif defined(_WIN32) #include "driver-windows.cpp" #endif diff --git a/luprex/luprexstatic b/luprex/luprexstatic deleted file mode 100755 index 4e8ca72b..00000000 Binary files a/luprex/luprexstatic and /dev/null differ