\r
.phony: all package win mac linux native deploy\r
\r
-all: native\r
+all: package\r
\r
deploy: \r
mvn deploy \r
\r
\r
OSInfoClass=org/xerial/db/sql/sqlite/OSInfo\r
+OSINFO_PROG=target/sqlitejdbc/$(OSInfoClass).class\r
+SQLITE_DLL=sqlitejdbc/build/$(target)/$(LIBNAME)\r
+SQLITE_BUILD_DIR=sqlitejdbc/build/$(sqlite)-$(target)\r
\r
+LIB_FOLDER = $(shell java -cp target/sqlitejdbc org.xerial.db.sql.sqlite.OSInfo)\r
+WORK_DIR=target/dll/native\r
\r
-target/sqlitejdbc/$(OSInfoClass).class:\r
+UPDATE_FLAG=$(WORK_DIR)/UPDATE\r
+\r
+$(OSINFO_PROG): src/main/java/$(OSInfoClass).java\r
mkdir -p target/sqlitejdbc\r
- javac src/main/java/$(OSInfoClass).java -d target/sqlitejdbc\r
+ javac $< -d target/sqlitejdbc\r
\r
-sqlitejdbc/build/$(target)/$(LIBNAME): \r
- cd sqlitejdbc && make native \r
+$(SQLITE_DLL): $(SQLITE_BUILD_DIR)\r
\r
-sqlitejdbc/build/$(sqlite)-$(target):\r
+$(SQLITE_BUILD_DIR): Makefile sqlitejdbc/Makefile \r
cd sqlitejdbc && make native\r
\r
-LIB_FOLDER = $(RESOURCE_DIR)/native/$(shell java -cp target/sqlitejdbc org.xerial.db.sql.sqlite.OSInfo)\r
+#$(NATIVE_DLL): $(OSINFO_PROG) $(SQLITE_DLL)\r
+# mkdir -p $(WORK_DIR)/$(LIB_FOLDER)\r
+# cp $(SQLITE_DLL) $(WORK_DIR)/$(LIB_FOLDER) \r
\r
#native: sqlitejdbc/build/$(target)/$(LIBNAME) target/sqlitejdbc/$(OSInfoClass).class\r
-native: sqlitejdbc/build/$(sqlite)-$(target) sqlitejdbc/build/$(target)/$(LIBNAME) target/sqlitejdbc/$(OSInfoClass).class\r
- mkdir -p $(LIB_FOLDER)\r
- cp sqlitejdbc/build/$(target)/$(LIBNAME) $(LIB_FOLDER) \r
+\r
+$(UPDATE_FLAG): $(OS_INFO_PROG)\r
+ mkdir -p $(WORK_DIR)/$(LIB_FOLDER)\r
+ cp $(SQLITE_DLL) $(WORK_DIR)/$(LIB_FOLDER) \r
+ touch $(UPDATE_FLAG)\r
+\r
+native: $(OSINFO_PROG) $(UPDATE_FLAG)\r
+\r
+NATIVE_DLL=$(WORK_DIR)/$(LIB_FOLDER)/$(LIBNAME)\r
+\r
+package: $(OSINFO_PROG) $(UPDATE_FLAG)\r
+ mkdir -p $(RESOURCE_DIR)/native/$(LIB_FOLDER)\r
+ cp $(NATIVE_DLL) $(RESOURCE_DIR)/native/$(LIB_FOLDER)\r
mvn package\r
\r
clean-native:\r
AMD_SERVER=utgb01\r
AMD_WORK=work/eclipse/xerial/sqlite-jdbc\r
\r
-BUILD_CMD = svn update && make clean-native all\r
-\r
+BUILD_CMD = svn update && make native\r
\r
all: compile\r
\r
$(DLL_WIN): \r
ssh $(WIN_SERVER) "source .zprofile && cd $(WIN_WORK) && $(BUILD_CMD)"\r
mkdir -p $(DLL_DIR)/Windows\r
- $(RSYNC) $(WIN_SERVER):./$(WIN_WORK)/$(NATIVE_DIR)/Windows/ $(DLL_DIR)/Windows/\r
+ $(RSYNC) $(WIN_SERVER):./$(WIN_WORK)/$(DLL_DIR)/Windows/ $(DLL_DIR)/Windows/\r
\r
$(DLL_MAC): \r
ssh $(MAC_SERVER) "source .zprofile && cd $(MAC_WORK) && $(BUILD_CMD)"\r
mkdir -p $(DLL_DIR)/Mac\r
- $(RSYNC) $(MAC_SERVER):./$(MAC_WORK)/$(NATIVE_DIR)/Mac/ $(DLL_DIR)/Mac/\r
+ $(RSYNC) $(MAC_SERVER):./$(MAC_WORK)/$(DLL_DIR)/Mac/ $(DLL_DIR)/Mac/\r
\r
$(DLL_LINUX):\r
ssh $(LINUX_SERVER) "source .zprofile && source /etc/profile.d/java.sh && cd $(LINUX_WORK) && $(BUILD_CMD)"\r
mkdir -p $(DLL_DIR)/Linux/i386\r
- $(RSYNC) $(LINUX_SERVER):./$(LINUX_WORK)/$(NATIVE_DIR)/Linux/i386/ $(DLL_DIR)/Linux/i386/\r
+ $(RSYNC) $(LINUX_SERVER):./$(LINUX_WORK)/$(DLL_DIR)/Linux/i386/ $(DLL_DIR)/Linux/i386/\r
\r
$(DLL_AMD64):\r
ssh $(AMD_SERVER) "source .zprofile && cd $(AMD_WORK) && $(BUILD_CMD)"\r
mkdir -p $(DLL_DIR)/Linux/amd64\r
- $(RSYNC) $(AMD_SERVER):./$(AMD_WORK)/$(NATIVE_DIR)/Linux/amd64/ $(DLL_DIR)/Linux/amd64/\r
+ $(RSYNC) $(AMD_SERVER):./$(AMD_WORK)/$(DLL_DIR)/Linux/amd64/ $(DLL_DIR)/Linux/amd64/\r
\r
$(DLL_DIR):\r
mkdir -p $@\r