]> Shamusworld >> Repos - virtualjaguar/blobdiff - Makefile
New timer based execution code
[virtualjaguar] / Makefile
index b2cffbadf16ff2c497271a0cd82d9f28d567bcca..24cb91537591668e96a6e5a3bbbd09a5a8674d62 100644 (file)
--- 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