X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Makefile.unix;h=1237bae9f11115ede6a01bca56ad4ed51d91b0af;hb=d840c416a27a17287406fadf152bb72b43a563fb;hp=6f0560246426072e8d4527405f29aa51df372108;hpb=86bd0f2592c3cd674239532247276bd2d579a857;p=virtualjaguar diff --git a/Makefile.unix b/Makefile.unix index 6f05602..1237bae 100644 --- a/Makefile.unix +++ b/Makefile.unix @@ -1,58 +1,114 @@ -CC = gcc -LD = gcc -NASM = nasm +# +# Makefile for Virtual Jaguar GCC/SDL Portable Jaguar Emulator +# -CFLAGS = -Wall -O3 -D__PORT__ -D__GCCUNIX__ -DSPEED_CONTROL -Dstricmp="strcasecmp" -fomit-frame-pointer `sdl-config --cflags` +# Uncomment the following lines to compile for Win32 + +#SYSTYPE = __GCCWIN32__ +#EXESUFFIX = .exe +#GLLIB = opengl32 + +# Uncomment the following lines to compile for *nix + +SYSTYPE = __GCCUNIX__ +EXESUFFIX = +GLLIB = GL + +CC = gcc +LD = gcc +TARGET = vj + +CFLAGS = -Wall -Wno-switch -O3 -D$(SYSTYPE) -Dstricmp="strcasecmp" \ + -fomit-frame-pointer `sdl-config --cflags` +# -fomit-frame-pointer `sdl-config --cflags` -DLOG_UNMAPPED_MEMORY_ACCESSES LDFLAGS = $(CFLAGS) -TARGET = jag_em - -OBJ = \ - src/version.o \ - src/tom.o \ - src/pcm.o \ - src/objectp.o \ - src/memory.o \ - src/m68kdasm.o \ - src/log.o \ - src/joystick.o \ - src/jerry.o \ - src/jaguar.o \ - src/jagdasm.o \ - src/Jagem.o \ - src/gpu.o \ - src/eeprom.o \ - src/dsp.o \ - src/dsound_dummy.o \ - src/crc32.o \ - src/clock.o \ - src/cdrom.o \ - src/cdi.o \ - src/cdbios.o \ - src/blitter.o \ - src/anajoy.o \ - src/star026c/s68000.o - -LIBS = `sdl-config --libs` -lstdc++ - -all: $(TARGET) - -INCS = -I. `sdl-config --cflags` +LIBS = -L/usr/local/lib `sdl-config --libs` -lstdc++ -lz -l$(GLLIB) + +INCS = -I. -Isrc -Isrc/include -I/usr/local/include THECC = $(CC) $(CFLAGS) $(INCS) -%.o: %.asm - $(NASM) -f elf -o $@ $< +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 -%.o: %.c +all: obj $(TARGET) + +clean: + rm -rf obj + rm -f ./vj$(EXESUFFIX) + +obj: + mkdir obj + +obj/%.o: src/%.c $(THECC) -c $< -o $@ -%.o: %.cpp +obj/%.o: src/%.cpp $(THECC) -c $< -o $@ -jag_em: $(OBJ) - $(LD) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) - -clean: - rm -f jag_em *.o src/*.o src/star026c/*.o +vj: $(OBJS) + $(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) +# 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 +# + +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$(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$(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$(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$(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/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$(EXESUFFIX): src/m68kmake.c src/m68k_in.c + $(CC) $(WARNINGS) src/m68kmake.c -o obj/m68kmake$(EXESUFFIX)