Skip to content

Commit 8a776e5

Browse files
committed
Were added useful features (symlink, install, uninstall options)
1 parent a7696e6 commit 8a776e5

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

Makefile

+17-2
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,12 @@
77
CXX = g++
88
CXXFLAGS = -g -O2 -Wall
99
# 2. Compiler And Linker Keys (man gcc)
10-
LIB_NAME = libMySharedLib.so
10+
PROJECT_NAME = libMySharedLib
11+
LIB_NAME = $(PROJECT_NAME).so
1112
LIB_VERSION_OPTION = 1.0
1213
LIB_BUILD_DIRECTORY = .
14+
LIB_INSTALL_DIR = /usr/lib
15+
LIB_INCLUDE_DIR = /usr/include/$(PROJECT_NAME)
1316

1417
LIB_COMPILE_OPTION = -fPIC
1518
LIB_LINK_OPTION = -shared
@@ -65,7 +68,8 @@ create-build-dir:
6568
@ -mkdir -p $(LIB_BUILD_DIRECTORY)
6669

6770
$(CPP_SHARED_LIB):$(C_OBJFILES) $(CPP_OBJFILES)
68-
$(CXX) $(CXXFLAGS) $(LANG_OPTION) $(LIB_LINK_OPTION) $(DEFS) $(INCLUDES) $(LIBPATH) $(LIBS) -o $(CPP_SHARED_LIB) $(CPP_OBJFILES)
71+
$(CXX) $(LIB_LINK_OPTION)$(LIBPATH) $(LIBS) -o $(CPP_SHARED_LIB) $(CPP_OBJFILES)
72+
@ ln -s $(CPP_SHARED_LIB) $(LIB_NAME)
6973

7074
# These are the suffix replacement rules
7175
%.o : %.c
@@ -77,7 +81,18 @@ $(CPP_SHARED_LIB):$(C_OBJFILES) $(CPP_OBJFILES)
7781
clean:
7882
@ -rm -f $(CPP_OBJFILES)
7983
@ -rm -f $(CPP_SHARED_LIB)
84+
@ -rm -f $(LIB_NAME)
8085
@ -rm -rf $(LIB_BUILD_DIRECTORY)/include
86+
87+
install:
88+
@ cp $(CPP_SHARED_LIB) $(LIB_INSTALL_DIR)
89+
@ ln -s $(LIB_INSTALL_DIR)/$(LIB_NAME).$(LIB_VERSION_OPTION) $(LIB_INSTALL_DIR)/$(LIB_NAME)
90+
@ mkdir $(LIB_INCLUDE_DIR)
91+
92+
uninstall:
93+
@ rm $(LIB_INSTALL_DIR)/$(LIB_NAME).$(LIB_VERSION_OPTION)
94+
@ rm $(LIB_INSTALL_DIR)/$(LIB_NAME)
95+
@ rm -rf $(LIB_INCLUDE_DIR)
8196

8297
copy-include:
8398
@ mkdir -p $(LIB_BUILD_DIRECTORY)/include

0 commit comments

Comments
 (0)