Advertisement
Guest User

MakefileD

a guest
Apr 23rd, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 0.71 KB | None | 0 0
  1. CXX = g++
  2. CXXFLAGS += -std=c++17
  3. SRCS = hello.cpp bye.cpp here.cpp
  4. OBJS = $(SRCS:.cpp=.o)
  5. MINOR = 1
  6. RELEASE = 10
  7. TARGET_LIB = libmylib.so.5.10.1
  8. TARGET_EXE = output
  9.  
  10. .PHONY: all clean
  11.  
  12. all: $(TARGET_LIB) $(TARGET_EXE)
  13.  
  14. $(TARGET_EXE): main.o $(TARGET_LIB)
  15.     ln -s $(TARGET_LIB) libmylib.so
  16.     $(CXX) $(CXXFLAGS) -o $(TARGET_EXE) main.o -L. -lmylib -Wl,-rpath,.
  17.  
  18. hello.o: hello.cpp
  19.     $(CXX) $(CXXFLAGS) -c -fPIC $<
  20.  
  21. bye.o: bye.cpp
  22.     $(CXX) $(CXXFLAGS) -c -fPIC $<
  23.    
  24. here.o: here.cpp
  25.     $(CXX) $(CXXFLAGS) -c -fPIC $<  
  26.  
  27. main.o: main.cpp
  28.     $(CXX) $(CXXFLAGS) -c $<
  29.  
  30. $(TARGET_LIB): $(OBJS)
  31.     $(CXX) -shared -o $(TARGET_LIB) $(OBJS)
  32.  
  33. clean:
  34.     rm -f $(OBJS) $(TARGET_EXE) $(TARGET_LIB) libmylib.so main.o
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement