X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Makefile.unix;h=1471ee0a3b2058df5e240b65d298e0cded5395a7;hb=99022b1729761292b036c382934b73e62f06923b;hp=41fe26d474f93e23cec8413048c0ac26e3878085;hpb=1d5f61c81bd6a213debf733970575154da696f23;p=virtualjaguar diff --git a/Makefile.unix b/Makefile.unix index 41fe26d..1471ee0 100644 --- a/Makefile.unix +++ b/Makefile.unix @@ -1,69 +1,94 @@ -CC = gcc -LD = gcc -NASM = nasm +# +# Makefile for Virtual Jaguar GCC/SDL Portable Jaguar Emulator +# -CFLAGS = -Wall -O3 -D__PORT__ -D__GCCUNIX__ -Dstricmp="strcasecmp" \ - -fomit-frame-pointer `sdl-config --cflags` -DLOG_UNMAPPED_MEMORY_ACCESSES -# -fomit-frame-pointer `sdl-config --cflags` -# -fomit-frame-pointer `sdl-config --cflags` -DTOM_DEBUG +# Uncomment the following lines to compile for Win32 -LDFLAGS = $(CFLAGS) +#SYSTYPE = __GCCWIN32__ +#EXESUFFIX = .exe +#GLLIB = opengl32 +#ICON = vj-ico.o -TARGET = jag_em +# Uncomment the following lines to compile for *nix -OBJS = \ - obj/version.o \ - obj/pcm.o \ - obj/objectp.o \ - obj/memory.o \ - obj/m68kdasmAG.o \ - obj/log.o \ - obj/jerry.o \ - obj/jaguar.o \ - obj/jagdasm.o \ - obj/eeprom.o \ - obj/dsound_dummy.o \ - obj/crc32.o \ - obj/clock.o \ - obj/cdrom.o \ - obj/cdi.o \ - obj/cdbios.o \ - obj/blitter.o \ - obj/anajoy.o \ - obj/tom.o \ - obj/joystick.o \ - obj/Jagem.o \ - obj/gpu.o \ - obj/dsp.o \ - obj/m68kcpu.o obj/m68kops.o obj/m68kopac.o obj/m68kopdm.o obj/m68kopnz.o +SYSTYPE = __GCCUNIX__ +EXESUFFIX = +GLLIB = GL +ICON = + +CC = gcc +LD = gcc +TARGET = vj + +CFLAGS = -Wall -Wno-switch -Wno-non-virtual-dtor -O2 -D$(SYSTYPE) -Dstricmp="strcasecmp" \ + -fomit-frame-pointer `sdl-config --cflags` +# -fomit-frame-pointer `sdl-config --cflags` -g +# -fomit-frame-pointer `sdl-config --cflags` -DLOG_UNMAPPED_MEMORY_ACCESSES + +LDFLAGS = $(CFLAGS) -LIBS = `sdl-config --libs` -lstdc++ +LIBS = -L/usr/local/lib `sdl-config --libs` -lstdc++ -lz -l$(GLLIB) -INCS = -I. -Isrc -Isrc/include `sdl-config --cflags` +INCS = -I. -Isrc -Isrc/include -I/usr/local/include THECC = $(CC) $(CFLAGS) $(INCS) +OBJS = \ + obj/anajoy.o \ + obj/blitter.o \ + obj/cdbios.o \ + obj/cdi.o \ + obj/cdrom.o \ + obj/clock.o \ + obj/crc32.o \ + obj/dac.o \ + obj/dsp.o \ + obj/eeprom.o \ + obj/gpu.o \ + obj/gui.o \ + obj/jagdasm.o \ + obj/jaguar.o \ + obj/jerry.o \ + obj/joystick.o \ + obj/log.o \ + obj/m68kcpu.o obj/m68kops.o obj/m68kopac.o obj/m68kopdm.o obj/m68kopnz.o \ + obj/m68kdasm.o \ + obj/memory.o \ + obj/objectp.o \ + obj/sdlemu_config.o \ + obj/sdlemu_opengl.o \ + obj/settings.o \ + obj/tom.o \ + obj/unzip.o \ + obj/version.o \ + obj/video.o \ + obj/vj.o \ + $(ICON) + all: obj $(TARGET) clean: rm -rf obj - rm -f ./jag_em + rm -f ./vj$(EXESUFFIX) obj: mkdir obj -obj/%.o: src/%.asm - $(NASM) -f elf -o $@ $< - obj/%.o: src/%.c $(THECC) -c $< -o $@ obj/%.o: src/%.cpp $(THECC) -c $< -o $@ -jag_em: $(OBJS) +vj: $(OBJS) $(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) - # upx -9 jag_em +# strip --strip-all vj$(EXESUFFIX) +# upx -9 vj$(EXESUFFIX) + +# Other stuff that has unusual dependencies + +obj/gui.o: src/gui.cpp src/include/gui.h src/include/font1.h + $(THECC) -c src/gui.cpp -o obj/gui.o # # Musashi specific stuffola @@ -72,20 +97,23 @@ jag_em: $(OBJS) obj/m68kcpu.o: obj/m68kops.h src/m68k.h src/m68kconf.h $(CC) $(CFLAGS) -Iobj -c src/m68kcpu.c -o obj/m68kcpu.o -obj/m68kops.o: obj/m68kmake obj/m68kops.h obj/m68kops.c src/m68k.h src/m68kconf.h +obj/m68kops.o: obj/m68kmake$(EXESUFFIX) obj/m68kops.h obj/m68kops.c src/m68k.h src/m68kconf.h $(CC) $(CFLAGS) -Isrc -c obj/m68kops.c -o obj/m68kops.o -obj/m68kopac.o: obj/m68kmake obj/m68kops.h obj/m68kopac.c src/m68k.h src/m68kconf.h +obj/m68kopac.o: obj/m68kmake$(EXESUFFIX) obj/m68kops.h obj/m68kopac.c src/m68k.h src/m68kconf.h $(CC) $(CFLAGS) -Isrc -c obj/m68kopac.c -o obj/m68kopac.o -obj/m68kopdm.o: obj/m68kmake obj/m68kops.h obj/m68kopdm.c src/m68k.h src/m68kconf.h +obj/m68kopdm.o: obj/m68kmake$(EXESUFFIX) obj/m68kops.h obj/m68kopdm.c src/m68k.h src/m68kconf.h $(CC) $(CFLAGS) -Isrc -c obj/m68kopdm.c -o obj/m68kopdm.o -obj/m68kopnz.o: obj/m68kmake obj/m68kops.h obj/m68kopnz.c src/m68k.h src/m68kconf.h +obj/m68kopnz.o: obj/m68kmake$(EXESUFFIX) obj/m68kops.h obj/m68kopnz.c src/m68k.h src/m68kconf.h $(CC) $(CFLAGS) -Isrc -c obj/m68kopnz.c -o obj/m68kopnz.o -obj/m68kops.h: obj/m68kmake +obj/m68kdasm.o: src/m68kdasm.c src/m68k.h src/m68kconf.h + $(CC) $(CFLAGS) -Isrc -c src/m68kdasm.c -o obj/m68kdasm.o + +obj/m68kops.h: obj/m68kmake$(EXESUFFIX) obj/m68kmake obj src/m68k_in.c -obj/m68kmake: src/m68kmake.c src/m68k_in.c - $(CC) $(WARNINGS) src/m68kmake.c -o obj/m68kmake +obj/m68kmake$(EXESUFFIX): src/m68kmake.c src/m68k_in.c + $(CC) $(WARNINGS) src/m68kmake.c -o obj/m68kmake$(EXESUFFIX)