39 lines
889 B
Makefile
39 lines
889 B
Makefile
CXXFLAGS+= -std=c++23 -O3
|
|
CXX=g++15
|
|
CC=gcc15
|
|
TARGET=cudir
|
|
|
|
CXXFLAGS+= -I /usr/local/include
|
|
CXXFLAGS+= -I.
|
|
|
|
LD=$(CXX)
|
|
|
|
LOCALBASE?= /usr/local
|
|
|
|
LDFLAGS+= -Wl,-rpath,'$$ORIGIN/' -L .
|
|
LDFLAGS+= -Wl,-rpath,${LOCALBASE}/lib/${CC}/
|
|
LDFLAGS+= -L${LOCALBASE}/lib/${CC}/
|
|
LDLIBS+= -lalepha
|
|
|
|
OBJECTS= helpers.o format.o
|
|
OBJECTS+= $(TARGET).o
|
|
|
|
all: __program
|
|
|
|
|
|
|
|
$(TARGET): $(OBJECTS) libalepha.so
|
|
$(LD) $(LDFLAGS) -o $@ $(OBJECTS) $(LDLIBS)
|
|
|
|
libalepha.so:
|
|
mkdir -p build_alepha
|
|
cd build_alepha; cmake -GNinja -DCMAKE_CXX_FLAGS="${CXXFLAGS} ${CPPFLAGS}" -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" -DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS}" -DCMAKE_CXX_COMPILER="${CXX}" -DCMAKE_C_COMPILER="${CC}" -DCMAKE_BUILD_TYPE=Release ../Alepha; cp ../Alepha/helpful-things/Makefile .; gmake
|
|
cp build_alepha/libalepha.so .
|
|
|
|
|
|
clean:
|
|
rm -f $(TARGET) $(OBJECTS)
|
|
rm -fR build_alepha libalepha.so
|
|
|
|
__program: $(TARGET)
|