50 lines
1.3 KiB
Makefile
50 lines
1.3 KiB
Makefile
# nmake Makefile for MSVC (Windows)
|
|
# Builds src/main.cpp against installed OSRM, Boost.
|
|
# Output executable goes into bin/
|
|
|
|
# Compiler
|
|
CXX = cl
|
|
|
|
# Include directories (adjust if your paths differ)
|
|
INCLUDES = /I"C:\Users\TRIZ\clones\osrm-backend\include" ^
|
|
/I"C:\OSRM\include" ^
|
|
/I"C:\Users\TRIZ\clones\osrm-backend\vcpkg_installed\x64-windows\include" ^
|
|
/I"C:\Users\TRIZ\clones\osrm-backend\third_party\fmt\include"
|
|
|
|
# Libraries (full paths to .lib files)
|
|
LIBS = "C:\OSRM\lib\osrm.lib" "C:\Users\TRIZ\clones\osrm-backend\vcpkg_installed\x64-windows\lib\*.lib" AdvAPI32.lib
|
|
|
|
# Compiler flags
|
|
CXXFLAGS = /EHsc /MD /O3 /nologo /utf-8 /std:c++17 /DFMT_HEADER_ONLY
|
|
|
|
LFLAGS = /nologo
|
|
|
|
# Source files
|
|
SRCS = src\main.cpp kdtree\kdtree.c tomlcpp\tomlcpp.cpp tomlcpp\toml.c
|
|
OBJS = $(SRCS:.cpp=.obj)
|
|
|
|
# Output directory and target
|
|
OUTDIR = bin
|
|
TARGET = $(OUTDIR)\trackengine.exe
|
|
|
|
# Default target
|
|
all: $(TARGET) run
|
|
|
|
# Link object files into executable
|
|
$(TARGET): $(OBJS)
|
|
if not exist $(OUTDIR) mkdir $(OUTDIR)
|
|
$(CXX) $(OBJS) $(LIBS) $(LFLAGS) /Fe$(TARGET)
|
|
|
|
# Compile .cpp into .obj
|
|
.cpp.obj:
|
|
$(CXX) $(CXXFLAGS) $(INCLUDES) /c $< /Fo$@
|
|
|
|
run:
|
|
@echo Running $(TARGET)...
|
|
type C:\Users\TRIZ\clones\tracluster\gps_260205_070000.csv | $(TARGET)
|
|
|
|
# Clean
|
|
clean:
|
|
del /Q $(OBJS) 2>nul
|
|
del /Q $(TARGET) 2>nul
|