L3 Disk Explorer is an application in order to access to files in a floppy disk image for retro computer and operating system.
Rev. | 857db820194c3d92db706bb2e191800d3827f7f1 |
---|---|
Tamaño | 10,109 octetos |
Tiempo | 2023-07-08 01:10:27 |
Autor | Sasaji |
Log Message | Version 0.6.3 Release
|
#
# for Windows + MSYS2 + MinGW
#
CC=g++
CDEFS=
DBG_CDEFS=-D_DEBUG -D_DEBUG_LOG
#ARCH=-m32
#ARCH=-m64
WXDIR=/D/Devel/sources/wxWidgets-3.1.3
WXCONFIG_SH=wx-config
# WXCONFIG_ST=wx-config
WXCONFIG_ST=$(WXDIR)/build_release_static_unicode_x64/wx-config
WXCONFIG_DBG=$(WXDIR)/build_debug_static_unicode_x64/wx-config
SH_INCLUDES=$(shell $(WXCONFIG_SH) --cppflags)
ST_INCLUDES=$(shell $(WXCONFIG_ST) --cppflags)
DBG_INCLUDES=$(shell $(WXCONFIG_DBG) --cppflags)
SH_CFLAGS=$(ARCH) -Wall -O2 $(SH_INCLUDES)
ST_CFLAGS=$(ARCH) -Wall -O2 $(ST_INCLUDES)
DBG_CFLAGS=$(ARCH) -g -Wall -O0 $(DBG_INCLUDES)
LD=g++
SH_LDFLAGS=$(shell $(WXCONFIG_SH) --libs)
ST_LDFLAGS=-static $(shell $(WXCONFIG_ST) --libs --static)
DBG_LDFLAGS=-static $(shell $(WXCONFIG_DBG) --libs --static)
EXEFILE=l3diskex.exe
BUILDDIR=./build_msys2
SH_BUILDDIR=$(BUILDDIR)/shared
ST_BUILDDIR=$(BUILDDIR)/static
DBG_BUILDDIR=$(BUILDDIR)/debug
RELEASEDIR=./ReleaseM
DEBUGDIR=./DebugM
SRCDIR=src
SRCBASICFMTDIR=$(SRCDIR)/basicfmt
SRCDISKIMGDIR=$(SRCDIR)/diskimg
SRCUIDIR=$(SRCDIR)/ui
LANGDIR=lang
SRCLANG=$(LANGDIR)/
DATADIR=data
SRCDATA=$(DATADIR)/
OBJS= $(SRCDIR)/utils.o \
$(SRCDIR)/common.o \
$(SRCDIR)/diskd88.o \
$(SRCDIR)/diskparam.o \
$(SRCDIR)/charcodes.o \
$(SRCDIR)/config.o \
$(SRCDIR)/logging.o \
$(SRCDIR)/result.o \
$(SRCBASICFMTDIR)/basiccommon.o \
$(SRCBASICFMTDIR)/basicparam.o \
$(SRCBASICFMTDIR)/basicerror.o \
$(SRCBASICFMTDIR)/basictype.o \
$(SRCBASICFMTDIR)/basictype_fat_base.o \
$(SRCBASICFMTDIR)/basictype_fat8.o \
$(SRCBASICFMTDIR)/basictype_fat12.o \
$(SRCBASICFMTDIR)/basictype_fat16.o \
$(SRCBASICFMTDIR)/basictype_fm.o \
$(SRCBASICFMTDIR)/basictype_l31s.o \
$(SRCBASICFMTDIR)/basictype_l32d.o \
$(SRCBASICFMTDIR)/basictype_msdos.o \
$(SRCBASICFMTDIR)/basictype_msx.o \
$(SRCBASICFMTDIR)/basictype_mz_base.o \
$(SRCBASICFMTDIR)/basictype_mz.o \
$(SRCBASICFMTDIR)/basictype_n88.o \
$(SRCBASICFMTDIR)/basictype_x1hu.o \
$(SRCBASICFMTDIR)/basictype_flex.o \
$(SRCBASICFMTDIR)/basictype_os9.o \
$(SRCBASICFMTDIR)/basictype_cpm.o \
$(SRCBASICFMTDIR)/basictype_tfdos.o \
$(SRCBASICFMTDIR)/basictype_cdos.o \
$(SRCBASICFMTDIR)/basictype_mz_fdos.o \
$(SRCBASICFMTDIR)/basictype_pa.o \
$(SRCBASICFMTDIR)/basictype_fp.o \
$(SRCBASICFMTDIR)/basictype_dos80.o \
$(SRCBASICFMTDIR)/basictype_frost.o \
$(SRCBASICFMTDIR)/basictype_magical.o \
$(SRCBASICFMTDIR)/basictype_sdos.o \
$(SRCBASICFMTDIR)/basictype_mdos.o \
$(SRCBASICFMTDIR)/basictype_smc.o \
$(SRCBASICFMTDIR)/basictype_xdos.o \
$(SRCBASICFMTDIR)/basictype_hu68k.o \
$(SRCBASICFMTDIR)/basictype_falcom.o \
$(SRCBASICFMTDIR)/basictype_apledos.o \
$(SRCBASICFMTDIR)/basictype_prodos.o \
$(SRCBASICFMTDIR)/basictype_c1541.o \
$(SRCBASICFMTDIR)/basictype_amiga.o \
$(SRCBASICFMTDIR)/basictype_m68fdos.o \
$(SRCBASICFMTDIR)/basictype_trsdos.o \
$(SRCBASICFMTDIR)/basicfat.o \
$(SRCBASICFMTDIR)/basicdiritem_fat8.o \
$(SRCBASICFMTDIR)/basicdiritem_fm.o \
$(SRCBASICFMTDIR)/basicdiritem_l31s.o \
$(SRCBASICFMTDIR)/basicdiritem_l32d.o \
$(SRCBASICFMTDIR)/basicdiritem_msdos.o \
$(SRCBASICFMTDIR)/basicdiritem_msx.o \
$(SRCBASICFMTDIR)/basicdiritem_mz_base.o \
$(SRCBASICFMTDIR)/basicdiritem_mz.o \
$(SRCBASICFMTDIR)/basicdiritem_n88.o \
$(SRCBASICFMTDIR)/basicdiritem_x1hu.o \
$(SRCBASICFMTDIR)/basicdiritem_flex.o \
$(SRCBASICFMTDIR)/basicdiritem_os9.o \
$(SRCBASICFMTDIR)/basicdiritem_cpm.o \
$(SRCBASICFMTDIR)/basicdiritem_tfdos.o \
$(SRCBASICFMTDIR)/basicdiritem_cdos.o \
$(SRCBASICFMTDIR)/basicdiritem_mz_fdos.o \
$(SRCBASICFMTDIR)/basicdiritem_fp.o \
$(SRCBASICFMTDIR)/basicdiritem_dos80.o \
$(SRCBASICFMTDIR)/basicdiritem_frost.o \
$(SRCBASICFMTDIR)/basicdiritem_magical.o \
$(SRCBASICFMTDIR)/basicdiritem_sdos.o \
$(SRCBASICFMTDIR)/basicdiritem_mdos.o \
$(SRCBASICFMTDIR)/basicdiritem_xdos.o \
$(SRCBASICFMTDIR)/basicdiritem_hu68k.o \
$(SRCBASICFMTDIR)/basicdiritem_losa.o \
$(SRCBASICFMTDIR)/basicdiritem_falcom.o \
$(SRCBASICFMTDIR)/basicdiritem_apledos.o \
$(SRCBASICFMTDIR)/basicdiritem_prodos.o \
$(SRCBASICFMTDIR)/basicdiritem_c1541.o \
$(SRCBASICFMTDIR)/basicdiritem_amiga.o \
$(SRCBASICFMTDIR)/basicdiritem_m68fdos.o \
$(SRCBASICFMTDIR)/basicdiritem_trsdos.o \
$(SRCBASICFMTDIR)/basicdiritem.o \
$(SRCBASICFMTDIR)/basicdir.o \
$(SRCBASICFMTDIR)/basicfmt.o \
$(SRCDISKIMGDIR)/diskd88creator.o \
$(SRCDISKIMGDIR)/diskplainparser.o \
$(SRCDISKIMGDIR)/diskd88parser.o \
$(SRCDISKIMGDIR)/diskdskparser.o \
$(SRCDISKIMGDIR)/diskfdiparser.o \
$(SRCDISKIMGDIR)/diskcqmparser.o \
$(SRCDISKIMGDIR)/disktd0parser.o \
$(SRCDISKIMGDIR)/diskdimparser.o \
$(SRCDISKIMGDIR)/diskvfdparser.o \
$(SRCDISKIMGDIR)/diskimdparser.o \
$(SRCDISKIMGDIR)/diskstrparser.o \
$(SRCDISKIMGDIR)/diskg64parser.o \
$(SRCDISKIMGDIR)/disk2mgparser.o \
$(SRCDISKIMGDIR)/diskadcparser.o \
$(SRCDISKIMGDIR)/diskhfeparser.o \
$(SRCDISKIMGDIR)/diskdmkparser.o \
$(SRCDISKIMGDIR)/diskjv3parser.o \
$(SRCDISKIMGDIR)/diskparser.o \
$(SRCDISKIMGDIR)/diskd88writer.o \
$(SRCDISKIMGDIR)/diskplainwriter.o \
$(SRCDISKIMGDIR)/diskwriter.o \
$(SRCDISKIMGDIR)/diskresult.o \
$(SRCDISKIMGDIR)/fileparam.o \
$(SRCUIDIR)/basicselbox.o \
$(SRCUIDIR)/basicparambox.o \
$(SRCUIDIR)/configbox.o \
$(SRCUIDIR)/diskparambox.o \
$(SRCUIDIR)/diskreplacebox.o \
$(SRCUIDIR)/fileselbox.o \
$(SRCUIDIR)/fontminibox.o \
$(SRCUIDIR)/intnamebox.o \
$(SRCUIDIR)/intnamevalid.o \
$(SRCUIDIR)/rawparambox.o \
$(SRCUIDIR)/rawexpbox.o \
$(SRCUIDIR)/rawsectorbox.o \
$(SRCUIDIR)/rawtrackbox.o \
$(SRCUIDIR)/uibindump.o \
$(SRCUIDIR)/uiclistctrl.o \
$(SRCUIDIR)/uicdlistctrl.o \
$(SRCUIDIR)/uictreectrl.o \
$(SRCUIDIR)/uicdtreectrl.o \
$(SRCUIDIR)/uidiskattr.o \
$(SRCUIDIR)/uidisklist.o \
$(SRCUIDIR)/uifilelist.o \
$(SRCUIDIR)/uirawdisk.o \
$(SRCUIDIR)/uifatarea.o \
$(SRCUIDIR)/uirpanel.o \
$(SRCDIR)/main.o
RESOBJS=$(SRCDIR)/l3diskex.res
EXE =$(BUILDDIR)/$(EXEFILE)
SH_EXE=$(SH_BUILDDIR)/$(EXEFILE)
ST_EXE=$(ST_BUILDDIR)/$(EXEFILE)
DBG_EXE=$(DBG_BUILDDIR)/$(EXEFILE)
SH_OBJS=$(OBJS:%=$(SH_BUILDDIR)/%) $(RESOBJS:%=$(SH_BUILDDIR)/%)
ST_OBJS=$(OBJS:%=$(ST_BUILDDIR)/%) $(RESOBJS:%=$(ST_BUILDDIR)/%)
DBG_OBJS=$(OBJS:%=$(DBG_BUILDDIR)/%) $(RESOBJS:%=$(DBG_BUILDDIR)/%)
SH_DEPS=$(OBJS:%.o=$(SH_BUILDDIR)/%.d)
ST_DEPS=$(OBJS:%.o=$(ST_BUILDDIR)/%.d)
DBG_DEPS=$(OBJS:%.o=$(DBG_BUILDDIR)/%.d)
LIBS=$(LOCALLIBS) $(MINGWLIBS)
SH_LIBS=
ST_LIBS=$(LIBS)
DBG_LIBS=$(LIBS)
WINDRES=windres.exe
#
#
#
all: sh_exe
sh_exe: mk_sh_builddir $(SH_EXE)
st_exe: mk_st_builddir $(ST_EXE)
dbg_exe: mk_dbg_builddir $(DBG_EXE)
$(SH_EXE): sh_depend $(SH_OBJS)
$(LD) -o $@ $(SH_OBJS) $(SH_LIBS) $(SH_LDFLAGS)
$(ST_EXE): st_depend $(ST_OBJS)
$(LD) -o $@ $(ST_OBJS) $(ST_LIBS) $(ST_LDFLAGS)
$(DBG_EXE): dbg_depend $(DBG_OBJS)
$(LD) -o $@ $(DBG_OBJS) $(DBG_LIBS) $(DBG_LDFLAGS)
$(SH_BUILDDIR)/%.o: %.cpp
$(CC) $(CDEFS) $(SH_CFLAGS) -c $< -o $@
$(ST_BUILDDIR)/%.o: %.cpp
$(CC) $(CDEFS) $(ST_CFLAGS) -c $< -o $@
$(DBG_BUILDDIR)/%.o: %.cpp
$(CC) $(DBG_CDEFS) $(DBG_CFLAGS) -c $< -o $@
# $(SRCDIR)/%_tmp.cpp: %.cpp
# sed '1 s/^...//' $< > $@
$(SH_BUILDDIR)/%.res: %.rc
$(WINDRES) $< $(SH_INCLUDES) -O coff -o $@
$(ST_BUILDDIR)/%.res: %.rc
$(WINDRES) $< $(ST_INCLUDES) -O coff -o $@
$(DBG_BUILDDIR)/%.res: %.rc
$(WINDRES) $< $(DBG_INCLUDES) -O coff -o $@
install: sh_install
sh_install: sh_exe
mkdir -p $(RELEASEDIR)
cp -p $(SH_EXE) $(RELEASEDIR)
(mkdir -p $(RELEASEDIR)/$(DATADIR)/; cp -p $(SRCDATA)/*.* $(RELEASEDIR)/$(DATADIR)/; exit 0)
for i in $(SRCLANG)/* ;do if [ -d $$i ]; then \
mkdir -p $(RELEASEDIR)/$$i; cp -p $$i/*.mo $(RELEASEDIR)/$$i; \
fi; done
st_install: st_exe
mkdir -p $(RELEASEDIR)
cp -p $(ST_EXE) $(RELEASEDIR)
(mkdir -p $(RELEASEDIR)/$(DATADIR)/; cp -p $(SRCDATA)/*.* $(RELEASEDIR)/$(DATADIR)/; exit 0)
for i in $(SRCLANG)/* ;do if [ -d $$i ]; then \
mkdir -p $(RELEASEDIR)/$$i; cp -p $$i/*.mo $(RELEASEDIR)/$$i; \
fi; done
dbg_install: dbg_exe
mkdir -p $(DEBUGDIR)
cp -p $(DBG_EXE) $(DEBUGDIR)
(mkdir -p $(DEBUGDIR)/$(DATADIR)/; cp -p $(SRCDATA)/*.* $(DEBUGDIR)/$(DATADIR)/; exit 0)
for i in $(SRCLANG)/* ;do if [ -d $$i ]; then \
mkdir -p $(DEBUGDIR)/$$i; cp -p $$i/*.mo $(DEBUGDIR)/$$i; \
fi; done
mk_builddir:
mkdir -p $(BUILDDIR)/$(SRCDIR)
mkdir -p $(BUILDDIR)/$(SRCBASICFMTDIR)
mkdir -p $(BUILDDIR)/$(SRCDISKIMGDIR)
mkdir -p $(BUILDDIR)/$(SRCUIDIR)
mk_sh_builddir:
mkdir -p $(SH_BUILDDIR)/$(SRCDIR)
mkdir -p $(SH_BUILDDIR)/$(SRCBASICFMTDIR)
mkdir -p $(SH_BUILDDIR)/$(SRCDISKIMGDIR)
mkdir -p $(SH_BUILDDIR)/$(SRCUIDIR)
mk_st_builddir:
mkdir -p $(ST_BUILDDIR)/$(SRCDIR)
mkdir -p $(ST_BUILDDIR)/$(SRCBASICFMTDIR)
mkdir -p $(ST_BUILDDIR)/$(SRCDISKIMGDIR)
mkdir -p $(ST_BUILDDIR)/$(SRCUIDIR)
mk_dbg_builddir:
mkdir -p $(DBG_BUILDDIR)/$(SRCDIR)
mkdir -p $(DBG_BUILDDIR)/$(SRCBASICFMTDIR)
mkdir -p $(DBG_BUILDDIR)/$(SRCDISKIMGDIR)
mkdir -p $(DBG_BUILDDIR)/$(SRCUIDIR)
clean: sh_clean
sh_clean:
rm -rf $(SH_BUILDDIR)
rm -f $(BUILDDIR)/Makefile.dep
st_clean:
rm -rf $(ST_BUILDDIR)
rm -f $(BUILDDIR)/Makefile.dep
dbg_clean:
rm -rf $(DBG_BUILDDIR)
rm -f $(BUILDDIR)/Makefile.dep
clean_all:
rm -rf $(BUILDDIR)
depend: $(SH_BUILDDIR)/Makefile.dep
sh_depend: $(SH_BUILDDIR)/Makefile.dep
st_depend: $(ST_BUILDDIR)/Makefile.dep
dbg_depend: $(DBG_BUILDDIR)/Makefile.dep
$(SH_BUILDDIR)/Makefile.dep: mk_sh_builddir $(SH_DEPS)
cat $(SH_DEPS) > $(SH_BUILDDIR)/Makefile.dep
cp -f $(SH_BUILDDIR)/Makefile.dep $(BUILDDIR)/Makefile.dep
$(ST_BUILDDIR)/Makefile.dep: mk_st_builddir $(ST_DEPS)
cat $(ST_DEPS) > $(ST_BUILDDIR)/Makefile.dep
cp -f $(ST_BUILDDIR)/Makefile.dep $(BUILDDIR)/Makefile.dep
$(DBG_BUILDDIR)/Makefile.dep: mk_dbg_builddir $(DBG_DEPS)
cat $(DBG_DEPS) > $(DBG_BUILDDIR)/Makefile.dep
cp -f $(DBG_BUILDDIR)/Makefile.dep $(BUILDDIR)/Makefile.dep
$(SH_BUILDDIR)/%.d: %.cpp
-$(CC) $(CDEFS) $(SH_CFLAGS) -MM $< | sed 's#^.*\.o:#$@:#' | sed 's/\.d:/.o:/' > $@
$(ST_BUILDDIR)/%.d: %.cpp
-$(CC) $(CDEFS) $(ST_CFLAGS) -MM $< | sed 's#^.*\.o:#$@:#' | sed 's/\.d:/.o:/' > $@
$(DBG_BUILDDIR)/%.d: %.cpp
-$(CC) $(CDEFS) $(DBG_CFLAGS) -MM $< | sed 's#^.*\.o:#$@:#' | sed 's/\.d:/.o:/' > $@
-include $(BUILDDIR)/Makefile.dep