CC=gcc AR=ar CFLAGS=-g -fPIC -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 $(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: $(CC) $(CFLAGS) $(INCLUDE) -fPIC -c ../sample/shmht_mytests.c memfd.o: $(CC) $(CFLAGS) $(INCLUDE) -fPIC -c memfd.c ipc_server:libipc_server.so $(CC) $(CFLAGS) $(INCLUDE) -fPIC -pthread -o $@ ../sample/ipc_server.c -lipc_server -L . libipc_server.so: $(CC) -shared $(CFLAGS) $(INCLUDE) -o $@ ipc_server_lib.c ipc_msg.c memfd.c ipc_client:libipc_client.so $(CC) $(CFLAGS) $(INCLUDE) -fPIC -o $@ ../sample/ipc_client.c ipc_msg.c memfd.c -lipc_client -L . libipc_client.so: $(CC) -shared $(CFLAGS) $(INCLUDE) -o $@ ipc_client_lib.c ipc_msg.c memfd.c clean: rm -rf *.so *.o a.out shmht_mytests *.a ipc_client ipc_server