X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Makefile;h=62b30f689652ba0d6bd92cc3c1bcc8fc30c8fcee;hb=2cb7c92948c4c6ed261e028d817e1d854b9dcb20;hp=22810e0f7c21d76089524e7e3d5045a88948f27a;hpb=384d2d42b027ab30427dc7f266fe53d38a9b949e;p=virtualjaguar diff --git a/Makefile b/Makefile index 22810e0..62b30f6 100644 --- a/Makefile +++ b/Makefile @@ -5,14 +5,18 @@ # script called "compile". The unified makefile should make life a little # easier for the maintainers. :-) # +# To the Gentoo ebuild maintainers: If something is silly in the compile script +# and/or makefile, why don't you enlighten us poor schmucks as to what's wrong? ;-) +# CC = gcc LD = gcc TARGET = vj$(EXESUFFIX) # Note that we use optimization level 2 instead of 3--3 doesn't seem to gain much over 2 -CFLAGS = -Wall -Wno-switch -Wno-non-virtual-dtor -O2 -D$(SYSTYPE) \ - -fomit-frame-pointer `sdl-config --cflags` +CFLAGS = -Wall -Wno-switch -O2 -ffast-math -fomit-frame-pointer +CPPFLAGS = -Wall -Wno-switch -Wno-non-virtual-dtor -O2 -D$(SYSTYPE) \ + -ffast-math -fomit-frame-pointer `sdl-config --cflags` # -fomit-frame-pointer `sdl-config --cflags` -g # -fomit-frame-pointer `sdl-config --cflags` -DLOG_UNMAPPED_MEMORY_ACCESSES @@ -20,73 +24,83 @@ LDFLAGS = LIBS = -L/usr/local/lib -L/usr/lib `sdl-config $(SDLLIBTYPE)` -lstdc++ -lz $(GLLIB) -INCS = -I. -Isrc -Isrc/include -I/usr/local/include -I/usr/include - -THECC = $(CC) $(CFLAGS) $(INCS) +INCS = -I. -I./src -I/usr/local/include -I/usr/include OBJS = \ - obj/anajoy.o \ - obj/blitter.o \ - obj/cdbios.o \ - obj/cdi.o \ - obj/cdrom.o \ - obj/cdintf.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/blitter.o \ + obj/cdrom.o \ + obj/cdintf.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 \ + 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 -rf ./obj rm -f ./vj$(EXESUFFIX) obj: - mkdir obj + mkdir ./obj -obj/%.o: src/%.c src/include/%.h - $(THECC) -c $< -o $@ +obj/%.o: src/%.c src/%.h + $(CC) $(CFLAGS) `sdl-config --cflags` $(INCS) -c $< -o $@ -obj/%.o: src/%.cpp src/include/%.h - $(THECC) -c $< -o $@ +obj/%.o: src/%.cpp src/%.h + $(CC) $(CPPFLAGS) $(INCS) -c $< -o $@ -obj/%.o: src/%.c - $(THECC) -c $< -o $@ +#obj/%.o: src/%.c +# $(CC) $(CFLAGS) `sdl-config --cflags` $(INCS) -c $< -o $@ obj/%.o: src/%.cpp - $(THECC) -c $< -o $@ + $(CC) $(CPPFLAGS) $(INCS) -c $< -o $@ $(TARGET): $(OBJS) $(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) # strip --strip-all vj$(EXESUFFIX) # upx -9 vj$(EXESUFFIX) +# Dependencies + +obj/dac.o: src/settings.h +obj/eeprom.o: src/settings.h +obj/gui.o: src/settings.h +obj/jaguar.o: src/settings.h +obj/joystick.o: src/settings.h +obj/tom.o: src/settings.h +obj/video.o: src/settings.h +obj/vj.o: src/settings.h + # Other stuff that has unusual dependencies -obj/gui.o: src/gui.cpp src/include/gui.h src/include/font1.h -obj/cdintf.o: src/cdintf.cpp src/cdintf_win32.cpp src/cdintf_osx.cpp src/cdintf_linux.cpp src/include/cdintf.h +obj/gui.o: src/gui.cpp src/gui.h src/font1.h src/font14pt.h src/guielements.h +obj/cdintf.o: src/cdintf.cpp src/cdintf_win32.cpp src/cdintf_osx.cpp src/cdintf_linux.cpp src/cdintf.h # # Musashi specific stuffola