includedir ?= /usr/include libdir ?= /usr/lib CPP_SRCS += \ src/lib_json/json_reader.cpp \ src/lib_json/json_value.cpp \ src/lib_json/json_writer.cpp OBJS += \ json_reader.o \ json_value.o \ json_writer.o CPP_DEPS += \ json_reader.d \ json_value.d \ json_writer.d TARGET = libjsoncpp.so all: $(TARGET) libjsoncpp.so: $(OBJS) @echo 'Building target: $@' #$(AR) -r libjsoncpp.a $(OBJS) $(CXX) ${LDFLAGS} -shared -o $@ $^ @echo 'Finished building target: $@' @echo ' ' %.o: src/lib_json/%.cpp @echo 'Building file: $<' $(CXX) $(CFLAGS) -Iinclude -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -fPIC -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' install: install -d $(DESTDIR)/usr/include/json install -m 644 include/json/*.h $(DESTDIR)/usr/include/json mkdir -p $(DESTDIR)/usr/lib cp libjsoncpp.so $(DESTDIR)/usr/lib # Other Targets clean: -$(RM) $(OBJS)$(CPP_DEPS) libjsoncpp.so -@echo ' ' .PHONY: all clean dependents .SECONDARY: