001-crosscompile.patch (4323B)
1 --- a/Makefile 2 +++ b/Makefile 3 @@ -15,87 +15,82 @@ 4 prefix = /usr/local 5 exec_prefix = ${prefix} 6 bindir = ${exec_prefix}/bin 7 +libdir = ${prefix}/lib 8 9 ######################################### 10 11 CC = gcc 12 -OBJ = open2300.o rw2300.o linux2300.o win2300.o 13 -LOGOBJ = log2300.o rw2300.o linux2300.o win2300.o 14 -FETCHOBJ = fetch2300.o rw2300.o linux2300.o win2300.o 15 -WUOBJ = wu2300.o rw2300.o linux2300.o win2300.o 16 -CWOBJ = cw2300.o rw2300.o linux2300.o win2300.o 17 -DUMPOBJ = dump2300.o rw2300.o linux2300.o win2300.o 18 -HISTOBJ = history2300.o rw2300.o linux2300.o win2300.o 19 -HISTLOGOBJ = histlog2300.o rw2300.o linux2300.o win2300.o 20 -DUMPBINOBJ = bin2300.o rw2300.o linux2300.o win2300.o 21 -XMLOBJ = xml2300.o rw2300.o linux2300.o win2300.o 22 -PGSQLOBJ = pgsql2300.o rw2300.o linux2300.o win2300.o 23 -LIGHTOBJ = light2300.o rw2300.o linux2300.o win2300.o 24 -INTERVALOBJ = interval2300.o rw2300.o linux2300.o win2300.o 25 -MINMAXOBJ = minmax2300.o rw2300.o linux2300.o win2300.o 26 -MYSQLHISTLOGOBJ = mysqlhistlog2300.o rw2300.o linux2300.o win2300.o 27 +LIB = lib2300 28 +LIB_C = rw2300.c linux2300.c 29 +LIBOBJ = rw2300.o linux2300.o 30 31 VERSION = 1.11 32 33 CFLAGS = -Wall -O3 -DVERSION=\"$(VERSION)\" 34 -CC_LDFLAGS = -lm 35 -CC_WINFLAG = 36 -# For Windows - comment the two line above and un-comment the two lines below. 37 -#CC_LDFLAGS = -lm -lwsock32 38 -#CC_WINFLAG = -mwindows 39 +CC_LDFLAGS = -L. -lm -l2300 40 +LFLAGS = -shared -Wl,-soname 41 INSTALL = install 42 +MAKE_EXEC = $(CC) $(CFLAGS) $@.c -o $@ $(CC_LDFLAGS) 43 44 ####### Build rules 45 46 -all: open2300 dump2300 log2300 fetch2300 wu2300 cw2300 history2300 histlog2300 bin2300 xml2300 light2300 interval2300 minmax2300 mysql2300 mysqlhistlog2300 47 +all: open2300 dump2300 log2300 fetch2300 wu2300 cw2300 history2300 histlog2300 bin2300 xml2300 light2300 interval2300 minmax2300 #mysql2300 mysqlhistlog2300 48 49 -open2300 : $(OBJ) 50 - $(CC) $(CFLAGS) -o $@ $(OBJ) $(CC_LDFLAGS) 51 - 52 -dump2300 : $(DUMPOBJ) 53 - $(CC) $(CFLAGS) -o $@ $(DUMPOBJ) $(CC_LDFLAGS) 54 +lib2300 : 55 + $(CC) -c -fPIC $(CFLAGS) $(LIB_C) 56 + $(CC) $(LFLAGS),$@.so -o $@.so.$(VERSION) $(LIBOBJ) 57 + ln -sf $@.so.$(VERSION) $@.so 58 + 59 +open2300 : $(LIB) 60 + $(MAKE_EXEC) 61 62 -log2300 : $(LOGOBJ) 63 - $(CC) $(CFLAGS) -o $@ $(LOGOBJ) $(CC_LDFLAGS) $(CC_WINFLAG) 64 +dump2300 : $(LIB) 65 + $(MAKE_EXEC) 66 67 -fetch2300 : $(FETCHOBJ) 68 - $(CC) $(CFLAGS) -o $@ $(FETCHOBJ) $(CC_LDFLAGS) 69 +log2300 : $(LIB) 70 + $(MAKE_EXEC) 71 72 -wu2300 : $(WUOBJ) 73 - $(CC) $(CFLAGS) -o $@ $(WUOBJ) $(CC_LDFLAGS) $(CC_WINFLAG) 74 +fetch2300 : $(LIB) 75 + $(MAKE_EXEC) 76 + 77 +srv2300 : $(LIB) 78 + $(MAKE_EXEC) 79 + 80 +wu2300 : $(LIB) 81 + $(MAKE_EXEC) 82 83 -cw2300 : $(CWOBJ) 84 - $(CC) $(CFLAGS) -o $@ $(CWOBJ) $(CC_LDFLAGS) $(CC_WINFLAG) 85 +cw2300 : $(LIB) 86 + $(MAKE_EXEC) 87 88 -history2300 : $(HISTOBJ) 89 - $(CC) $(CFLAGS) -o $@ $(HISTOBJ) $(CC_LDFLAGS) 90 +history2300 : $(LIB) 91 + $(MAKE_EXEC) 92 93 -histlog2300 : $(HISTLOGOBJ) 94 - $(CC) $(CFLAGS) -o $@ $(HISTLOGOBJ) $(CC_LDFLAGS) $(CC_WINFLAG) 95 +histlog2300 : $(LIB) 96 + $(MAKE_EXEC) 97 98 -bin2300 : $(DUMPBINOBJ) 99 - $(CC) $(CFLAGS) -o $@ $(DUMPBINOBJ) $(CC_LDFLAGS) 100 +bin2300 : $(LIB) 101 + $(MAKE_EXEC) 102 103 -xml2300 : $(XMLOBJ) 104 - $(CC) $(CFLAGS) -o $@ $(XMLOBJ) $(CC_LDFLAGS) $(CC_WINFLAG) 105 +xml2300 : $(LIB) 106 + $(MAKE_EXEC) 107 108 -mysql2300: 109 - $(CC) $(CFLAGS) -o mysql2300 mysql2300.c rw2300.c linux2300.c $(CC_LDFLAGS) $(CC_WINFLAG) -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient 110 +mysql2300: $(LIB) 111 + $(CC) $(CFLAGS) $@.c -o $@ -I/usr/include/mysql -L/usr/lib/mysql $(CC_LDFLAGS) -lmysqlclient 112 113 -pgsql2300: $(PGSQLOBJ) 114 - $(CC) $(CFLAGS) -o $@ $(PGSQLOBJ) $(CC_LDFLAGS) $(CC_WINFLAG) -I/usr/include/pgsql -L/usr/lib/pgsql -lpq 115 +pgsql2300: $(LIB) 116 + $(CC) $(CFLAGS) $@.c -o $@ -I/usr/include/pgsql -L/usr/lib/pgsql $(CC_LDFLAGS) -lpq 117 118 -light2300: $(LIGHTOBJ) 119 - $(CC) $(CFLAGS) -o $@ $(LIGHTOBJ) $(CC_LDFLAGS) 120 +light2300: $(LIB) 121 + $(MAKE_EXEC) 122 123 -interval2300: $(INTERVALOBJ) 124 - $(CC) $(CFLAGS) -o $@ $(INTERVALOBJ) $(CC_LDFLAGS) 125 +interval2300: $(LIB) 126 + $(MAKE_EXEC) 127 128 -minmax2300: $(MINMAXOBJ) 129 - $(CC) $(CFLAGS) -o $@ $(MINMAXOBJ) $(CC_LDFLAGS) $(CC_WINFLAG) 130 +minmax2300: $(LIB) 131 + $(MAKE_EXEC) 132 133 -mysqlhistlog2300 : 134 - $(CC) $(CFLAGS) -o mysqlhistlog2300 mysqlhistlog2300.c rw2300.c linux2300.c $(CC_LDFLAGS) $(CC_WINFLAG) -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient 135 +mysqlhistlog2300 : $(LIB) 136 + $(CC) $(CFLAGS) $@.c -o $@ -I/usr/include/mysql -L/usr/lib/mysql $(CC_LDFLAGS) -lmysqlclient 137 138 139 install: