JSRF-Decompilation/decompile/Makefile
KeybadeBlox adc30bb531 Move Std.hpp into CRT directory
It's also been renamed to stddef.h since all it contained was the
definition of NULL, which lives in that header in a standard C library.
2026-02-18 19:22:13 -05:00

49 lines
1.5 KiB
Makefile

# JSRF Decompilation Makefile
# An NMAKE Makefile to compile the game with the Visual C++ 7.0 toolchain
# All object files to link together
OBJ = src/JSRF/Jet2.obj src/JSRF/Core.obj src/JSRF/GameData.obj\
src/XDK/CRT/CRT0.obj
# Import library for the only thing we don't compile ourselves, the Xbox kernel
LIB = lib/xboxkrnl.lib
#all: src/JSRF/Jet2.xbe
all: $(OBJ) # For now, just compile all the object files
## Build commands
.SUFFIXES: .cpp .obj .def .lib .exe.xbe
# Convert compiled executable into a working Xbox executable
# (TODO: we may want to fork cxbe to add section checksums and the game ID)
.exe.xbe:
cxbe.exe -OUT:$@ -TITLE:'Jet Set Radio Future' -MODE:retail $<
# Linking into an executable; expect this to fail with undefined references
# until we've made at least stubs for everything in the game
src/JSRF/Jet2.exe: $(OBJ) $(LIB)
LINK.EXE /NOLOGO /NODEFAULTLIB /MERGE:.CRT=.data /OUT:$@ $**
# Create import library for Xbox kernel
.def.lib:
LIB.EXE /NOLOGO /MACHINE:X86 /DEF:$< /OUT:$@
# Compile object files from source
.c.obj:
CL.EXE /nologo /Wall /W4 /Ogityb0 /GfX /Fo$@ /c $<
.cpp.obj:
CL.EXE /nologo /Wall /W4 /Ogityb0 /GfX /Fo$@ /c $<
# Header files used for each object
src/JSRF/Jet2.obj: src/JSRF/Core.hpp src/XDK/CRT/stddef.h src/XDK/D3D.h\
src/XDK/Win32.h
src/JSRF/Core.obj: src/JSRF/Core.hpp src/Smilebit/MMatrix.hpp\
src/XDK/CRT/stddef.h src/XDK/D3D.h src/XDK/Win32.h
src/JSRF/GameData.obj: src/JSRF/GameData.hpp
src/XDK/CRT/CRT0.obj: src/XDK/Win32.h