tyrav2 init
This commit is contained in:
+116
@@ -0,0 +1,116 @@
|
||||
#Compiler and Linker
|
||||
EE_PREFIX := mips64r5900el-ps2-elf-
|
||||
AR := $(EE_PREFIX)ar
|
||||
AS := $(EE_PREFIX)as
|
||||
CC := $(EE_PREFIX)gcc
|
||||
CXX := $(EE_PREFIX)g++
|
||||
STRIP := $(EE_PREFIX)strip
|
||||
BIN2S := $(PS2SDK)/bin/bin2s
|
||||
VCL := vcl
|
||||
VCLPP := vclpp
|
||||
DVP := dvp-as
|
||||
|
||||
IRXEMBEDDEDEXT := irx-em
|
||||
|
||||
#Flags, Libraries and Includes
|
||||
CFLAGS += -D_EE -Wall -O3
|
||||
LINKFLAGS += -O3 -Wl,-zmax-page-size=128
|
||||
ASFLAGS += -O3
|
||||
LIB += -lstdc++ -ldma -lpacket2 -lgraph -ldraw -lmath3d -lpng -lz -lpad -laudsrv -lpatches -lcdvd
|
||||
INC += -I$(PS2DEV)/ps2sdk/ee/include -I$(PS2DEV)/ps2sdk/common/include -I$(PS2DEV)/ps2sdk/ports/include
|
||||
|
||||
#---------------------------------------------------------------------------------
|
||||
#DO NOT EDIT BELOW THIS LINE
|
||||
#---------------------------------------------------------------------------------
|
||||
SOURCES := $(shell find $(SRCDIR) -type f -name *.$(SRCEXT))
|
||||
OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.$(OBJEXT)))
|
||||
|
||||
IRXEM_SOURCES := $(shell find $(SRCDIR) -type f -name *.$(IRXEMBEDDEDEXT))
|
||||
IRXEM_OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(IRXEM_SOURCES:.$(IRXEMBEDDEDEXT)=.$(OBJEXT)))
|
||||
|
||||
VU_SOURCES_VCL := $(shell find $(SRCDIR) -type f -name *.$(VCLEXT))
|
||||
VU_OBJECTS_VCL := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(VU_SOURCES_VCL:.$(VCLEXT)=.$(OBJEXT)))
|
||||
|
||||
VU_SOURCES_VSM := $(shell find $(SRCDIR) -type f -name *.$(VSMEXT))
|
||||
VU_OBJECTS_VSM := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(VU_SOURCES_VSM:.$(VSMEXT)=.$(OBJEXT)))
|
||||
|
||||
VCL_SOURCES := $(shell find $(SRCDIR) -type f -name *.$(VCLPPEXT))
|
||||
VCL_OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(VCL_SOURCES:.$(VCLPPEXT)=.$(OBJEXT)))
|
||||
|
||||
#Default Make
|
||||
all: resources irxcopy $(TARGET)
|
||||
|
||||
release:
|
||||
$(MAKE) CFLAGS="-DNDEBUG $(CFLAGS)"
|
||||
|
||||
#Remake
|
||||
remake: cleaner all
|
||||
|
||||
#Copy Resources from Resources Directory to Target Directory
|
||||
resources: directories
|
||||
@cp $(RESDIR)/* $(TARGETDIR)/ || true
|
||||
|
||||
#Make the Directories
|
||||
directories:
|
||||
@mkdir -p $(TARGETDIR)
|
||||
@mkdir -p $(BUILDDIR)
|
||||
|
||||
#Clean only Objects
|
||||
clean:
|
||||
@$(RM) -rf $(BUILDDIR)
|
||||
|
||||
#Full Clean, Objects and Binaries
|
||||
cleaner: clean
|
||||
@$(RM) -rf $(TARGETDIR)
|
||||
@$(RM) -rf $(BUILDDIR)
|
||||
|
||||
irxcopy:
|
||||
@cp $(PS2SDK)/iop/irx/audsrv.irx $(TARGETDIR)/audsrv.irx
|
||||
|
||||
#Pull in dependency info for *existing* .o files
|
||||
-include $(OBJECTS:.$(OBJEXT)=.$(DEPEXT))
|
||||
|
||||
#Link
|
||||
$(TARGET): $(OBJECTS) $(VCL_OBJECTS) $(VU_OBJECTS_VCL) $(VU_OBJECTS_VSM) $(IRXEM_OBJECTS)
|
||||
$(CXX) -T$(PS2DEV)/ps2sdk/ee/startup/linkfile -o $(TARGETDIR)/$(TARGET) $^ -L$(PS2DEV)/ps2sdk/ee/lib -L$(PS2SDK)/ports/lib $(LINKFLAGS) $(LIBDIRS) $(LIB)
|
||||
$(STRIP) --strip-all $(TARGETDIR)/$(TARGET)
|
||||
|
||||
$(BUILDDIR)/%.$(OBJEXT): $(SRCDIR)/%.$(IRXEMBEDDEDEXT)
|
||||
@mkdir -p $(dir $@)
|
||||
@rm -f $@.s
|
||||
$(BIN2S) $(shell head -1 $<) $@.s $(shell sed -n '2p' $<)
|
||||
$(AS) $(ASFLAGS) $@.s -o $@
|
||||
|
||||
$(BUILDDIR)/%.$(OBJEXT): $(SRCDIR)/%.$(SRCEXT)
|
||||
@mkdir -p $(dir $@)
|
||||
$(CXX) $(CFLAGS) $(INC) -c -o $@ $<
|
||||
@$(CXX) $(CFLAGS) $(INCDEP) -MM $(SRCDIR)/$*.$(SRCEXT) > $(BUILDDIR)/$*.$(DEPEXT)
|
||||
@cp -f $(BUILDDIR)/$*.$(DEPEXT) $(BUILDDIR)/$*.$(DEPEXT).tmp
|
||||
@sed -e 's|.*:|$(BUILDDIR)/$*.$(OBJEXT):|' < $(BUILDDIR)/$*.$(DEPEXT).tmp > $(BUILDDIR)/$*.$(DEPEXT)
|
||||
@sed -e 's/.*://' -e 's/\\$$//' < $(BUILDDIR)/$*.$(DEPEXT).tmp | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $(BUILDDIR)/$*.$(DEPEXT)
|
||||
@rm -f $(BUILDDIR)/$*.$(DEPEXT).tmp
|
||||
|
||||
$(BUILDDIR)/%.$(OBJEXT): $(SRCDIR)/%.$(VCLEXT)
|
||||
@mkdir -p $(dir $@)
|
||||
@rm -f $@.vsm
|
||||
$(VCL) $< >> $@.vsm
|
||||
$(DVP) $@.vsm -o $@
|
||||
|
||||
$(BUILDDIR)/%.$(OBJEXT): $(SRCDIR)/%.$(VSMEXT)
|
||||
@mkdir -p $(dir $@)
|
||||
$(DVP) $< -o $@
|
||||
|
||||
$(BUILDDIR)/%.$(OBJEXT): $(SRCDIR)/%.$(VCLPPEXT)
|
||||
@mkdir -p $(dir $@)
|
||||
@rm -f $@.vcl
|
||||
@rm -f $@.vsm
|
||||
$(VCLPP) $< $@.vcl
|
||||
$(VCL) $@.vcl > $@.vsm
|
||||
$(DVP) $@.vsm -o $@
|
||||
|
||||
run-pcsx2:
|
||||
taskkill.exe /f /t /im pcsx2x64.exe || true
|
||||
$(WSL_LINUX_PCSX2)/pcsx2x64.exe --elf=$(WSL_MAKE_WINDOWS)$(CURDIR)/$(TARGETDIR)/$(TARGET)
|
||||
|
||||
#Non-File Targets
|
||||
.PHONY: all remake clean cleaner resources
|
||||
Reference in New Issue
Block a user