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) \
+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
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/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/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)
-# obj/anajoy.o
-# obj/cdbios.o
-# obj/cdi.o
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)
# 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
+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 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
+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