starting project
This commit is contained in:
commit
608ea5c5dc
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
build
|
||||
*.so
|
39
Makefile
Normal file
39
Makefile
Normal 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
9
compile_flags.txt
Normal 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
9
inc/malloc.h
Normal 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
1
lib
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 6daf0df08a7a66726c39e9c8939e2a677a21b617
|
4
src/free.c
Normal file
4
src/free.c
Normal file
|
@ -0,0 +1,4 @@
|
|||
void
|
||||
free(void *ptr) {
|
||||
|
||||
}
|
12
src/malloc.c
Normal file
12
src/malloc.c
Normal 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
4
src/realloc.c
Normal file
|
@ -0,0 +1,4 @@
|
|||
void *
|
||||
realloc(void *ptr, size_t size) {
|
||||
|
||||
}
|
Loading…
Reference in a new issue