1CC ?= gcc
2DESTDIR ?= /usr/local
3LD ?= gcc
4C_COMMON_FLAGS ?= -fPIC -Wall -W -Wno-unused-parameter -Wno-pointer-sign -I./include -I./uthash -I./src
5MAJOR_VERSION = 0
6MINOR_VERSION = 2
7PATCH_VERSION = 9
8VERSION = "$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION)"
9SONAME = libucl.dll
10OBJDIR ?= .obj
11TESTDIR ?= tests
12SRCDIR ?= src
13INCLUDEDIR ?= include
14MKDIR ?= mkdir
15INSTALL ?= install
16RM ?= rm
17RMDIR ?= rmdir
18ifeq (Windows_NT, $(OS))
19LN ?= ln
20else
21LN ?= rem ln
22endif
23LD_SHARED_FLAGS ?= -Wl,-soname,$(SONAME) -shared -lm
24LD_UCL_FLAGS ?= -L$(OBJDIR) -Wl,-rpath,$(OBJDIR) -lucl
25LD_ADD ?= -lrt
26COPT_FLAGS ?= -O2
27HDEPS = $(SRCDIR)/ucl_hash.h \
28 $(SRCDIR)/ucl_chartable.h \
29 $(SRCDIR)/ucl_internal.h \
30 $(INCLUDEDIR)/ucl.h \
31 $(SRCDIR)/xxhash.h
32OBJECTS = $(OBJDIR)/ucl_hash.o \
33 $(OBJDIR)/ucl_util.o \
34 $(OBJDIR)/ucl_parser.o \
35 $(OBJDIR)/ucl_emitter.o \
36 $(OBJDIR)/ucl_schema.o \
37 $(OBJDIR)/xxhash.o
38
39all: $(OBJDIR) $(OBJDIR)/$(SONAME)
40
41$(OBJDIR)/$(SONAME): $(OBJECTS)
42 $(CC) -o $(OBJDIR)/$(SONAME) $(OBJECTS) $(LD_SHARED_FLAGS) $(LDFLAGS) $(SSL_LIBS) $(FETCH_LIBS)
43
44$(OBJDIR):
45 @$(MKDIR) -p $(OBJDIR)
46
47# Compile rules
48$(OBJDIR)/ucl_util.o: $(SRCDIR)/ucl_util.c $(HDEPS)
49 $(CC) -o $(OBJDIR)/ucl_util.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_util.c
50$(OBJDIR)/ucl_parser.o: $(SRCDIR)/ucl_parser.c $(HDEPS)
51 $(CC) -o $(OBJDIR)/ucl_parser.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_parser.c
52$(OBJDIR)/ucl_emitter.o: $(SRCDIR)/ucl_emitter.c $(HDEPS)
53 $(CC) -o $(OBJDIR)/ucl_emitter.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_emitter.c
54$(OBJDIR)/ucl_hash.o: $(SRCDIR)/ucl_hash.c $(HDEPS)
55 $(CC) -o $(OBJDIR)/ucl_hash.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_hash.c
56$(OBJDIR)/ucl_schema.o: $(SRCDIR)/ucl_schema.c $(HDEPS)
57 $(CC) -o $(OBJDIR)/ucl_schema.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_schema.c
58$(OBJDIR)/xxhash.o: $(SRCDIR)/xxhash.c $(HDEPS)
59 $(CC) -o $(OBJDIR)/xxhash.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/xxhash.c
60
61clean:
62 $(RM) $(OBJDIR)/*.o $(OBJDIR)/$(SONAME) $(OBJDIR)/$(SONAME) $(OBJDIR)/chargen $(OBJDIR)/test_basic $(OBJDIR)/test_speed $(OBJDIR)/objdump $(OBJDIR)/test_generate
63 $(RMDIR) $(OBJDIR)
64
65# Utils
--- 25 unchanged lines hidden ---
2DESTDIR ?= /usr/local
3LD ?= gcc
4C_COMMON_FLAGS ?= -fPIC -Wall -W -Wno-unused-parameter -Wno-pointer-sign -I./include -I./uthash -I./src
5MAJOR_VERSION = 0
6MINOR_VERSION = 2
7PATCH_VERSION = 9
8VERSION = "$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION)"
9SONAME = libucl.dll
10OBJDIR ?= .obj
11TESTDIR ?= tests
12SRCDIR ?= src
13INCLUDEDIR ?= include
14MKDIR ?= mkdir
15INSTALL ?= install
16RM ?= rm
17RMDIR ?= rmdir
18ifeq (Windows_NT, $(OS))
19LN ?= ln
20else
21LN ?= rem ln
22endif
23LD_SHARED_FLAGS ?= -Wl,-soname,$(SONAME) -shared -lm
24LD_UCL_FLAGS ?= -L$(OBJDIR) -Wl,-rpath,$(OBJDIR) -lucl
25LD_ADD ?= -lrt
26COPT_FLAGS ?= -O2
27HDEPS = $(SRCDIR)/ucl_hash.h \
28 $(SRCDIR)/ucl_chartable.h \
29 $(SRCDIR)/ucl_internal.h \
30 $(INCLUDEDIR)/ucl.h \
31 $(SRCDIR)/xxhash.h
32OBJECTS = $(OBJDIR)/ucl_hash.o \
33 $(OBJDIR)/ucl_util.o \
34 $(OBJDIR)/ucl_parser.o \
35 $(OBJDIR)/ucl_emitter.o \
36 $(OBJDIR)/ucl_schema.o \
37 $(OBJDIR)/xxhash.o
38
39all: $(OBJDIR) $(OBJDIR)/$(SONAME)
40
41$(OBJDIR)/$(SONAME): $(OBJECTS)
42 $(CC) -o $(OBJDIR)/$(SONAME) $(OBJECTS) $(LD_SHARED_FLAGS) $(LDFLAGS) $(SSL_LIBS) $(FETCH_LIBS)
43
44$(OBJDIR):
45 @$(MKDIR) -p $(OBJDIR)
46
47# Compile rules
48$(OBJDIR)/ucl_util.o: $(SRCDIR)/ucl_util.c $(HDEPS)
49 $(CC) -o $(OBJDIR)/ucl_util.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_util.c
50$(OBJDIR)/ucl_parser.o: $(SRCDIR)/ucl_parser.c $(HDEPS)
51 $(CC) -o $(OBJDIR)/ucl_parser.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_parser.c
52$(OBJDIR)/ucl_emitter.o: $(SRCDIR)/ucl_emitter.c $(HDEPS)
53 $(CC) -o $(OBJDIR)/ucl_emitter.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_emitter.c
54$(OBJDIR)/ucl_hash.o: $(SRCDIR)/ucl_hash.c $(HDEPS)
55 $(CC) -o $(OBJDIR)/ucl_hash.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_hash.c
56$(OBJDIR)/ucl_schema.o: $(SRCDIR)/ucl_schema.c $(HDEPS)
57 $(CC) -o $(OBJDIR)/ucl_schema.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_schema.c
58$(OBJDIR)/xxhash.o: $(SRCDIR)/xxhash.c $(HDEPS)
59 $(CC) -o $(OBJDIR)/xxhash.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/xxhash.c
60
61clean:
62 $(RM) $(OBJDIR)/*.o $(OBJDIR)/$(SONAME) $(OBJDIR)/$(SONAME) $(OBJDIR)/chargen $(OBJDIR)/test_basic $(OBJDIR)/test_speed $(OBJDIR)/objdump $(OBJDIR)/test_generate
63 $(RMDIR) $(OBJDIR)
64
65# Utils
--- 25 unchanged lines hidden ---