shm implemented as memfd syscall
cheliequan
2022-12-27 54951dfb930bea890aef14be02236f81b3a19f2e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
CC=gcc
AR=ar
CFLAGS=-g -D __SHMT_DEBUG_MODE__=1 -Wall  -I${INCLUDE}  
INCLUDE=-I. -I ../include
all:shmht shmht_mytests ipc_server ipc_client
    gcc -g -c -Wall -Werror -I${INCLUDE} -fpic list_in_shm.c  memfd.c -lpthread
    gcc -shared -o liblistInShm.so list_in_shm.o memfd.o
#    gcc test_list_in_shm.c liblistInShm.so -lpthread
shmht: shmht.o memfd.o
    $(CC) -o libshmht.so $(CFLAGS) -shared $^
    $(AR) rcs libshmht.a  $^
shmht.o: shmht.c shmht.h
    $(CC) $(CFLAGS) $(INCLUDE) -fPIC -c shmht.c
shmht_mytests: shmht_mytests.o shmht.o memfd.o 
    $(CC) $(CFLAGS) $(INCLUDE)   -L .  -pthread  -o $@ $^ 
shmht_mytests.o: shmht.h
    $(CC) $(CFLAGS) $(INCLUDE) -fPIC -c shmht_mytests.c
memfd.o:
    $(CC) $(CFLAGS) $(INCLUDE) -fPIC -c memfd.c
ipc_server:libipc_server.so
    $(CC) $(CFLAGS) $(INCLUDE) -fPIC -pthread -o $@ ipc_server.c -lipc_server -L .
libipc_server.so:
    $(CC) -shared -fPIC -o $@ ipc_server_lib.c ipc_msg.c memfd.c
ipc_client:
    $(CC) $(CFLAGS) $(INCLUDE) -fPIC -o $@ ipc_client.c ipc_msg.c memfd.c
clean:
    rm -rf *.so *.o a.out shmht_mytests *.a ipc_client ipc_server