TOP = $(shell readlink -f .) ARCH = x86-linux64 LOCAL_BUILD_PATH = $(TOP)/build.$(ARCH) LOCAL_INST_PATH = $(TOP)/install.$(ARCH) VERSION=3.19.2 PACKAGE_NAME = sqlite3-$(VERSION) CROSS_PATH = /opt/gcc-suite/1.0.0/x86-linux64/mingw64 CROSS_PREFIX = x86_64-w64-mingw32 CC = "gcc -m64 -static-libgcc" CXX = "g++ -m64 -static-libgcc -static-libstdc++" all: sqlite test pack ifneq (,$(findstring x86-mingw,$(ARCH))) sqlite: rm -Rf $(LOCAL_BUILD_PATH) rm -Rf $(LOCAL_INST_PATH) mkdir -p $(LOCAL_BUILD_PATH) mkdir -p $(LOCAL_INST_PATH) cd $(LOCAL_BUILD_PATH) && \ tar -zxf $(PWD)/SOURCES/sqlite-$(VERSION).tar.gz cd $(LOCAL_BUILD_PATH)/sqlite-* && \ export PATH=$(CROSS_PATH)/bin:$$PATH && \ CFLAGS="-m64 -DSQLITE_MAX_COLUMN=32767 -DSQLITE_MAX_VARIABLE_NUMBER=32768 -fpic" \ LDFLAGS="-static-libgcc" \ ./configure \ --host=$(CROSS_PREFIX) \ --target=$(CROSS_PREFIX) \ --disable-static \ --enable-shared \ --disable-readline \ --prefix=$(LOCAL_INST_PATH)/sqlite-$(VERSION) && \ $(MAKE) && $(MAKE) clean all install && \ CFLAGS="-m64 -DSQLITE_MAX_COLUMN=32767 -DSQLITE_MAX_VARIABLE_NUMBER=32768 -fpic" \ LDFLAGS="-static-libgcc" \ ./configure \ --host=$(CROSS_PREFIX) \ --target=$(CROSS_PREFIX) \ --enable-static \ --disable-shared \ --disable-readline \ --prefix=$(LOCAL_INST_PATH)/sqlite-$(VERSION) && \ $(MAKE) && $(MAKE) clean all install rm -Rf $(LOCAL_INST_PATH)/sqlite-$(VERSION)/lib/pkgconfig cp -f $(LOCAL_INST_PATH)/sqlite-$(VERSION)/bin/*.dll $(LOCAL_INST_PATH)/sqlite-$(VERSION)/lib pack: cd $(LOCAL_INST_PATH) && \ zip -qr $(TOP)/$(PACKAGE_NAME)-$(ARCH).zip . test: @echo "Nothing to test" else sqlite: rm -Rf $(LOCAL_BUILD_PATH) rm -Rf $(LOCAL_INST_PATH) mkdir -p $(LOCAL_BUILD_PATH) mkdir -p $(LOCAL_INST_PATH) cd $(LOCAL_BUILD_PATH) && \ tar -zxf $(PWD)/SOURCES/sqlite-$(VERSION).tar.gz cd $(LOCAL_BUILD_PATH)/sqlite-* && \ export PATH=$(GCC_PATH)/bin:$$PATH && \ export LD_LIBRARY_PATH=$(GCC_PATH)/lib && \ CC=$(CC) CXX=$(CXX) \ CFLAGS="-DSQLITE_MAX_COLUMN=32767 -DSQLITE_MAX_VARIABLE_NUMBER=32768 -fpic" \ ./configure \ --enable-shared \ --disable-static \ --disable-readline \ --prefix=$(LOCAL_INST_PATH)/sqlite-$(VERSION) && \ $(MAKE) && $(MAKE) clean all install cd $(LOCAL_BUILD_PATH)/sqlite-* && \ export PATH=$(GCC_PATH)/bin:$$PATH && \ export LD_LIBRARY_PATH=$(GCC_PATH)/lib && \ CC=$(CC) CXX=$(CXX) \ CFLAGS="-DSQLITE_MAX_COLUMN=32767 -DSQLITE_MAX_VARIABLE_NUMBER=32768 -fpic" \ ./configure \ --disable-shared \ --enable-static \ --disable-readline \ --prefix=$(LOCAL_INST_PATH)/sqlite-$(VERSION) && \ $(MAKE) && $(MAKE) clean all install $(PWD)/test.$(ARCH).exe: @gcc -I$(PWD)/install.$(ARCH)/sqlite-$(VERSION)/include \ -o $(PWD)/test.$(ARCH).exe \ $(PWD)/SOURCES/test.c \ $(PWD)/install.$(ARCH)/sqlite-$(VERSION)/lib/libsqlite3.a \ -lpthread -ldl test: $(PWD)/test.$(ARCH).exe @echo "TESTING MAX_COLUMN ..." @rm -f $(PWD)/test.$(ARCH).exe @if [ "$(shell $(PWD)/test.$(ARCH).exe)" = "32767" ]; then \ echo "SQLITE successfully increased MAX_COLUMN to 32767" ; \ else \ echo "MAX_COLUMN Patch failed" ; \ exit 1; \ fi @rm -f $(PWD)/test.$(ARCH).exe pack: cd $(LOCAL_INST_PATH) && \ tar -zcf $(TOP)/$(PACKAGE_NAME)-$(ARCH).tgz . endif clean: rm -Rf $(LOCAL_BUILD_PATH) rm -Rf $(LOCAL_INST_PATH) rm -f $(TOP)/$(PACKAGE_NAME)*.tgz rm -f $(TOP)/$(PACKAGE_NAME)*.zip