malloc/Makefile
2025-01-21 15:20:22 +01:00

40 lines
793 B
Makefile

CC := gcc
LD := $(CC)
LDFLAGS :=
CFLAGS := $(shell cat compile_flags.txt | sed -z "s/\n/ /g")
SRC := $(wildcard src/*.c)
LIB := lib/lib.a
OBJ_DIR := build
OBJ := $(addprefix $(OBJ_DIR)/, $(patsubst %.c,%.o,$(SRC)))
DIR := .
RAW_NAME:= libft_malloc
ifeq ($(HOSTTYPE),)
HOSTTYPE := $(shell uname -m)_$(shell uname -s)
endif
NAME := $(RAW_NAME).so
NAME_L := $(RAW_NAME)_$(HOSTTYPE).so
all: $(NAME)
$(NAME): $(OBJ)
@make --no-print -C lib all
$(LD) $(LDFLAGS) -o $(DIR)/$(NAME_L) $(OBJ) $(LIB)
ln -sf $(DIR)/$(NAME_L) $(DIR)/$(NAME)
$(OBJ_DIR)/%.o: %.c
@mkdir -p $(@D)
$(CC) $(CFLAGS) -c -o $@ $<
clean:
@rm -rf $(OBJ_DIR)
fclean: clean
@rm -f $(DIR)/$(NAME)
@rm -f $(DIR)/$(NAME_L)
re:
@make --no-print clean
@make --no-print all
.PHONY: all clean re