forked from wezm/open2300
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
executable file
·136 lines (104 loc) · 3.43 KB
/
Makefile
File metadata and controls
executable file
·136 lines (104 loc) · 3.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
####### Makefile for open2300 - manually generated
#
# Starting from v 1.2 all user parameters are stored in a config file
# Default locations are
# 1. Path to config file including filename given as parameter
# 2. ./open2300.conf
# 3. /usr/local/etc/open2300.conf
# 4. /etc/open2300.conf
#
# This makefile is made for Linux.
# For Windows version modify the CC_LDFLAG by adding a -lwsock32
#
# You may want to adjust the 3 directories below
prefix = /usr/local
exec_prefix = ${prefix}
bindir = ${exec_prefix}/bin
libdir = ${prefix}/lib
#########################################
UNAME := $(shell uname)
ifeq ($(UNAME), Darwin)
LFLAGS = -shared -Wl,-dylib_install_name
LSUFFIX = dylib
endif
ifeq ($(UNAME), Linux)
LFLAGS = -shared -Wl,-soname
LSUFFIX = so
endif
CC = gcc
LIB = lib2300
LIB_C = rw2300.c linux2300.c
LIBOBJ = rw2300.o linux2300.o
VERSION = 1.11
MYCPPFLAGS = -DVERSION=\"$(VERSION)\"
CFLAGS = -Wall -O3
CC_LDFLAGS = -L. -lm -l2300
INSTALL = install
MAKE_EXEC = $(CC) $(CPPFLAGS) $(MYCPPFLAGS) $(CFLAGS) $@.c -o $@ $(LDFLAGS) $(CC_LDFLAGS)
####### Build rules
all: open2300 dump2300 dumpconfig2300 log2300 fetch2300 wu2300 cw2300 history2300 histlog2300 bin2300 xml2300 light2300 interval2300 minmax2300
lib2300 :
$(CC) -c -fPIC $(CPPFLAGS) $(MYCPPFLAGS) $(CFLAGS) $(LIB_C)
$(CC) $(LFLAGS),$@.$(LSUFFIX) -o $@.$(LSUFFIX).$(VERSION) $(LIBOBJ)
ln -sf $@.$(LSUFFIX).$(VERSION) $@.$(LSUFFIX)
open2300 : $(LIB)
$(MAKE_EXEC)
dump2300 : $(LIB)
$(MAKE_EXEC)
dumpconfig2300 : $(LIB)
$(MAKE_EXEC)
log2300 : $(LIB)
$(MAKE_EXEC)
fetch2300 : $(LIB)
$(MAKE_EXEC)
srv2300 : $(LIB)
$(MAKE_EXEC)
wu2300 : $(LIB)
$(MAKE_EXEC)
cw2300 : $(LIB)
$(MAKE_EXEC)
history2300 : $(LIB)
$(MAKE_EXEC)
histlog2300 : $(LIB)
$(MAKE_EXEC)
bin2300 : $(LIB)
$(MAKE_EXEC)
xml2300 : $(LIB)
$(MAKE_EXEC)
mysql2300: $(LIB)
$(CC) $(CFLAGS) $@.c -o $@ -I/usr/include/mysql -L/usr/lib/mysql $(CC_LDFLAGS) -lmysqlclient
pgsql2300: $(LIB)
$(CC) $(CFLAGS) $@.c -o $@ -I/usr/include/pgsql -L/usr/lib/pgsql $(CC_LDFLAGS) -lpq
sqlitelog2300: $(LIB)
$(CC) $(CPPFLAGS) $(MYCPPFLAGS) $(CFLAGS) $@.c -o $@ $(LDFLAGS) $(CC_LDFLAGS) -lsqlite3
light2300: $(LIB)
$(MAKE_EXEC)
interval2300: $(LIB)
$(MAKE_EXEC)
minmax2300: $(LIB)
$(MAKE_EXEC)
mysqlhistlog2300 : $(LIB)
$(CC) $(CFLAGS) $@.c -o $@ -I/usr/include/mysql -L/usr/lib/mysql $(CC_LDFLAGS) -lmysqlclient
install:
mkdir -p $(bindir)
mkdir -p $(libdir)
$(INSTALL) $(LIB).$(LSUFFIX).$(VERSION) $(libdir)
ln -sf $(libdir)/$(LIB).$(LSUFFIX).$(VERSION) $(libdir)/$(LIB).$(LSUFFIX)
$(INSTALL) srv2300 $(bindir)
$(INSTALL) open2300 $(bindir)
$(INSTALL) dump2300 $(bindir)
$(INSTALL) log2300 $(bindir)
$(INSTALL) fetch2300 $(bindir)
$(INSTALL) wu2300 $(bindir)
$(INSTALL) cw2300 $(bindir)
$(INSTALL) histlog2300 $(bindir)
$(INSTALL) xml2300 $(bindir)
$(INSTALL) light2300 $(bindir)
$(INSTALL) interval2300 $(bindir)
$(INSTALL) minmax2300 $(bindir)
# $(INSTALL) mysql2300 $(bindir)
# $(INSTALL) mysqlhistlog2300 $(bindir)
uninstall:
rm -f $(libdir)/$(LIB).* $(bindir)/open2300 $(bindir)/dump2300 $(bindir)/log2300 $(bindir)/fetch2300 $(bindir)/srv2300 $(bindir)/wu2300 $(bindir)/cw2300 $(bindir)/xml2300 $(bindir)/light2300 $(bindir)/interval2300 $(bindir)/minmax2300 $(bindir)/histlog2300 $(bindir)/mysql2300 $(bindir)/mysqlhistlog2300
clean:
rm -f *~ *.o *.$(LSUFFIX)* open2300 dump2300 log2300 fetch2300 wu2300 cw2300 history2300 histlog2300 bin2300 xml2300 mysql2300 pgsql2300 light2300 interval2300 minmax2300 mysql2300 mysqlhistlog2300