forked from soutade/libgourou
		
	Update Makefile to be more GNU/Linux style
This commit is contained in:
		
							
								
								
									
										35
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								Makefile
									
									
									
									
									
								
							| @@ -1,21 +1,30 @@ | ||||
| AR ?= $(CROSS)ar | ||||
| CXX ?= $(CROSS)g++ | ||||
|  | ||||
| ifeq ($(PREFIX),) | ||||
|     PREFIX := /usr/local | ||||
| endif | ||||
|  | ||||
| UPDFPARSERLIB = ./lib/updfparser/libupdfparser.a | ||||
|  | ||||
| CXXFLAGS=-Wall -fPIC -I./include -I./lib/pugixml/src/ -I./lib/updfparser/include | ||||
| CXXFLAGS += -Wall -fPIC -I./include -I./lib/pugixml/src/ -I./lib/updfparser/include | ||||
| LDFLAGS = $(UPDFPARSERLIB) | ||||
|  | ||||
| VERSION     := $(shell cat include/libgourou.h |grep LIBGOUROU_VERSION|cut -d '"' -f2) | ||||
|  | ||||
| BUILD_STATIC ?= 0 | ||||
| BUILD_SHARED ?= 1 | ||||
| BUILD_UTILS  ?= 1 | ||||
|  | ||||
| TARGETS = | ||||
| TARGET_BINARIES = | ||||
| ifneq ($(BUILD_STATIC), 0) | ||||
|   TARGETS += libgourou.a | ||||
|   TARGET_BINARIES += libgourou.a | ||||
| endif | ||||
| ifneq ($(BUILD_SHARED), 0) | ||||
|   TARGETS += libgourou.so | ||||
|   TARGET_BINARIES += libgourou.so libgourou.so.$(VERSION) | ||||
| endif | ||||
| ifneq ($(BUILD_UTILS), 0) | ||||
|   TARGETS += build_utils | ||||
| @@ -42,7 +51,10 @@ OBJEXT      := o | ||||
| SOURCES      = src/libgourou.cpp src/user.cpp src/device.cpp src/fulfillment_item.cpp src/loan_token.cpp src/bytearray.cpp src/pugixml.cpp | ||||
| OBJECTS     := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.$(OBJEXT))) | ||||
|  | ||||
| all: lib obj $(TARGETS) | ||||
| all: version lib obj $(TARGETS) | ||||
|  | ||||
| version: | ||||
| 	@echo "Building libgourou $(VERSION)" | ||||
|  | ||||
| lib: | ||||
| 	mkdir lib | ||||
| @@ -63,13 +75,26 @@ libgourou.a: $(OBJECTS) $(UPDFPARSERLIB) | ||||
| 	$(AR) crs $@ obj/*.o  $(UPDFPARSERLIB) | ||||
|  | ||||
| libgourou.so: $(OBJECTS) $(UPDFPARSERLIB) | ||||
| 	$(CXX) obj/*.o $(LDFLAGS) -o $@ -shared | ||||
| 	$(CXX) obj/*.o -Wl,-soname,$@.$(VERSION) $(LDFLAGS) -o $@.$(VERSION) -shared | ||||
| 	rm -f $@ | ||||
| 	ln -s $@.$(VERSION) $@ | ||||
|  | ||||
| build_utils: | ||||
| 	make -C utils ROOT=$(PWD) CXX=$(CXX) AR=$(AR) DEBUG=$(DEBUG) STATIC_UTILS=$(STATIC_UTILS) | ||||
| 	make -C utils ROOT=$(PWD) CXX=$(CXX) AR=$(AR) DEBUG=$(DEBUG) STATIC_UTILS=$(STATIC_UTILS) DEST_DIR=$(DEST_DIR) PREFIX=$(PREFIX) | ||||
|  | ||||
| install: | ||||
| 	install -d $(DESTDIR)$(PREFIX)/lib/ | ||||
| # Use cp to preserver symlinks | ||||
| 	cp --no-dereference $(TARGET_BINARIES) $(DESTDIR)$(PREFIX)/lib/ | ||||
| 	make -C utils ROOT=$(PWD) CXX=$(CXX) AR=$(AR) DEBUG=$(DEBUG) STATIC_UTILS=$(STATIC_UTILS) DEST_DIR=$(DEST_DIR) PREFIX=$(PREFIX) install | ||||
|  | ||||
| uninstall: | ||||
| 	cd $(DESTDIR)$(PREFIX)/lib/ | ||||
| 	rm -f $(TARGET_BINARIES) libgourou.so.$(VERSION) | ||||
| 	cd - | ||||
|  | ||||
| clean: | ||||
| 	rm -rf libgourou.a libgourou.so obj | ||||
| 	rm -rf libgourou.a libgourou.so libgourou.so.$(VERSION)* obj | ||||
| 	make -C utils clean | ||||
|  | ||||
| ultraclean: clean | ||||
|   | ||||
		Reference in New Issue
	
	Block a user