@@ -17,20 +17,46 @@ SRC:=src/main/java
1717JAVA_CLASSPATH: =$(TARGET ) /classpath/slf4j-api.jar
1818SQLITE_OUT: =$(TARGET ) /$(sqlite ) -$(OS_NAME ) -$(OS_ARCH )
1919SQLITE_OBJ? =$(SQLITE_OUT ) /sqlite3.o
20+ SQLITE_SRC_ARCHIVE: =$(TARGET ) /$(sqlite ) -src.zip
21+ SQLITE_SRC: =$(TARGET ) /sqlite-src.log
22+ SQLITE_SRC_TMP: =$(TARGET ) /tmp-src.$(version ) /$(SQLITE_SRC_PREFIX )
23+ SQLITE_AMALGAMATION_FROM_SRC: =$(TARGET ) /tmp-src.$(version ) /$(SQLITE_AMAL_PREFIX )
24+ SQLITE_AMALGAMATION_ZIP_FROM_SRC: =$(SQLITE_AMALGAMATION_FROM_SRC ) .zip
2025SQLITE_ARCHIVE: =$(TARGET ) /$(sqlite ) -amal.zip
2126SQLITE_UNPACKED: =$(TARGET ) /sqlite-unpack.log
2227SQLITE_SOURCE? =$(TARGET ) /$(SQLITE_AMAL_PREFIX )
2328SQLITE_HEADER? =$(SQLITE_SOURCE ) /sqlite3.h
2429ifneq ($(SQLITE_SOURCE ) ,$(TARGET ) /$(SQLITE_AMAL_PREFIX ) )
2530 created := $(shell touch $(SQLITE_UNPACKED))
2631endif
32+ ENABLE_UPDATE_DELETE_LIMIT? =1
2733
2834SQLITE_INCLUDE := $(shell dirname "$(SQLITE_HEADER ) ")
2935
3036CCFLAGS: = -I$(SQLITE_OUT ) -I$(SQLITE_INCLUDE ) $(CCFLAGS )
3137
38+ $(SQLITE_SRC_ARCHIVE ) :
39+ mkdir -p $(@D )
40+ curl -L --max-redirs 0 -f -o$@ https://www.sqlite.org/2025/$(SQLITE_SRC_PREFIX ) .zip
41+
42+ $(SQLITE_SRC ) : $(SQLITE_SRC_ARCHIVE )
43+ unzip -qo $< -d $(TARGET ) /tmp-src.$(version )
44+ (( cd $(SQLITE_SRC_TMP) && ./ configure -- update- limit && make sqlite3 .c) | tee $@ )
45+
46+ $(SQLITE_AMALGAMATION_ZIP_FROM_SRC ) : $(SQLITE_SRC )
47+ mkdir -p $(SQLITE_AMALGAMATION_FROM_SRC )
48+ cp $(SQLITE_SRC_TMP ) /sqlite3.c $(SQLITE_SRC_TMP ) /sqlite3.h $(SQLITE_SRC_TMP ) /sqlite3ext.h $(SQLITE_AMALGAMATION_FROM_SRC ) /
49+ (cd $( SQLITE_AMALGAMATION_FROM_SRC) /.. && zip -r $( SQLITE_AMAL_PREFIX) .zip $( SQLITE_AMAL_PREFIX) )
50+
51+ ifneq ($(ENABLE_UPDATE_DELETE_LIMIT ) ,1)
52+ ENABLE_UPDATE_DELETE_LIMIT_FLAG :=
3253$(SQLITE_ARCHIVE ) :
54+ else
55+ ENABLE_UPDATE_DELETE_LIMIT_FLAG := -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
56+ $(SQLITE_ARCHIVE ) : $(SQLITE_AMALGAMATION_ZIP_FROM_SRC )
57+ endif
3358 @mkdir -p $(@D)
59+ cp -v $(SQLITE_AMALGAMATION_ZIP_FROM_SRC) $@ || \
3460 curl -L --max-redirs 0 -f -o$@ https://www.sqlite.org/2025/$(SQLITE_AMAL_PREFIX).zip || \
3561 curl -L --max-redirs 0 -f -o$@ https://www.sqlite.org/2024/$(SQLITE_AMAL_PREFIX).zip || \
3662 curl -L --max-redirs 0 -f -o$@ https://www.sqlite.org/2023/$(SQLITE_AMAL_PREFIX).zip || \
@@ -103,6 +129,7 @@ $(SQLITE_OUT)/sqlite3.o : $(SQLITE_UNPACKED)
103129 -DSQLITE_MAX_ATTACHED=125 \
104130 -DSQLITE_MAX_PAGE_COUNT=4294967294 \
105131 -DSQLITE_DISABLE_PAGECACHE_OVERFLOW_STATS \
132+ $(ENABLE_UPDATE_DELETE_LIMIT_FLAG) \
106133 $(SQLITE_FLAGS) \
107134 $(SQLITE_OUT)/sqlite3.c
108135
0 commit comments