]> Nishi Git Mirror - dataworks.git/commitdiff
update things
authornishi <nishi@d4a5a174-5a4a-5b4b-b672-37683c10d7d5>
Mon, 20 May 2024 03:37:36 +0000 (03:37 +0000)
committernishi <nishi@d4a5a174-5a4a-5b4b-b672-37683c10d7d5>
Mon, 20 May 2024 03:37:36 +0000 (03:37 +0000)
git-svn-id: file:///raid/svn-main/nishi-dataworks/trunk@39 d4a5a174-5a4a-5b4b-b672-37683c10d7d5

Client/Makefile
Client/main.c
Library/Makefile
Library/database.c
Library/dw_database.h
Makefile
Platforms/win32.mk
Platforms/win64.mk
common-decl.mk
common.mk

index 669ad722b7d48b60676a98652148fd0103e68fcf..d0b21c10fb2053ac233ffd3760b4754bfc742690 100644 (file)
@@ -8,7 +8,7 @@ OBJS = main.o
 all: dataworks$(EXEC_SUFFIX)
 
 dataworks$(EXEC_SUFFIX): $(OBJS)
-       $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) -ldataworks
+       $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) ../Library/$(STATICLIB_PREFIX)dataworks$(STATICLIB_SUFFIX)
 
 .c.o:
        $(CC) -I../Library $(CFLAGS) -c -o $@ $<
index 7487beb390cf5a5d67b0b5a6e754ec2ce9830483..0160e4c5530110e76aa2054c1d6625037a5f0e67 100644 (file)
@@ -118,7 +118,7 @@ int main(int argc, char** argv) {
                printf("Bad database file or non-existent.\n");
                return 1;
        }
-       printf("Opened the database (Version %d).\n", db->version);
+       printf("Opened the database (Version %d).\n", dataworks_database_get_version(db));
        printf("\n");
        printf("Type a command (.help) for the help\n");
        printf("\n");
index d57207405fa544d21ae9e05f22aac406b62654a9..cd7c7338293b67972c5d0fa593cbafa90eccb378 100644 (file)
@@ -5,11 +5,14 @@
 
 OBJS = parser.o database.o util.o dataworks.o
 
-all: $(LIB_PREFIX)dataworks$(LIB_SUFFIX)
+all: $(LIB_PREFIX)dataworks$(LIB_SUFFIX) $(STATICLIB_PREFIX)dataworks$(STATICLIB_SUFFIX)
 
 $(LIB_PREFIX)dataworks$(LIB_SUFFIX): $(OBJS)
        $(CC) -shared $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
 
+$(STATICLIB_PREFIX)dataworks$(STATICLIB_SUFFIX): $(OBJS)
+       $(AR) rcs $@ $(OBJS)
+
 .c.o:
        $(CC) $(CFLAGS) -DPLATFORM_M=\"$(PLATFORM_M)\" -DPLATFORM_P=\"$(PLATFORM_P)\" -fPIC -c -o $@ $<
 
index a20b94b91c1c738d3d486d4cd1ef221c075775db..c27d2db8dd19be4cf3a50eaf3906113539dc16bc 100644 (file)
@@ -78,8 +78,17 @@ struct dataworks_db* dataworks_database_open(const char* fname) {
        uint16_t ver;
        __dw_native_endian(be_ver, uint16_t, ver = __converted);
        __dw_unlockfile(fp);
-       struct dataworks_db* db = malloc(sizeof(*db));
-       db->fp = fp;
-       db->version = ver;
-       return db;
+       if(ver == 1){
+               struct dataworks_db* db = malloc(sizeof(*db));
+               db->fp = fp;
+               db->version = ver;
+               return db;
+       }else{
+               fclose(fp);
+               return NULL;
+       }
+}
+
+int dataworks_database_get_version(struct dataworks_db* db){
+       return db->version;
 }
index a96ed9c89b5c37ae24b91686429b5e74e72c74c4..62561f86247a048889b2d0756527aa6568ef844d 100644 (file)
@@ -83,6 +83,15 @@ int dataworks_database_create(const char* fname);
  */
 struct dataworks_db* dataworks_database_open(const char* fname);
 
+/**
+ * @~english
+ * @brief Get the version of the database.
+ * @param db Database
+ * @return Version of the database
+ *
+ */
+int dataworks_database_get_version(struct dataworks_db* db);
+
 #ifdef __cplusplus
 }
 #endif
index fe96d6a258ac4001a5ef5a8deeea78b1256f2d89..351be58e38ac1951a4dc5f88cc962440a8c044e6 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
 include common-decl.mk
 
 .if "$(PLATFORM)" != ""
-.include Platforms/$(PLATFORM).mk
+include Platforms/$(PLATFORM).mk
 .endif
 
 include common.mk
index 89e53e37f7d9c55cef1d11be74a9e3fccb1e8f52..41051fab50aebbf83ed06206db852590757d21bc 100644 (file)
@@ -1,6 +1,9 @@
 CC = i686-w64-mingw32-gcc
+AR = i686-w64-mingw32-gcc-ar
 LIB_PREFIX =
 LIB_SUFFIX = .dll
 EXEC_SUFFIX = .exe
+STATICLIB_PREFIX =
+STATICLIB_SUFFIX = .a
 PLATFORM_M = i686
 PLATFORM_P = i686
index 299c7256cae92d80f8c21b0580abbcde00cf8695..5b8ecb163631e385e8e58d3d6cac878224a360c1 100644 (file)
@@ -1,6 +1,9 @@
 CC = x86_64-w64-mingw32-gcc
+AR = x86_64-w64-mingw32-gcc-ar
 LIB_PREFIX =
 LIB_SUFFIX = .dll
 EXEC_SUFFIX = .exe
+STATICLIB_PREFIX =
+STATICLIB_SUFFIX = .a
 PLATFORM_M = x86_64
 PLATFORM_P = x86_64
index ea523c70e3b4766ecd95d5668f2d5fd61fad4a9f..0207893ab440cb82fdada6bcc1206ee295c7d204 100644 (file)
@@ -1,11 +1,14 @@
 # $Id$
 
 CC = cc
+AR = gcc-ar
 CFLAGS = -std=c99 -D_DEFAULT_SOURCE
 LDFLAGS = -L`pwd`/Library
 LIBS =
 LIB_PREFIX = lib
 LIB_SUFFIX = .so
+STATICLIB_PREFIX = lib
+STATICLIB_SUFFIX = .a
 EXEC_SUFFIX =
 PLATFORM_M = `uname -m`
 PLATFORM_P = `uname -p`
index ef4cde332e3b7a8f7682ca26e7c4506bb1add037..5a6aff10c856a935e3f6d8537641c36fc3944413 100644 (file)
--- a/common.mk
+++ b/common.mk
@@ -44,6 +44,7 @@ archive-prepare: all
        mkdir -p dataworks-dist/Library
        mkdir -p dataworks-dist/Document
        cp Library/*$(LIB_SUFFIX) dataworks-dist/Library/
+       cp Library/*$(STATICLIB_SUFFIX) dataworks-dist/Library/
        cp Library/*.h dataworks-dist/Library/
        cp Client/dataworks$(EXEC_SUFFIX) dataworks-dist/Client/
        cp -rf Document/doc/html dataworks-dist/Document/html