Makefile now working for mingw and visual
This commit is contained in:
139
luprex/Makefile
139
luprex/Makefile
@@ -108,34 +108,18 @@ OBJ_DRV=\
|
|||||||
##
|
##
|
||||||
#######################################################################
|
#######################################################################
|
||||||
|
|
||||||
|
|
||||||
ifeq "$(OS)" "linux"
|
ifeq "$(OS)" "linux"
|
||||||
|
|
||||||
OPT=-g -O0
|
OPT=-g -O0
|
||||||
GPP=g++ -Wall -fvisibility=hidden $(OPT) -std=c++17 -MMD
|
LUPREX_EXE=luprex
|
||||||
LIB_SSL=-L./ext/openssl-3.0.1/lib/linux -lssl -lcrypto
|
LUPREXLIB_DLL=luprexlib.so
|
||||||
LIB_OS=-ldl
|
LUPREXSTATIC_EXE=luprexstatic
|
||||||
|
MAKEDEPS=true
|
||||||
all: luprex luprexlib.so luprexstatic
|
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
|
||||||
luprex: $(OBJ_DRV) luprexlib.so
|
LINKEXE=g++ -Wall $(OPT) -std=c++17 -o
|
||||||
$(GPP) $(OBJ_DRV) $(LIB_SSL) $(LIB_OS) -o $@
|
OPENSSL_INCLUDE=-I./ext/openssl-3.0.1/inc
|
||||||
|
LUA_FLAGS=-DLUA_USE_APICHECK -DLUA_USE_POSIX
|
||||||
luprexlib.so: $(OBJ_ERIS) $(OBJ_CORE)
|
LIBS=-L./ext/openssl-3.0.1/lib/linux -lssl -lcrypto -ldl
|
||||||
$(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 $<
|
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
@@ -146,27 +130,17 @@ endif
|
|||||||
#######################################################################
|
#######################################################################
|
||||||
|
|
||||||
ifeq "$(OS)" "mingw"
|
ifeq "$(OS)" "mingw"
|
||||||
|
|
||||||
OPT=-g -O0
|
OPT=-g -O0
|
||||||
GPP=g++ -Wall -fvisibility=hidden $(OPT) -std=c++17 -MMD
|
LUPREX_EXE=luprex.exe
|
||||||
|
LUPREXLIB_DLL=luprexlib.dll
|
||||||
luprex.exe: $(OBJ_DRV) driver-windows.o luprexlib.dll
|
LUPREXSTATIC_EXE=luprexstatic.exe
|
||||||
$(GPP) -o $@ $(OBJ_DRV) driver-windows.o -L./ext/openssl-mingw -lssl -lcrypto -lws2_32 -lcrypt32 -lcryptui
|
MAKEDEPS=true
|
||||||
ext/cv2pdb.exe luprex.exe
|
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
|
||||||
luprexlib.dll: $(OBJ_ERIS) $(OBJ_CORE)
|
LINKEXE=g++ -Wall $(OPT) -std=c++17 -o
|
||||||
$(GPP) -Wl,--no-allow-shlib-undefined -shared -o $@ $^
|
OPENSSL_INCLUDE=-I./ext/openssl-3.0.1/inc
|
||||||
ext/cv2pdb.exe luprexlib.dll
|
LUA_FLAGS=-DLUA_USE_APICHECK -DLUA_COMPAT_ALL
|
||||||
|
LIBS=-L./ext/openssl-3.0.1/lib/mingw -lssl -lcrypto -lws2_32 -lcrypt32 -lcryptui
|
||||||
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 $<
|
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
@@ -177,60 +151,53 @@ endif
|
|||||||
#######################################################################
|
#######################################################################
|
||||||
|
|
||||||
ifeq "$(OS)" "visual"
|
ifeq "$(OS)" "visual"
|
||||||
|
|
||||||
ifeq "" "$(VSINSTALLDIR)"
|
ifeq "" "$(VSINSTALLDIR)"
|
||||||
$(error You must use vcvars64.bat to set up the visual studio environment variables)
|
$(error You must use vcvars64.bat to set up the visual studio environment variables)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
OPT=/Od /Zi
|
OPT=/Od /Zi
|
||||||
MMD=g++ -Wall -std=c++17 -MMD -E
|
LUPREX_EXE=luprex.exe
|
||||||
CL=CL $(OPT) /std:c++17 /EHsc /nologo /MD /TP /c
|
LUPREXLIB_DLL=luprexlib.dll
|
||||||
LINK=CL $(OPT) /std:c++17 /EHsc /nologo
|
LUPREXSTATIC_EXE=luprexstatic.exe
|
||||||
LIB_SSL=ext/openssl-3.1.0/lib/visual/libcrypto.lib ext/openssl-3.1.0/lib/visual/libssl.lib
|
MAKEDEPS=g++ -Wall -std=c++17 -MMD -E -o
|
||||||
LIB_OS=ws2_32.lib crypt32.lib cryptui.lib user32.lib advapi32.lib
|
COMPILE=CL $(OPT) /std:c++17 /EHsc /nologo /MD /TP /c /Fo:
|
||||||
|
LINKDLL=CL $(OPT) /std:c++17 /EHsc /nologo /LDd /Fe:
|
||||||
all: luprex.exe luprexlib.dll luprexstatic.exe
|
LINKEXE=CL $(OPT) /std:c++17 /EHsc /nologo /Fe:
|
||||||
|
OPENSSL_INCLUDE=-I./ext/openssl-3.1.0/inc
|
||||||
luprex.exe: luprexlib.dll $(OBJ_DRV)
|
LUA_FLAGS=-DLUA_USE_APICHECK -DLUA_COMPAT_ALL
|
||||||
$(LINK) /Fe: $@ $(OBJ_DRV) $(LIB_SSL) $(LIB_OS)
|
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
|
||||||
|
|
||||||
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)
|
|
||||||
|
|
||||||
|
|
||||||
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: $@ $<
|
|
||||||
|
|
||||||
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: $@ $<
|
|
||||||
|
|
||||||
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
|
endif
|
||||||
|
|
||||||
#######################################################################
|
#######################################################################
|
||||||
##
|
##
|
||||||
## Common Make Rules
|
## Make Rules
|
||||||
##
|
##
|
||||||
#######################################################################
|
#######################################################################
|
||||||
|
|
||||||
|
all: $(LUPREX_EXE) $(LUPREXSTATIC_EXE) $(LUPREXLIB_DLL)
|
||||||
|
|
||||||
#######################################################################
|
$(LUPREX_EXE): $(LUPREXLIB_DLL) $(OBJ_DRV)
|
||||||
##
|
$(LINKEXE) $@ $(OBJ_DRV) $(LIBS)
|
||||||
## Make Clean, deliberately OS independent
|
|
||||||
##
|
$(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
|
||||||
|
$(MAKEDEPS) $@d $(LUA_FLAGS) $<
|
||||||
|
$(COMPILE) $@ $(LUA_FLAGS) $<
|
||||||
|
|
||||||
|
obj/core/%.obj: cpp/core/%.cpp
|
||||||
|
$(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
|
||||||
|
$(MAKEDEPS) $@d $(OPENSSL_INCLUDE) -I./src/drv $<
|
||||||
|
$(COMPILE) $@ $(OPENSSL_INCLUDE) -I./src/drv $<
|
||||||
|
|
||||||
clean:
|
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/*.*
|
||||||
|
|
||||||
|
|
||||||
#######################################################################
|
#######################################################################
|
||||||
##
|
##
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
#if defined(__linux__)
|
#if defined(__linux__)
|
||||||
#include "driver-linux.cpp"
|
#include "driver-linux.cpp"
|
||||||
#elif defined(WIN32)
|
#elif defined(_WIN32)
|
||||||
#include "driver-windows.cpp"
|
#include "driver-windows.cpp"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user