Skip to content

Commit

Permalink
2.2+
Browse files Browse the repository at this point in the history
  • Loading branch information
toroidj committed Oct 26, 2024
1 parent 4e058a3 commit a944370
Show file tree
Hide file tree
Showing 2 changed files with 107 additions and 0 deletions.
93 changes: 93 additions & 0 deletions GNUmakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
#=======================================
targetname = iftwic

ifndef ARM
ARM = 0
endif
ifndef X64
X64 = 0
endif
ifndef RELEASE
RELEASE = 0
endif

ifeq ($(strip $(ARM)),1)
TAIL = 64A
else
ifeq ($(strip $(X64)),1)
TAIL = 64
targetext = sph
else
TAIL = 32
targetext = spi
endif
endif
objdir = .obj

all: $(objdir) code$(TAIL)$(RELEASE).o $(targetname).$(targetext)
objs = $(objdir)/$(targetname).o $(objdir)/TCFG.o $(objdir)/$(targetname).coff

gccname = gcc -finput-charset=CP932 -fexec-charset=CP932
releaseopt = -O2 -Os -flto -s
devopt = -g
cc = @$(gccname) $(WarnOpt)
lddll = @$(gccname) -shared -static $(WarnOpt)
Rcn = wrc -l0x11 --nostdinc -l0x11 -I. -I/usr/include/wine/windows -I/usr/include/wine/wine/windows -I/usr/local/include/wine/windows

WarnOpt = -Wall -Wno-unknown-pragmas -Wl,--kill-at

link = @$(gccname) -s
libs = -lm -lpthread -lstdc++ -lole32 -loleaut32 -luuid


.SUFFIXES: .coff .mc .rc .mc.rc .res .res.o .spec .spec.o .idl .tlb .h .ico .RC .c .C .cpp .CPP

$(objdir)/%.o: %.C | $(objdir)
$(cc) -x c -c $< -o $@
$(objdir)/%.o: %.CPP | $(objdir)
$(cc) -x c++ -c $< -o $@

# 大文字小文字を同一視する make の場合は以下2つの定義で警告が出る
$(objdir)/%.o: %.c | $(objdir)
$(cc) -x c -c $< -o $@
$(objdir)/%.o: %.cpp | $(objdir)
$(cc) -x c++ -c $< -o $@


$(objdir)/%.coff: %.rc | $(objdir)
@echo $<
ifeq ($(strip $(OldMinGW)),1)
$(Rcn) -fo$(basename $<).res $<
@windres -i $(basename $<).res -o $@
else
@windres -DWINDRES -i $(basename $<).rc -o $@
endif

.RC.res:
@echo $<
$(Rcn) $< -o $(basename $<).res

.spec.spec.o:
winebuild -D_REENTRANT -fPIC --as-cmd "as" --dll -o $@ --main-module $(MODULE) --export $<

#------------------------------------------------------ code体系切換用
code$(TAIL)$(RELEASE).o:
-@cmd.exe /c del "$(targetname)$(TAIL).$(targetext)"
-@cmd.exe /c del "*.o"
-@cmd.exe /c del "$(objdir)\\*.o"
-@cmd.exe /c del "$(objdir)\\*.coff"
-@cmd.exe /c copy nul "code$(TAIL)$(RELEASE).o"

$(objdir):
-@cmd.exe /c md "$(objdir)"

#------------------------------------------------------ 本体
$(targetname).$(targetext): $(objs)
ifeq ($(strip $(RELEASE)),1)
$(lddll) $(releaseopt) $^ $(libs) -o $(targetname).$(targetext)
else
$(lddll) $(devopt) $^ $(libs) -o $(targetname).$(targetext)
endif

(objdir)/$(targetname).o: $(targetname).cpp
(objdir)/$(targetname).coff: $(targetname).rc
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
WIC Susie Plug-in

Windows XP/2003 以降から使用可能な WIC(Windows Imaging Component)
を使って各種画像を読み込むための Susie Plug-in です。
64bit アプリケーション用のプラグインが用意されています。

また、WIC で標準で扱えない png 形式アイコン(.ico)、カーソル(.cur)
アニメーションカーソル(.ani)の読み込みにも対応しています。

Susie Plug-in は、竹村嘉人 (たけちん)氏作の画像ローダ「Susie」
用の Plug-in で、様々な形式の画像ファイルを読み込めるようにする
ためのものです。
( http://www.digitalpad.co.jp/~takechin/ )

0 comments on commit a944370

Please sign in to comment.