# Unified Makefile for Virtual Jaguar GCC/SDL Portable Jaguar Emulator
#
# by James L. Hammons
-# This software is licensed under the GPL v2. Set the file GPL.TXT for details. ;-)
#
+# This software is licensed under the GPL v2 or any later version. Set the
+# file GPL.TXT for details. ;-)
+#
+
+# NOTE: zlib and OpenGL libs are a dependency, but are not checked for.
+# same goes for libcdio
# Figure out which system we're compiling for, and set the appropriate variables
# Note that we use optimization level 2 instead of 3--3 doesn't seem to gain much over 2
CFLAGS = -MMD -Wall -Wno-switch -O2 -D$(SYSTYPE) -ffast-math -fomit-frame-pointer `sdl-config --cflags`
CPPFLAGS = -MMD -Wall -Wno-switch -Wno-non-virtual-dtor -O2 -D$(SYSTYPE) \
- -ffast-math -fomit-frame-pointer `sdl-config --cflags`
+ -DHAVE_LIB_CDIO -ffast-math -fomit-frame-pointer `sdl-config --cflags` -g
# -fomit-frame-pointer `sdl-config --cflags` -g
# -fomit-frame-pointer `sdl-config --cflags` -DLOG_UNMAPPED_MEMORY_ACCESSES
LDFLAGS =
-LIBS = -L/usr/local/lib -L/usr/lib `sdl-config $(SDLLIBTYPE)` -lstdc++ -lz $(GLLIB)
+LIBS = -L/usr/local/lib -L/usr/lib `sdl-config $(SDLLIBTYPE)` -lstdc++ -lz $(GLLIB) -lcdio
+# Comment out the above and uncomment below if you don't have libcdio.
+# Also, remove the "-DHAVE_LIB_CDIO" from CPPFLAGS above.
+#LIBS = -L/usr/local/lib -L/usr/lib `sdl-config $(SDLLIBTYPE)` -lstdc++ -lz $(GLLIB)
INCS = -I. -I./src -I/usr/local/include -I/usr/include
OBJS = \
+ obj/m68kcpu.o \
+ obj/m68kops.o \
+ obj/m68kopac.o \
+ obj/m68kopdm.o \
+ obj/m68kopnz.o \
+ obj/m68kdasm.o \
+\
+ obj/gui.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/event.o \
+ obj/file.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/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: checkenv message obj $(TARGET)$(EXESUFFIX)
@echo
else
@echo "OK"
endif
+# !!! NOTE !!! Need to put a check here for libcdio, GL, etc.
message:
@echo
@echo "*** Compiling $<..."
@$(CC) $(CPPFLAGS) $(INCS) -c $< -o $@
+obj/%.o: src/gui/%.cpp
+ @echo "*** Compiling $<..."
+ @$(CC) $(CPPFLAGS) $(INCS) -c $< -o $@
+
$(TARGET)$(EXESUFFIX): $(OBJS)
@echo "*** Linking it all together..."
@$(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)