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
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/video.o \
obj/vj.o \
$(ICON)
+# obj/cdbios.o
+# obj/cdi.o
all: obj $(TARGET)
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)
# 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/cdintf.o: src/cdintf.cpp src/cdintf_win32.cpp src/cdintf_osx.cpp src/cdintf_linux.cpp src/include/cdintf.h
#
# Musashi specific stuffola