A few changes for mingw port (not done yet)

This commit is contained in:
2023-02-20 16:59:10 -05:00
parent f9aafee165
commit 8e2d37a73a
138 changed files with 49 additions and 25 deletions

View File

@@ -1,4 +1,27 @@
ifeq ($(OS),mingw)
EXE=main.exe
LIBS=-L./ext/openssl-mingw -lssl -lcrypto -lws2_32 -lcrypt32 -lcryptui
LUAFLAGS=-DLUA_USE_APICHECK -DLUA_COMPAT_ALL
OPT=-g -O0
DRIVER=driver-mingw
else ifeq ($(OS),linux)
EXE=main
LIBS=-L./ext/openssl-linux -lssl -lcrypto
LUAFLAGS=-DLUA_USE_APICHECK -DLUA_USE_POSIX
OPT=-g -O0
DRIVER=driver-linux
else
# In this case, any attempt to build luprex will trigger an error,
# But making 'clean' will still work.
ERROR=$(error You must specify OS=linux or OS=mingw)
EXE=$(ERROR)
LIBS=$(ERROR)
LUAFLAGS=$(ERROR)
OPT=$(ERROR)
DRIVER=driver-xxx
endif
OBJ_ERIS=\
obj/eris/lapi.o \
@@ -35,7 +58,6 @@ OBJ_ERIS=\
obj/eris/linit.o \
obj/eris/eris.o \
OBJ_CORE=\
obj/core/invocation.o\
obj/core/spookyv2.o\
@@ -71,37 +93,28 @@ OBJ_CORE=\
obj/core/eng-tests.o\
obj/core/printbuffer.o\
OBJ_DRV=\
obj/drv/drvutil.o\
obj/drv/sslutil.o\
obj/drv/$(DRIVER).o
ifeq ($(OS),linux)
OPT=-g -O0
main: $(OBJ_DRV) $(OBJ_CORE) $(OBJ_ERIS) obj/drv/driver-linux.o
g++ $(OPT) -std=c++17 -export-dynamic -Wall -o $@ $(OBJ_DRV) $(OBJ_CORE) $(OBJ_ERIS) obj/drv/driver-linux.o -L./ext/openssl-linux -lssl -lcrypto -ldl
$(EXE): $(OBJ_ERIS) $(OBJ_CORE) $(OBJ_DRV)
g++ $(OPT) -std=c++17 -export-dynamic -Wall -o $@ $(OBJ_ERIS) $(OBJ_CORE) $(OBJ_DRV) $(LIBS)
obj/eris/%.o: ext/eris-master/src/%.c
gcc $(OPT) -Wall -fvisibility=hidden -DLUA_USE_APICHECK -DLUA_USE_POSIX -c -MMD $< -o $@
gcc $(OPT) -Wall -fvisibility=hidden $(LUAFLAGS) -c -MMD $< -o $@
obj/core/%.o: cpp/core/%.cpp
g++ $(OPT) -Wall -fvisibility=hidden -std=c++17 -I./ext/eris-master/src -I./cpp/wrap -I./cpp/core -c -MMD $< -o $@
obj/drv/%.o: cpp/drv/%.cpp
g++ $(OPT) -Wall -fvisibility=hidden -std=c++17 -I./ext/openssl -I./src/drv -c -MMD $< -o $@
-include obj/drv/driver-linux.d
endif
g++ $(OPT) -Wall -fvisibility=hidden -std=c++17 -I./ext -I./src/drv -c -MMD $< -o $@
clean:
rm -f main.exe main obj/*/*.*
rm -f main.exe main obj/core/*.* obj/drv/*.* obj/eris/*.*
-include $(OBJ_ERIS:%.o=%.d)
-include $(OBJ_CORE:%.o=%.d)
-include $(OBJ_DRV:%.o=%.d)
-include $(OBJ_ERIS:%.o=%.d)