:3
This commit is contained in:
35
Makefile
35
Makefile
@@ -1,40 +1,37 @@
|
||||
BIN=YOUR_PROJECT_NAME
|
||||
LIB=libc+
|
||||
|
||||
CC_FLAGS = -Isrc/include -std=c23
|
||||
CXX_FLAGS = -Isrc/include -Ilib/ -std=c++23
|
||||
LD_FLAGS = -lm
|
||||
COM_FLAGS = -fPIC -Isrc/include
|
||||
CC_FLAGS = -std=c23
|
||||
CXX_FLAGS = -std=c++23 -nostdinc++
|
||||
LD_FLAGS = -nostdlib++ -lsupc++
|
||||
CC=gcc
|
||||
CXX=g++
|
||||
LD=gcc
|
||||
LD=g++
|
||||
AR=ar
|
||||
|
||||
LIBS=
|
||||
include lib/make.mk
|
||||
|
||||
cxx_sources=$(wildcard src/*.cpp)
|
||||
c_sources=$(wildcard src/*.c)
|
||||
objects=$(patsubst src/%.cpp,build/obj/%.cpp.o,$(cxx_sources)) $(patsubst src/%.c,build/obj/%.c.o,$(c_sources)) $(LIBS)
|
||||
objects=$(patsubst src/%.cpp,build/obj/%.cpp.o,$(cxx_sources)) $(patsubst src/%.c,build/obj/%.c.o,$(c_sources))
|
||||
|
||||
|
||||
all: build/$(BIN) compile_commands.json
|
||||
@rm -r build/obj
|
||||
|
||||
keep: build/$(BIN)
|
||||
all: build/$(LIB).a build/$(LIB).so compile_commands.json
|
||||
|
||||
build/$(LIB).a: $(objects)
|
||||
$(AR) rcs $@ $^
|
||||
|
||||
build/$(LIB).so: $(objects)
|
||||
$(LD) -shared -o $@ $^
|
||||
|
||||
clean:
|
||||
rm -r build/obj/
|
||||
|
||||
|
||||
build/$(BIN): $(objects)
|
||||
$(LD) -o $@ $^ $(LD_FLAGS)
|
||||
|
||||
build/obj/%.cpp.o: */%.cpp
|
||||
@mkdir -p $(dir $@)
|
||||
$(CXX) -c -o $@ $< $(CXX_FLAGS)
|
||||
$(CXX) -c -o $@ $< $(CXX_FLAGS) $(COM_FLAGS)
|
||||
|
||||
build/obj/%.c.o: */%.c
|
||||
@mkdir -p $(dir $@)
|
||||
$(CC) -c -o $@ $< $(CC_FLAGS)
|
||||
$(CC) -c -o $@ $< $(CC_FLAGS) $(COM_FLAGS)
|
||||
|
||||
compile_commands.json:
|
||||
compiledb -n make
|
||||
|
||||
Reference in New Issue
Block a user