starting project

This commit is contained in:
Xamora 2025-01-21 15:20:22 +01:00
commit 608ea5c5dc
8 changed files with 80 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
build
*.so

39
Makefile Normal file
View file

@ -0,0 +1,39 @@
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

9
compile_flags.txt Normal file
View file

@ -0,0 +1,9 @@
-includelib/libft/libft.h
-includelib/ft_printf/ft_printf.h
-includeinc/malloc.h
-Wall
-Wextra
-std=c23
-iquoteinc
-iquotelib
-fPIC

9
inc/malloc.h Normal file
View file

@ -0,0 +1,9 @@
#pragma once
#include <sys/mman.h>
#include <unistd.h>
#include <sys/resource.h>
void free(void *ptr);
void *malloc(size_t size);
void *realloc(void *ptr, size_t size);

1
lib Submodule

@ -0,0 +1 @@
Subproject commit 6daf0df08a7a66726c39e9c8939e2a677a21b617

4
src/free.c Normal file
View file

@ -0,0 +1,4 @@
void
free(void *ptr) {
}

12
src/malloc.c Normal file
View file

@ -0,0 +1,12 @@
#include "libft/libft.h"
char *memory = nullptr;
void *
malloc(size_t size) {
if (!memory)
memory = mmap(nullptr, 4096 * 10, 0, PROT_READ | PROT_WRITE, 0, 0);
for (i32 i = 0; i < ft_get_size(size); i++) {
}
}

4
src/realloc.c Normal file
View file

@ -0,0 +1,4 @@
void *
realloc(void *ptr, size_t size) {
}