#Copyright (C) 1997-2005 ZSNES Team ( zsKnight, _Demo_, pagefault, Nach ) # #zsknight@zsnes.com #_demo_@zsnes.com #pagefault@zsnes.com #n-a-c-h@users.sf.net # #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License #as published by the Free Software Foundation; either #version 2 of the License, or (at your option) any later #version. # #This program is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU General Public License for more details. # #You should have received a copy of the GNU General Public License #along with this program; if not, write to the Free Software #Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #This file depends on link.win32 so if you modify this makefile, #don't forget to update link.win32 #it is quite ugly but without that trick, the compilation didn't #work for me (command line too long) #put the correct path to your directx sdk here DXDIR=c:\mssdk CHIPDIR=chips CPUDIR=cpu DOSDIR=dos GUIDIR=gui VIDEODIR=video WINDIR=win OBJDIR=obj ZIPDIR=zip EFFECTSDIR=effects JMADIR=jma CHIPSOBJ=${CHIPDIR}/sfxproc.obj ${CHIPDIR}/fxemu2.obj ${CHIPDIR}/dsp1proc.obj\ ${CHIPDIR}/fxemu2b.obj ${CHIPDIR}/fxemu2c.obj ${CHIPDIR}/fxtable.obj\ ${CHIPDIR}/sa1proc.obj ${CHIPDIR}/sa1regs.obj ${CHIPDIR}/dsp1emu.obj\ ${CHIPDIR}/st10proc.obj ${CHIPDIR}/seta10.obj ${CHIPDIR}/dsp2proc.obj\ ${CHIPDIR}/sdd1emu.obj CPUOBJ=${CPUDIR}/addrni.obj ${CPUDIR}/dma.obj ${CPUDIR}/dsp.obj ${CPUDIR}/dspproc.obj\ ${CPUDIR}/execute.obj ${CPUDIR}/irq.obj ${CPUDIR}/memory.obj\ ${CPUDIR}/spc700.obj ${CPUDIR}/stable.obj ${CPUDIR}/table.obj\ ${CPUDIR}/tableb.obj ${CPUDIR}/tablec.obj GUIOBJ=${GUIDIR}/gui.obj ${GUIDIR}/menu.obj VIDEOBJ=${VIDEODIR}/makev16b.obj ${VIDEODIR}/makev16t.obj ${VIDEODIR}/makevid.obj\ ${VIDEODIR}/mode716.obj ${VIDEODIR}/mode716b.obj ${VIDEODIR}/mode716d.obj\ ${VIDEODIR}/mode716e.obj ${VIDEODIR}/mode716t.obj ${VIDEODIR}/mode7.obj\ ${VIDEODIR}/mode7ext.obj ${VIDEODIR}/mv16tms.obj ${VIDEODIR}/newg162.obj\ ${VIDEODIR}/newgfx16.obj ${VIDEODIR}/newgfx2.obj ${VIDEODIR}/newgfx.obj\ ${VIDEODIR}/m716text.obj ${VIDEODIR}/2xsaiw.obj\ ${VIDEODIR}/procvid.obj ${VIDEODIR}/sw_draw.obj\ ${VIDEODIR}/hq2x16.obj ${VIDEODIR}/hq2x32.obj\ ${VIDEODIR}/hq3x16.obj ${VIDEODIR}/hq3x32.obj\ ${VIDEODIR}/hq4x16.obj ${VIDEODIR}/hq4x32.obj WINOBJ=${WINDIR}/copyvwin.obj \ ${WINDIR}/winintrf.obj ${WINDIR}/winlink.obj ${WINDIR}/zloaderw.obj\ ${WINDIR}/ztcp.obj ${WINDIR}/zipxw.obj ${WINDIR}/zfilew.obj WINDOSOBJ=${DOSDIR}/debug.obj ${DOSDIR}/joy.obj ${DOSDIR}/modemrtn.obj ${DOSDIR}/vesa2.obj\ ${DOSDIR}/initvid.obj ${DOSDIR}/sw.obj ${DOSDIR}/gppro.obj ${DOSDIR}/vesa12.obj\ ${DOSDIR}/zsipx.obj JMAOBJ=${JMADIR}/7zlzma.obj ${JMADIR}/crc32.obj ${JMADIR}/iiostrm.obj\ ${JMADIR}/inbyte.obj ${JMADIR}/jma.obj ${JMADIR}/lzma.obj ${JMADIR}/lzmadec.obj\ ${JMADIR}/winout.obj ${JMADIR}/zsnesjma.obj PREOBJ= ZIPOBJ=${ZIPDIR}/unzip.obj ${ZIPDIR}/zpng.obj EFFECTSOBJ=${EFFECTSDIR}/burn.obj ${EFFECTSDIR}/water.obj ${EFFECTSDIR}/smoke.obj MAINOBJ=cfgload.obj endmem.obj init.obj initc.obj uic.obj patch.obj ui.obj vcache.obj version.obj OBJS=${CHIPSOBJ} ${CPUOBJ} ${WINOBJ} ${GUIOBJ} ${VIDEOBJ} ${ZIPOBJ} ${MAINOBJ} ${WINDOSOBJ} ${EFFECTSOBJ} ${JMAOBJ} LIBS= CFLAGS=/Ox /G6 /c /EHsc /D__WIN32__ ASM=nasm ASMFLAGS=-O1 -f win32 -D__WIN32__ CC=cl .SUFFIXES: .c .cpp .asm %.obj : %.c ${CC} ${CFLAGS} /Fo$@ $< %.obj: %.cpp ${CC} ${CFLAGS} /Fo$@ $< %.obj: %.asm ${ASM} ${ASMFLAGS} -o $@ $< ALL: zsnesw.exe zsnesw.exe: ${OBJS} ${WINDIR}/zsnes.res cl @link.win32 ${WINDIR}/zsnes.res /link /libpath:${DXDIR}\lib ${WINDIR}/zsnes.res: ${WINDIR}/zsnes.rc rc ${WINDIR}/zsnes.rc ${WINDIR}/copyvwin.obj: ${WINDIR}/copyvwin.asm macros.mac ${WINDIR}/winintrf.obj: ${WINDIR}/winintrf.asm macros.mac ${WINDIR}/zfilew.obj: ${WINDIR}/zfilew.c ${WINDIR}/zipxw.obj: ${WINDIR}/zipxw.c ${WINDIR}/zloaderw.obj: ${WINDIR}/zloaderw.c ${WINDIR}/ztcp.obj: ${WINDIR}/ztcp.c ${WINDIR}/winlink.obj: ${WINDIR}/winlink.cpp ${WINDIR}/resource.h ${ZIPDIR}/unzip.obj: ${ZIPDIR}/unzip.c ${ZIPDIR}/zunzip.h ${ZIPDIR}/zpng.obj: ${ZIPDIR}/zpng.c ${ZIPDIR}/zpng.h ${DOSDIR}/initvid.o:${DOSDIR}/initvid.asm macros.mac ${DOSDIR}/modemrtn.o: ${DOSDIR}/modemrtn.asm macros.mac ${DOSDIR}/zsipx.o: ${DOSDIR}/zsipx.asm ${DOSDIR}/debug.obj: ${DOSDIR}/debug.asm macros.mac ${DOSDIR}/joy.obj: ${DOSDIR}/joy.asm macros.mac ${DOSDIR}/vesa2.obj: ${DOSDIR}/vesa2.asm macros.mac ${DOSDIR}/gppro.o: ${DOSDIR}/gppro.asm macros.mac ${DOSDIR}/sw.o: ${DOSDIR}/sw.asm macros.mac ${DOSDIR}/vesa12.o: ${DOSDIR}/vesa12.asm macros.mac ${EFFECTSDIR}/water.obj: ${EFFECTSDIR}/water.c ${EFFECTSDIR}/fixsin.h ${EFFECTSDIR}/smoke.obj: ${EFFECTSDIR}/smoke.c ${EFFECTSDIR}/burn.obj: ${EFFECTSDIR}/burn.c ${VIDEODIR}/2xsaiw.obj: ${VIDEODIR}/2xsaiw.asm macros.mac ${VIDEODIR}/procvid.obj: ${VIDEODIR}/procvid.asm macros.mac ${VIDEODIR}/copyvid.inc ${VIDEODIR}/2xSaImmx.inc ${VIDEODIR}/sw_draw.obj: ${VIDEODIR}/sw_draw.asm macros.mac ${VIDEODIR}/hq2x16.obj: ${VIDEODIR}/hq2x16.asm macros.mac ${VIDEODIR}/hq2x32.obj: ${VIDEODIR}/hq2x32.asm macros.mac ${VIDEODIR}/hq3x16.obj: ${VIDEODIR}/hq3x16.asm macros.mac ${VIDEODIR}/hq3x32.obj: ${VIDEODIR}/hq3x32.asm macros.mac ${VIDEODIR}/hq4x16.obj: ${VIDEODIR}/hq4x16.asm macros.mac ${VIDEODIR}/hq4x32.obj: ${VIDEODIR}/hq4x32.asm macros.mac ${CHIPDIR}/sa1regs.obj: ${CHIPDIR}/sa1regs.asm macros.mac\ ${CPUDIR}/regs.mac ${CPUDIR}/regsw.mac ${CHIPDIR}/sfxproc.obj: ${CHIPDIR}/sfxproc.asm macros.mac\ ${CPUDIR}/regs.mac ${CPUDIR}/regsw.mac ${CHIPDIR}/st10proc.obj: ${CHIPDIR}/st10proc.asm macros.mac\ ${CPUDIR}/regs.mac ${CPUDIR}/regsw.mac ${CHIPDIR}/seta10.obj: ${CHIPDIR}/seta10.c ${CHIPDIR}/dsp1emu.obj: ${CHIPDIR}/dsp1emu.c ${CC} ${CFLAGS} /Fo$@ $< ${CHIPDIR}/dsp1proc.obj: ${CHIPDIR}/dsp1proc.asm macros.mac ${CHIPDIR}/sdd1emu.obj: ${CHIPDIR}/sdd1emu.c ui.obj: ui.asm macros.mac cfgload.obj:cfgload.c macros.mac init.obj:init.asm macros.mac initc.obj:initc.c ${JMADIR}/zsnesjma.h uic.obj:uic.c patch.obj:patch.c ALL: del version.obj version.obj:version.c ${DOSDIR}/debug.obj: ${DOSDIR}/debug.asm macros.mac ${CPUDIR}/addrni.obj: ${CPUDIR}/addrni.asm ${CPUDIR}/execute.obj: ${CPUDIR}/execute.asm macros.mac ${CPUDIR}/table.obj: ${CPUDIR}/table.asm ${CPUDIR}/65816d.inc\ ${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816.inc\ ${CPUDIR}/regs.mac ${CPUDIR}/regs.inc ${CPUDIR}/regsw.mac\ ${CPUDIR}/regsw.inc macros.mac ${CPUDIR}/tableb.obj: ${CPUDIR}/tableb.asm ${CPUDIR}/65816db.inc\ ${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816b.inc\ ${CPUDIR}/regs.mac macros.mac ${CPUDIR}/tablec.obj: ${CPUDIR}/tablec.asm ${CPUDIR}/65816dc.inc\ ${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816c.inc\ ${CPUDIR}/regs.mac macros.mac ${CPUDIR}/stable.obj: ${CPUDIR}/stable.asm ${CPUDIR}/s65816d.inc\ ${CPUDIR}/saddress.inc ${CPUDIR}/saddrni.inc ${CPUDIR}/se65816.inc\ macros.mac ${CPUDIR}/memory.obj: ${CPUDIR}/memory.asm macros.mac ${CPUDIR}/dma.obj: ${CPUDIR}/dma.asm macros.mac ${DOSDIR}/dosintrf.obj: ${DOSDIR}/dosintrf.asm macros.mac vcache.obj:vcache.asm macros.mac ${DOSDIR}/initvid.obj:${DOSDIR}/initvid.asm macros.mac ${VIDEODIR}/makevid.obj: ${VIDEODIR}/makevid.asm ${VIDEODIR}/vidmacro.mac\ macros.mac ${VIDEODIR}/makev16b.obj: ${VIDEODIR}/makev16b.asm ${VIDEODIR}/vidmacro.mac\ macros.mac ${VIDEODIR}/makev16t.obj: ${VIDEODIR}/makev16t.asm ${VIDEODIR}/vidmacro.mac\ macros.mac ${VIDEODIR}/mv16tms.obj: ${VIDEODIR}/mv16tms.asm ${VIDEODIR}/vidmacro.mac\ macros.mac ${VIDEODIR}/mode7.obj: ${VIDEODIR}/mode7.asm ${VIDEODIR}/mode7.mac\ macros.mac ${VIDEODIR}/mode716.obj: ${VIDEODIR}/mode716.asm ${VIDEODIR}/mode716.mac\ macros.mac ${VIDEODIR}/mode716b.obj:${VIDEODIR}/mode716b.asm ${VIDEODIR}/mode7.mac\ macros.mac ${VIDEODIR}/mode716t.obj:${VIDEODIR}/mode716t.asm ${VIDEODIR}/mode7.mac\ macros.mac ${VIDEODIR}/mode716d.obj:${VIDEODIR}/mode716d.asm ${VIDEODIR}/mode7.mac\ macros.mac ${VIDEODIR}/mode7ext.obj:${VIDEODIR}/mode7ext.asm macros.mac ${VIDEODIR}/mode716e.obj:${VIDEODIR}/mode716e.asm macros.mac ${VIDEODIR}/m716text.obj:${VIDEODIR}/m716text.asm ${VIDEODIR}/mode7.mac\ macros.mac ${CPUDIR}/irq.obj: ${CPUDIR}/irq.asm macros.mac ${CPUDIR}/dspproc.obj: ${CPUDIR}/dspproc.asm macros.mac ${CPUDIR}/spc700.obj:${CPUDIR}/spc700.asm macros.mac\ ${CPUDIR}/regsw.mac ${CPUDIR}/spcdef.inc ${CPUDIR}/spcaddr.inc ${CPUDIR}/dsp.obj: ${CPUDIR}/dsp.asm macros.mac ${DOSDIR}/vesa2.obj: ${DOSDIR}/vesa2.asm macros.mac ${DOSDIR}/vesa12.obj: ${DOSDIR}/vesa12.asm macros.mac ${DOSDIR}/joy.obj: ${DOSDIR}/joy.asm macros.mac ${DOSDIR}/sw.obj: ${DOSDIR}/sw.asm macros.mac ${GUIDIR}/gui.obj: ${GUIDIR}/gui.asm ${GUIDIR}/guitools.inc\ ${GUIDIR}/guimisc.inc ${GUIDIR}/guimouse.inc ${GUIDIR}/guiwindp.inc\ ${GUIDIR}/guinetpl.inc ${GUIDIR}/guikeys.inc ${GUIDIR}/guicheat.inc\ ${GUIDIR}/guicombo.inc ${GUIDIR}/guiload.inc macros.mac ${GUIDIR}/menu.obj: ${GUIDIR}/menu.asm macros.mac ${VIDEODIR}/newgfx.obj:${VIDEODIR}/newgfx.asm ${VIDEODIR}/vidmacro.mac\ ${VIDEODIR}/newgfx2.mac ${VIDEODIR}/newgfx.mac macros.mac ${VIDEODIR}/newgfx2.obj:${VIDEODIR}/newgfx2.asm ${VIDEODIR}/newgfxwn.mac\ ${VIDEODIR}/newgfx.mac macros.mac ${VIDEODIR}/newgfx16.obj: ${VIDEODIR}/newgfx16.asm macros.mac ${VIDEODIR}/vidmacro.mac\ ${VIDEODIR}/newgfx16.mac ${VIDEODIR}/newg162.mac ${VIDEODIR}/newg162.obj: macros.mac ${VIDEODIR}/newg162.asm ${VIDEODIR}/newg162.mac\ ${VIDEODIR}/vidmacro.mac ${VIDEODIR}/newg16wn.mac ${CHIPDIR}/fxemu2.obj: ${CHIPDIR}/fxemu2.asm ${CHIPDIR}/fxemu2.mac\ macros.mac ${CHIPDIR}/fxemu2b.obj: ${CHIPDIR}/fxemu2b.asm ${CHIPDIR}/fxemu2.mac\ ${CHIPDIR}/fxemu2b.mac ${CHIPDIR}/fxemu2c.obj: ${CHIPDIR}/fxemu2c.asm macros.mac ${CHIPDIR}/fxemu2.mac\ ${CHIPDIR}/fxemu2b.mac ${CHIPDIR}/fxemu2c.mac ${CHIPDIR}/fxtable.obj: ${CHIPDIR}/fxtable.asm macros.mac ${DOSDIR}/gppro.obj: ${DOSDIR}/gppro.asm macros.mac ${DOSDIR}/zsipx.obj: ${DOSDIR}/zsipx.asm ${CHIPDIR}/sa1proc.obj: ${CHIPDIR}/sa1proc.asm macros.mac endmem.obj: endmem.asm macros.mac ${DOSDIR}/modemrtn.obj: ${DOSDIR}/modemrtn.asm macros.mac ${JMADIR}/7zlzma.obj: ${JMADIR}/7zlzma.cpp ${JMADIR}/crc32.obj: ${JMADIR}/crc32.cpp ${JMADIR}/crc32.h ${JMADIR}/iiostrm.obj: ${JMADIR}/iiostrm.cpp ${JMADIR}/inbyte.obj: ${JMADIR}/inbyte.cpp ${JMADIR}/jma.obj: ${JMADIR}/jma.cpp ${JMADIR}/jma.h ${JMADIR}/crc32.h ${JMADIR}/portable.h ${JMADIR}/lzma.obj: ${JMADIR}/lzma.cpp ${JMADIR}/lzmadec.obj: ${JMADIR}/lzmadec.cpp ${JMADIR}/winout.obj: ${JMADIR}/winout.cpp ${JMADIR}/zsnesjma.obj: ${JMADIR}/zsnesjma.cpp ${JMADIR}/zsnesjma.h ${JMADIR}/jma.h clean: del *.obj del ${CHIPDIR}\*.obj del ${CPUDIR}\*.obj del ${VIDEODIR}\*.obj del ${GUIDIR}\*.obj del ${WINDIR}\*.obj del ${WINDIR}\zsnes.res del ${ZIPDIR}\*.obj del ${DOSDIR}\*.obj del ${EFFECTSDIR}\*.obj del ${JMADIR}\*.obj del zsnesw.exe