php-src/ext/mbstring/oniguruma/win32/Makefile

132 lines
3.3 KiB
Makefile

# Oniguruma Makefile for Win32
product_name = oniguruma
CPPFLAGS =
CFLAGS = -O2 -nologo
LDFLAGS =
LOADLIBES =
ARLIB = lib
ARLIB_FLAGS = -nologo
ARDLL = cl
ARDLL_FLAGS = -nologo -LD $(LINKFLAGS) -dll
LINKFLAGS = -link -incremental:no -pdb:none
INSTALL = install -c
CP = copy
CC = cl
DEFS = -DHAVE_CONFIG_H -DNOT_RUBY -DEXPORT
RUBYDIR = ..
subdirs =
libbase = onig
libname = $(libbase)_s.lib
dllname = $(libbase).dll
dlllib = $(libbase).lib
onigheaders = oniguruma.h regint.h regparse.h
posixheaders = onigposix.h
headers = $(posixheaders) $(onigheaders)
onigobjs = reggnu.obj regerror.obj regparse.obj regcomp.obj regexec.obj
posixobjs = regposix.obj regposerr.obj
libobjs = $(onigobjs) $(posixobjs)
onigsources = regerror.c regparse.c regcomp.c regexec.c reggnu.c
posixsources = regposix.c regposerr.c
libsources = $(posixsources) $(onigsources)
rubysources = regex.c $(onigsources)
patchfiles = re.c.168.patch re.c.180.patch
distfiles = README COPYING INSTALL-RUBY HISTORY \
Makefile.in configure.in config.h.in configure \
$(headers) $(libsources) regex.c $(patchfiles) \
test.rb testconv.rb
testc = testc
testp = testp
makeargs = $(MFLAGS) CPPFLAGS='$(CPPFLAGS)' CFLAGS='$(CFLAGS)' CC='$(CC)'
.SUFFIXES:
.SUFFIXES: .obj .c .h .ps .dvi .info .texinfo
.c.obj:
$(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) /I. /c $<
# targets
default: all
all: $(libname) $(dllname)
$(libname): $(libobjs)
$(ARLIB) $(ARLIB_FLAGS) -out:$@ $(libobjs)
$(dllname): $(libobjs)
$(ARDLL) $(libobjs) -Fe$@ $(ARDLL_FLAGS)
regparse.obj: regparse.c $(onigheaders) config.h
regcomp.obj: regcomp.c $(onigheaders) config.h
regexec.obj: regexec.c regint.h oniguruma.h config.h
reggnu.obj: reggnu.c regint.h oniguruma.h config.h
regerror.obj: regerror.c regint.h oniguruma.h config.h
regposix.obj: regposix.c $(posixheaders) oniguruma.h config.h
regposerr.obj: regposerr.c $(posixheaders) config.h
# Ruby test
rtest:
$(RUBYDIR)\win32\ruby -w -Ke test.rb
# C library test
ctest: $(testc)
.\$(testc)
# POSIX C library test
ptest: $(testp)
.\$(testp)
$(testc): $(testc).c $(libname)
$(CC) -nologo -o $(testc) $(testc).c $(libname)
$(testp): $(testc).c $(dlllib)
$(CC) -nologo -DPOSIX_TEST -DIMPORT -o $(testp) $(testc).c $(dlllib)
clean:
del *.obj *.lib *.exp *.dll $(testp).exe $(testc).exe $(testc).obj
16: cpruby
patch -d $(RUBYDIR) -p0 < re.c.168.patch
18: cpruby
patch -d $(RUBYDIR) -p0 < re.c.180.patch
# backup file suffix
SORIG = ruby_orig
cpruby:
$(CP) $(RUBYDIR)\regex.c $(RUBYDIR)\regex.c.$(SORIG)
$(CP) $(RUBYDIR)\regex.h $(RUBYDIR)\regex.h.$(SORIG)
$(CP) $(RUBYDIR)\re.c $(RUBYDIR)\re.c.$(SORIG)
# $(rubysources)
$(CP) regex.c $(RUBYDIR)
$(CP) regerror.c $(RUBYDIR)
$(CP) regparse.c $(RUBYDIR)
$(CP) regcomp.c $(RUBYDIR)
$(CP) regexec.c $(RUBYDIR)
$(CP) reggnu.c $(RUBYDIR)
# $(onigheaders)
$(CP) oniguruma.h $(RUBYDIR)\regex.h
$(CP) regint.h $(RUBYDIR)
$(CP) regparse.h $(RUBYDIR)
rback:
$(CP) $(RUBYDIR)\regex.c.$(SORIG) $(RUBYDIR)\regex.c
$(CP) $(RUBYDIR)\regex.h.$(SORIG) $(RUBYDIR)\regex.h
$(CP) $(RUBYDIR)\re.c.$(SORIG) $(RUBYDIR)\re.c
samples:
$(CC) $(CFLAGS) -I. -DIMPORT -o simple sample\simple.c $(dlllib)
$(CC) $(CFLAGS) -I. -DIMPORT -o posix sample\posix.c $(dlllib)
$(CC) $(CFLAGS) -I. -DIMPORT -o names sample\names.c $(dlllib)