xref: /freebsd/contrib/libucl/Makefile.w32 (revision 242b24828472137ec4411826b86e753d49bd2c39)
136c53d67SBaptiste DaroussinCC ?= gcc
236c53d67SBaptiste DaroussinDESTDIR ?= /usr/local
336c53d67SBaptiste DaroussinLD ?= gcc
436c53d67SBaptiste DaroussinC_COMMON_FLAGS ?= -fPIC -Wall -W -Wno-unused-parameter -Wno-pointer-sign -I./include -I./uthash -I./src
536c53d67SBaptiste DaroussinMAJOR_VERSION = 0
636c53d67SBaptiste DaroussinMINOR_VERSION = 2
797bd480fSBaptiste DaroussinPATCH_VERSION = 9
836c53d67SBaptiste DaroussinVERSION = "$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION)"
936c53d67SBaptiste DaroussinSONAME = libucl.dll
1036c53d67SBaptiste DaroussinOBJDIR ?= .obj
1136c53d67SBaptiste DaroussinTESTDIR ?= tests
1236c53d67SBaptiste DaroussinSRCDIR ?= src
1336c53d67SBaptiste DaroussinINCLUDEDIR ?= include
1436c53d67SBaptiste DaroussinMKDIR ?= mkdir
1536c53d67SBaptiste DaroussinINSTALL ?= install
1636c53d67SBaptiste DaroussinRM ?= rm
1736c53d67SBaptiste DaroussinRMDIR ?= rmdir
1836c53d67SBaptiste Daroussinifeq (Windows_NT, $(OS))
1936c53d67SBaptiste DaroussinLN ?= ln
2036c53d67SBaptiste Daroussinelse
2136c53d67SBaptiste DaroussinLN ?= rem ln
2236c53d67SBaptiste Daroussinendif
2336c53d67SBaptiste DaroussinLD_SHARED_FLAGS ?= -Wl,-soname,$(SONAME) -shared -lm
2436c53d67SBaptiste DaroussinLD_UCL_FLAGS ?= -L$(OBJDIR) -Wl,-rpath,$(OBJDIR) -lucl
2536c53d67SBaptiste DaroussinLD_ADD ?= -lrt
2636c53d67SBaptiste DaroussinCOPT_FLAGS ?= -O2
2797bd480fSBaptiste DaroussinHDEPS = $(SRCDIR)/ucl_hash.h \
2897bd480fSBaptiste Daroussin		$(SRCDIR)/ucl_chartable.h \
2997bd480fSBaptiste Daroussin		$(SRCDIR)/ucl_internal.h \
3097bd480fSBaptiste Daroussin		$(INCLUDEDIR)/ucl.h \
31*273c26a3SBaptiste Daroussin		$(SRCDIR)/mum.h
3297bd480fSBaptiste DaroussinOBJECTS = $(OBJDIR)/ucl_hash.o \
3397bd480fSBaptiste Daroussin		$(OBJDIR)/ucl_util.o \
3497bd480fSBaptiste Daroussin		$(OBJDIR)/ucl_parser.o \
3597bd480fSBaptiste Daroussin		$(OBJDIR)/ucl_emitter.o \
364bf54857SBaptiste Daroussin		$(OBJDIR)/ucl_emitter_utils.o \
37*273c26a3SBaptiste Daroussin		$(OBJDIR)/ucl_schema.o
3836c53d67SBaptiste Daroussin
3936c53d67SBaptiste Daroussinall: $(OBJDIR) $(OBJDIR)/$(SONAME)
4036c53d67SBaptiste Daroussin
4136c53d67SBaptiste Daroussin$(OBJDIR)/$(SONAME): $(OBJECTS)
4236c53d67SBaptiste Daroussin	$(CC) -o $(OBJDIR)/$(SONAME) $(OBJECTS) $(LD_SHARED_FLAGS) $(LDFLAGS) $(SSL_LIBS) $(FETCH_LIBS)
4336c53d67SBaptiste Daroussin
4436c53d67SBaptiste Daroussin$(OBJDIR):
4536c53d67SBaptiste Daroussin	@$(MKDIR) -p $(OBJDIR)
4636c53d67SBaptiste Daroussin
4736c53d67SBaptiste Daroussin# Compile rules
4836c53d67SBaptiste Daroussin$(OBJDIR)/ucl_util.o: $(SRCDIR)/ucl_util.c $(HDEPS)
4936c53d67SBaptiste Daroussin	$(CC) -o $(OBJDIR)/ucl_util.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_util.c
5036c53d67SBaptiste Daroussin$(OBJDIR)/ucl_parser.o: $(SRCDIR)/ucl_parser.c $(HDEPS)
5136c53d67SBaptiste Daroussin	$(CC) -o $(OBJDIR)/ucl_parser.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_parser.c
5236c53d67SBaptiste Daroussin$(OBJDIR)/ucl_emitter.o: $(SRCDIR)/ucl_emitter.c $(HDEPS)
5336c53d67SBaptiste Daroussin	$(CC) -o $(OBJDIR)/ucl_emitter.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_emitter.c
544bf54857SBaptiste Daroussin$(OBJDIR)/ucl_emitter_utils.o: $(SRCDIR)/ucl_emitter_utils.c $(HDEPS)
554bf54857SBaptiste Daroussin	$(CC) -o $(OBJDIR)/ucl_emitter_utils.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_emitter_utils.c
5636c53d67SBaptiste Daroussin$(OBJDIR)/ucl_hash.o: $(SRCDIR)/ucl_hash.c $(HDEPS)
5736c53d67SBaptiste Daroussin	$(CC) -o $(OBJDIR)/ucl_hash.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_hash.c
5897bd480fSBaptiste Daroussin$(OBJDIR)/ucl_schema.o: $(SRCDIR)/ucl_schema.c $(HDEPS)
5997bd480fSBaptiste Daroussin	$(CC) -o $(OBJDIR)/ucl_schema.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_schema.c
6036c53d67SBaptiste Daroussin$(OBJDIR)/xxhash.o: $(SRCDIR)/xxhash.c $(HDEPS)
6136c53d67SBaptiste Daroussin	$(CC) -o $(OBJDIR)/xxhash.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/xxhash.c
6236c53d67SBaptiste Daroussin
6336c53d67SBaptiste Daroussinclean:
6436c53d67SBaptiste Daroussin	$(RM) $(OBJDIR)/*.o $(OBJDIR)/$(SONAME) $(OBJDIR)/$(SONAME) $(OBJDIR)/chargen $(OBJDIR)/test_basic $(OBJDIR)/test_speed $(OBJDIR)/objdump $(OBJDIR)/test_generate
6536c53d67SBaptiste Daroussin	$(RMDIR) $(OBJDIR)
6636c53d67SBaptiste Daroussin
6736c53d67SBaptiste Daroussin# Utils
6836c53d67SBaptiste Daroussin
6936c53d67SBaptiste Daroussinchargen: utils/chargen.c $(OBJDIR)/$(SONAME)
7036c53d67SBaptiste Daroussin	$(CC) -o $(OBJDIR)/chargen $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) utils/chargen.c
7136c53d67SBaptiste Daroussinobjdump: utils/objdump.c $(OBJDIR)/$(SONAME)
7236c53d67SBaptiste Daroussin	$(CC) -o $(OBJDIR)/objdump $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) utils/objdump.c $(LD_UCL_FLAGS)
7336c53d67SBaptiste Daroussin
7436c53d67SBaptiste Daroussin# Tests
7536c53d67SBaptiste Daroussin
7636c53d67SBaptiste Daroussintest: $(OBJDIR) $(OBJDIR)/$(SONAME) $(OBJDIR)/test_basic $(OBJDIR)/test_speed $(OBJDIR)/test_generate
7736c53d67SBaptiste Daroussin
7836c53d67SBaptiste Daroussinrun-test: test
7936c53d67SBaptiste Daroussin	TEST_DIR=$(TESTDIR) $(TESTDIR)/run_tests.sh $(OBJDIR)/test_basic $(OBJDIR)/test_speed $(OBJDIR)/test_generate
8036c53d67SBaptiste Daroussin
8136c53d67SBaptiste Daroussin$(OBJDIR)/test_basic: $(TESTDIR)/test_basic.c $(OBJDIR)/$(SONAME)
8236c53d67SBaptiste Daroussin	$(CC) -o $(OBJDIR)/test_basic $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) $(TESTDIR)/test_basic.c $(LD_UCL_FLAGS)
8336c53d67SBaptiste Daroussin$(OBJDIR)/test_speed: $(TESTDIR)/test_speed.c $(OBJDIR)/$(SONAME)
8436c53d67SBaptiste Daroussin	$(CC) -o $(OBJDIR)/test_speed $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) $(TESTDIR)/test_speed.c $(LD_UCL_FLAGS) $(LD_ADD)
8536c53d67SBaptiste Daroussin$(OBJDIR)/test_generate: $(TESTDIR)/test_generate.c $(OBJDIR)/$(SONAME)
8636c53d67SBaptiste Daroussin	$(CC) -o $(OBJDIR)/test_generate $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) $(TESTDIR)/test_generate.c $(LD_UCL_FLAGS) $(LD_ADD)
8736c53d67SBaptiste Daroussin
8836c53d67SBaptiste Daroussininstall: $(OBJDIR)/$(SONAME)
8936c53d67SBaptiste Daroussin	$(INSTALL) -m0755 $(SONAME) $(DESTDIR)/lib/$(SONAME)
9036c53d67SBaptiste Daroussin	$(INSTALL) -m0644 include/ucl.h $(DESTDIR)/include/ucl.h
9136c53d67SBaptiste Daroussin
9236c53d67SBaptiste Daroussin.PHONY: clean $(OBJDIR)
93