Files
librw/tools/demoreel/Makefile
T

63 lines
1.5 KiB
Makefile

# PS2 build (SCE toolchain). PC builds are generated by premake.
# Build librw for ps2 first: premake5 gmake; make -C build librw config=debug_ps2
CC=ee-gcc
CXX=ee-g++
TARGET=demoreel
LIBRW := ../..
OBJDIR := obj/ps2
SRC := main.cpp proctex.cpp scene_tunnel.cpp scene_particles.cpp scene_knot.cpp
SKELSRC := skeleton.cpp ps2.cpp
SCELIBDIR := /usr/local/sce/ee/lib
CFLAGS := -Os -DRW_PS2 -fno-common -fno-exceptions
LIBS = $(LIBRW)/lib/ps2/Debug/librw.a \
$(SCELIBDIR)/libgraph.a \
$(SCELIBDIR)/libdma.a \
$(SCELIBDIR)/libmc.a \
$(SCELIBDIR)/libpc.a \
$(SCELIBDIR)/libpad.a \
$(SCELIBDIR)/libcdvd.a \
$(SCELIBDIR)/libscf.a
GCCLIB := /usr/local/sce/ee/gcc/lib/gcc-lib/ee/3.2-ee-030926
CRT_BEGIN := $(OBJDIR)/crt0.o $(GCCLIB)/crti.o $(GCCLIB)/crtbegin.o
CRT_END := $(GCCLIB)/crtend.o $(GCCLIB)/crtn.o
OBJ := $(addprefix $(OBJDIR)/,$(SRC:.cpp=.o) $(SKELSRC:.cpp=.o))
DEP := $(OBJ:.o=.d)
INC := -I. \
-I$(LIBRW) \
-I$(LIBRW)/skeleton \
-I/usr/local/sce/common/include \
-I/usr/local/sce/ee/include
$(TARGET).elf: $(OBJDIR)/crt0.o $(OBJ)
$(CXX) -o $@ $(CRT_BEGIN) $(OBJ) $(LIBS) $(CRT_END) -T $(SCELIBDIR)/app.cmd -L$(SCELIBDIR) -lm -nostartfiles -Wl,--gc-sections
run: $(TARGET).elf
dsedb -r run $(TARGET).elf
$(OBJDIR)/crt0.o:
@mkdir -p $(@D)
$(CC) -c -xassembler-with-cpp -o $@ $(SCELIBDIR)/crt0.s
$(OBJDIR)/%.o: %.cpp
@mkdir -p $(@D)
$(CXX) $(CFLAGS) $(INC) -MMD -c $< -o $@
$(OBJDIR)/%.o: $(LIBRW)/skeleton/%.cpp
@mkdir -p $(@D)
$(CXX) $(CFLAGS) $(INC) -MMD -c $< -o $@
clean:
rm -rf $(OBJDIR) $(TARGET).elf
-include $(DEP)