From dfdac48418b57fd5e3393d5a53dd3d9fbd16822e Mon Sep 17 00:00:00 2001 From: Maksym Telychko Date: Thu, 6 Jun 2019 16:16:16 +0300 Subject: [MTS-MTQ] refactoring: Makefile --- Makefile | 140 +++++++++++++++++++++++++-------------------------------------- 1 file changed, 55 insertions(+), 85 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 677c34d..bfe5b12 100644 --- a/Makefile +++ b/Makefile @@ -1,104 +1,74 @@ include version -includedir ?= /usr/include +APPNAME = libmts-io libdir ?= /usr/lib OBJS += \ -MTS_IO_CdmaRadio.o \ -MTS_IO_CE910Radio.o \ -MTS_IO_CellularRadio.o \ -MTS_IO_CellularRadioFactory.o \ -MTS_IO_Connection.o \ -MTS_IO_DE910Radio.o \ -MTS_IO_GE910Radio.o \ -MTS_IO_HE910Radio.o \ -MTS_IO_HE910DRadio.o \ -MTS_IO_HE910EUDRadio.o \ -MTS_IO_LE910JN1Radio.o \ -MTS_IO_LE866Radio.o \ -MTS_IO_LE866A1JSRadio.o \ -MTS_IO_LE910Radio.o \ -MTS_IO_LE910NAGRadio.o \ -MTS_IO_LE910C4NFRadio.o \ -MTS_IO_LE910NA1Radio.o \ -MTS_IO_LE910SVGRadio.o \ -MTS_IO_LE910EUGRadio.o \ -MTS_IO_LE910C4EURadio.o \ -MTS_IO_LE910EU1Radio.o \ -MTS_IO_LE910C1NSRadio.o \ -MTS_IO_LE910C1APRadio.o \ -MTS_IO_ME910C1NARadio.o \ -MTS_IO_ME910C1NVRadio.o \ -MTS_IO_ME910C1WWRadio.o \ -MTS_IO_ME910Radio.o \ -MTS_IO_LockFile.o \ -MTS_IO_MccMncTable.o \ -MTS_IO_SerialConnection.o + src/MTS_IO_TelitRadio.o \ + src/MTS_IO_EG95Radio.o \ + src/MTS_IO_QuectelRadio.o \ + src/MTS_IO_CdmaRadio.o \ + src/MTS_IO_CE910Radio.o \ + src/MTS_IO_CellularRadio.o \ + src/MTS_IO_CellularRadioFactory.o \ + src/MTS_IO_Connection.o \ + src/MTS_IO_DE910Radio.o \ + src/MTS_IO_GE910Radio.o \ + src/MTS_IO_HE910Radio.o \ + src/MTS_IO_HE910DRadio.o \ + src/MTS_IO_HE910EUDRadio.o \ + src/MTS_IO_LE910JN1Radio.o \ + src/MTS_IO_LE866Radio.o \ + src/MTS_IO_LE866A1JSRadio.o \ + src/MTS_IO_LE910Radio.o \ + src/MTS_IO_LE910NAGRadio.o \ + src/MTS_IO_LE910C4NFRadio.o \ + src/MTS_IO_LE910NA1Radio.o \ + src/MTS_IO_LE910SVGRadio.o \ + src/MTS_IO_LE910EUGRadio.o \ + src/MTS_IO_LE910C4EURadio.o \ + src/MTS_IO_LE910EU1Radio.o \ + src/MTS_IO_LE910C1NSRadio.o \ + src/MTS_IO_LE910C1APRadio.o \ + src/MTS_IO_ME910C1NARadio.o \ + src/MTS_IO_ME910C1NVRadio.o \ + src/MTS_IO_ME910C1WWRadio.o \ + src/MTS_IO_ME910Radio.o \ + src/MTS_IO_LockFile.o \ + src/MTS_IO_MccMncTable.o \ + src/MTS_IO_SerialConnection.o -CPP_DEPS += \ -MTS_IO_CdmaRadio.d \ -MTS_IO_CE910Radio.d \ -MTS_IO_CellularRadio.d \ -MTS_IO_CellularRadioFactory.d \ -MTS_IO_Connection.d \ -MTS_IO_DE910Radio.d \ -MTS_IO_GE910Radio.d \ -MTS_IO_HE910Radio.d \ -MTS_IO_HE910DRadio.d \ -MTS_IO_HE910EUDRadio.d \ -MTS_IO_LE910JN1Radio.d \ -MTS_IO_LE866Radio.d \ -MTS_IO_LE866A1JSRadio.d \ -MTS_IO_LE910Radio.d \ -MTS_IO_LE910NAGRadio.d \ -MTS_IO_LE910C4NFRadio.d \ -MTS_IO_LE910NA1Radio.d \ -MTS_IO_LE910SVGRadio.d \ -MTS_IO_LE910EUGRadio.d \ -MTS_IO_LE910C4EURadio.d \ -MTS_IO_LE910EU1Radio.d \ -MTS_IO_LE910C1NSRadio.d \ -MTS_IO_LE910C1APRadio.d \ -MTS_IO_ME910C1NARadio.d \ -MTS_IO_ME910C1NVRadio.d \ -MTS_IO_ME910C1WWRadio.d \ -MTS_IO_ME910Radio.d \ -MTS_IO_LockFile.d \ -MTS_IO_MccMncTable.d \ -MTS_IO_SerialConnection.d +CC := $(CXX) +#-Werror +CXXFLAGS += -Wall -std=c++0x -fmessage-length=0 -fPIC +CPPFLAGS += -I=/usr/include/jsoncpp -Iinclude +LDFLAGS += -s -shared -Wl,-soname,$(APPNAME).so.0 -all: libmts-io.a libmts-io.so.0 +.PHONY: all clean install -libmts-io.a: $(OBJS) - @echo 'Building target: $@' - $(AR) -r libmts-io.a $(OBJS) - @echo 'Finished building target: $@' - @echo ' ' +all: $(APPNAME).a $(APPNAME).so.$(VERSION) -libmts-io.so.0: $(OBJS) - @echo 'Building target: $@' - $(CXX) $(LDFLAGS) -shared -Wl,-soname,$@ -o libmts-io.so.$(VERSION) $(OBJS) - @echo 'Finished building target: $@' - @echo ' ' -%.o: src/%.cpp - @echo 'Building file: $<' - $(CXX) $(CFLAGS) -I=$(includedir)/jsoncpp -Iinclude -Wall -Werror -c -fPIC -fmessage-length=0 -std=c++0x -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" - @echo 'Finished building: $<' - @echo ' ' +$(APPNAME).a: $(OBJS) + $(AR) -r $@ $? + +$(APPNAME).so.$(VERSION): $(OBJS) + $(CC) $(LDFLAGS) -o $@ $? $(LDLIBS) + +# Handle header dependencies +DEPS = $(OBJS:.o=.d) +CPPFLAGS += -MMD +-include $(DEPS) install: mkdir -p $(DESTDIR)$(libdir) mkdir -p $(DESTDIR)$(includedir)/mts - install -m 0644 libmts-io.a libmts-io.so.$(VERSION) $(DESTDIR)$(libdir)/ - ln -sf libmts-io.so.$(VERSION) $(DESTDIR)$(libdir)/libmts-io.so.0 - ln -sf libmts-io.so.0 $(DESTDIR)$(libdir)/libmts-io.so + install -m 0644 $(APPNAME).a $(APPNAME).so.$(VERSION) $(DESTDIR)$(libdir)/ + ln -sf $(APPNAME).so.$(VERSION) $(DESTDIR)$(libdir)/$(APPNAME).so.0 + ln -sf $(APPNAME).so.0 $(DESTDIR)$(libdir)/$(APPNAME).so install -m 0644 include/mts/* $(DESTDIR)$(includedir)/mts/ clean: - -$(RM) $(OBJS) $(CPP_DEPS) libmts-io.a libmts-io.so* - -@echo ' ' + $(RM) $(OBJS) $(APPNAME).a $(APPNAME).so.$(VERSION) $(DEPS) -.PHONY: all clean dependents install -.SECONDARY: -- cgit v1.2.3