mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-22 12:31:32 +00:00
92 lines
2.1 KiB
Makefile
92 lines
2.1 KiB
Makefile
|
|
||
|
# comma separated list (e.g. "iconv.dll,libiconv.dll")
|
||
|
DEFAULT_LIBICONV_DLL ?= \"\"
|
||
|
|
||
|
|
||
|
prefix ?=/usr/local/mingw
|
||
|
INSTALL ?=install
|
||
|
|
||
|
COPY ?=cp
|
||
|
MKDIR ?=mkdir
|
||
|
SVN_EXPORT ?=svn export
|
||
|
ZIP ?=zip
|
||
|
|
||
|
CFLAGS += -pedantic -Wall
|
||
|
CPPFLAGS += -DUSE_LIBICONV_DLL
|
||
|
CPPFLAGS += -DDEFAULT_LIBICONV_DLL=$(DEFAULT_LIBICONV_DLL)
|
||
|
|
||
|
DLLWRAP ?=dllwrap
|
||
|
RANLIB ?=ranlib
|
||
|
STRIP ?=strip
|
||
|
|
||
|
all: iconv.dll libiconv.a win_iconv.exe
|
||
|
|
||
|
dist: test win_iconv.zip
|
||
|
|
||
|
iconv.dll: win_iconv.c
|
||
|
$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -DMAKE_DLL
|
||
|
$(DLLWRAP) --dllname $@ --def iconv.def win_iconv.o $(SPECS_FLAGS)
|
||
|
$(STRIP) $@
|
||
|
|
||
|
libiconv.a: win_iconv.c
|
||
|
$(CC) $(CPPFLAGS) $(CFLAGS) -c $<
|
||
|
$(AR) rcs $@ win_iconv.o
|
||
|
$(RANLIB) $@
|
||
|
|
||
|
win_iconv.exe: win_iconv.c
|
||
|
$(CC) $(CPPFLAGS) $(CFLAGS) -s -o$@ $< -DMAKE_EXE
|
||
|
|
||
|
libmlang.a: mlang.def
|
||
|
$(DLLTOOL) --kill-at --input-def $< --output-lib $@
|
||
|
|
||
|
test:
|
||
|
$(CC) $(CPPFLAGS) $(CFLAGS) -s -o win_iconv_test.exe win_iconv_test.c
|
||
|
./win_iconv_test.exe
|
||
|
|
||
|
win_iconv.zip: msvcrt msvcr70 msvcr71
|
||
|
$(RM) -r win_iconv
|
||
|
$(SVN_EXPORT) . win_iconv
|
||
|
$(COPY) msvcrt/iconv.dll msvcrt/win_iconv.exe win_iconv/
|
||
|
$(MKDIR) win_iconv/msvcr70
|
||
|
$(COPY) msvcr70/iconv.dll win_iconv/msvcr70/
|
||
|
$(MKDIR) win_iconv/msvcr71
|
||
|
$(COPY) msvcr71/iconv.dll win_iconv/msvcr71/
|
||
|
$(ZIP) -r $@ win_iconv
|
||
|
|
||
|
msvcrt:
|
||
|
$(SVN_EXPORT) . $@
|
||
|
$(MAKE) -C $@
|
||
|
|
||
|
msvcr70:
|
||
|
$(SVN_EXPORT) . $@
|
||
|
$(CC) -dumpspecs | sed s/-lmsvcrt/-l$@/ > $@/specs
|
||
|
$(MAKE) -C $@ "SPECS_FLAGS=-specs=$$PWD/specs"
|
||
|
|
||
|
msvcr71:
|
||
|
$(SVN_EXPORT) . $@
|
||
|
$(CC) -dumpspecs | sed s/-lmsvcrt/-l$@/ > $@/specs
|
||
|
$(MAKE) -C $@ "SPECS_FLAGS=-specs=$$PWD/specs"
|
||
|
|
||
|
install: all
|
||
|
-$(MKDIR) -p $(DESTDIR)$(prefix)/bin
|
||
|
$(INSTALL) iconv.dll $(DESTDIR)$(prefix)/bin/iconv.dll
|
||
|
$(INSTALL) win_iconv.exe $(DESTDIR)$(prefix)/bin/win_iconv.exe
|
||
|
-$(MKDIR) -p $(DESTDIR)$(prefix)/lib
|
||
|
$(INSTALL) libiconv.a $(DESTDIR)$(prefix)/lib/libiconv.a
|
||
|
-$(MKDIR) -p $(DESTDIR)$(prefix)/include
|
||
|
$(INSTALL) iconv.h $(DESTDIR)$(prefix)/include/iconv.h
|
||
|
|
||
|
clean:
|
||
|
$(RM) win_iconv.exe
|
||
|
$(RM) win_iconv.o
|
||
|
$(RM) iconv.dll*
|
||
|
$(RM) libiconv.a
|
||
|
$(RM) libiconv.dll
|
||
|
$(RM) win_iconv_test.exe
|
||
|
$(RM) libmlang.a
|
||
|
$(RM) -r win_iconv
|
||
|
$(RM) -r win_iconv.zip
|
||
|
$(RM) -r msvcrt
|
||
|
$(RM) -r msvcr70
|
||
|
$(RM) -r msvcr71
|