mirror of
https://github.com/EnderIce2/Fennix.git
synced 2025-05-28 15:34:31 +00:00
28 lines
808 B
Makefile
28 lines
808 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}
|
|
|
|
CRTBEGIN_PATH = $(shell $(CC) -print-file-name=crtbegin.o)
|
|
CRTEND_PATH = $(shell $(CC) -print-file-name=crtend.o)
|
|
CRTI_PATH = $(shell $(CC) -print-file-name=crti.o)
|
|
CRTN_PATH = $(shell $(CC) -print-file-name=crtn.o)
|
|
|
|
build: $(OBJ)
|
|
cp $^ ../../out/lib/
|
|
cp $(CRTBEGIN_PATH) $(CRTEND_PATH) $(CRTI_PATH) $(CRTN_PATH) $(WORKSPACE_DIR)/out/lib/
|
|
|
|
%.o: %.c
|
|
$(info Compiling $<)
|
|
$(CC) -nostdlib -std=c17 -DLIBC_GIT_COMMIT='"$(shell git rev-parse HEAD)"' -c $< -o $@
|
|
|
|
%.o: %.S
|
|
$(info Compiling $<)
|
|
$(AS) -c $< -o $@
|
|
|
|
clean:
|
|
rm -f $(OBJ)
|