X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Makefile;h=24cb91537591668e96a6e5a3bbbd09a5a8674d62;hb=3580a9ef98432ed54f065f2d537d588fdc083592;hp=b2cffbadf16ff2c497271a0cd82d9f28d567bcca;hpb=287f2fa2ff95d828e400294f10ca215314960e72;p=virtualjaguar diff --git a/Makefile b/Makefile index b2cffba..24cb915 100644 --- a/Makefile +++ b/Makefile @@ -5,23 +5,22 @@ # 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 +TARGET = vj$(EXESUFFIX) -#Why substitute strcasecmp for stricmp? Isn't stricmp standard? -#CFLAGS = -Wall -Wno-switch -Wno-non-virtual-dtor -O2 -D$(SYSTYPE) -Dstricmp="strcasecmp" +# 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` + -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 -#Why? Seems like it's wrong... -#LDFLAGS = $(CFLAGS) LDFLAGS = -#LIBS = -L/usr/local/lib -L/usr/lib `sdl-config --libs` -lstdc++ -lz $(GLLIB) 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 @@ -29,11 +28,9 @@ INCS = -I. -Isrc -Isrc/include -I/usr/local/include -I/usr/include THECC = $(CC) $(CFLAGS) $(INCS) 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 \ @@ -59,6 +56,9 @@ OBJS = \ obj/video.o \ obj/vj.o \ $(ICON) +# obj/anajoy.o +# obj/cdbios.o +# obj/cdi.o all: obj $(TARGET) @@ -69,21 +69,38 @@ clean: obj: mkdir obj +obj/%.o: src/%.c src/include/%.h + $(THECC) -c $< -o $@ + +obj/%.o: src/%.cpp src/include/%.h + $(THECC) -c $< -o $@ + obj/%.o: src/%.c $(THECC) -c $< -o $@ obj/%.o: src/%.cpp $(THECC) -c $< -o $@ -vj: $(OBJS) +$(TARGET): $(OBJS) $(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) # strip --strip-all vj$(EXESUFFIX) # upx -9 vj$(EXESUFFIX) +# Dependencies + +obj/dac.o: src/include/settings.h +obj/eeprom.o: src/include/settings.h +obj/gui.o: src/include/settings.h +obj/jaguar.o: src/include/settings.h +obj/joystick.o: src/include/settings.h +obj/tom.o: src/include/settings.h +obj/video.o: src/include/settings.h +obj/vj.o: src/include/settings.h + # 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 +obj/gui.o: src/gui.cpp src/include/gui.h src/include/font1.h src/include/font14pt.h src/include/guielements.h +obj/cdintf.o: src/cdintf.cpp src/cdintf_win32.cpp src/cdintf_osx.cpp src/cdintf_linux.cpp src/include/cdintf.h # # Musashi specific stuffola