mirror of
https://github.com/EnderIce2/Fennix.git
synced 2025-05-28 15:34:31 +00:00
37 lines
860 B
Makefile
37 lines
860 B
Makefile
default:
|
|
$(error Do not run this Makefile directly!)
|
|
|
|
S_SOURCES = $(shell find ./ -type f -name '*.S')
|
|
C_SOURCES = $(shell find ./ -type f -name '*.c')
|
|
CXX_SOURCES = $(shell find ./ -type f -name '*.cpp')
|
|
|
|
OBJ = $(S_SOURCES:.S=.o) $(C_SOURCES:.c=.o) $(CXX_SOURCES:.cpp=.o)
|
|
|
|
FILENAME = $(notdir $(shell pwd))
|
|
WARNCFLAG = -Wall -Wextra
|
|
|
|
build: $(FILENAME)
|
|
cp $(FILENAME) $(WORKSPACE_DIR)/out/bin/$(FILENAME)
|
|
|
|
# Use static linking
|
|
LDFLAGS += -static -fno-pic -fno-pie -Wl,-static
|
|
|
|
$(FILENAME): $(OBJ)
|
|
$(info Linking $@)
|
|
$(CC) $(LDFLAGS) $(SYSROOT) $(OBJ) -o $@
|
|
|
|
%.o: %.c $(HEADERS)
|
|
$(info Compiling $<)
|
|
$(CC) $(CFLAGS) $(WARNCFLAG) -std=c17 -c $< -o $@
|
|
|
|
%.o: %.cpp $(HEADERS)
|
|
$(info Compiling $<)
|
|
$(CXX) $(CFLAGS) $(WARNCFLAG) -std=c++20 -fexceptions -c $< -o $@ -fno-rtti
|
|
|
|
%.o: %.S
|
|
$(info Compiling $<)
|
|
$(AS) -o $@ $<
|
|
|
|
clean:
|
|
rm -f $(OBJ) $(FILENAME)
|