pcsx2/pcsx2hostfs/Makefile

135 lines
3.4 KiB
Makefile

# Compilation variables
# Set this to 1 to enable debug mode
DEBUG = 1
# Set this to 1 to build a highloading version, 0 for normal low version
LOADHIGH = 0
# Set this to 1 to build ps2link with all the needed IRX builtins
BUILTIN_IRXS = 1
# Set this to 1 to enable caching of config files
CACHED_CFG = 1
# Set this to 1 to enable zero-copy on fileio writes.
ZEROCOPY = 0
# Set this to 1 to power off the ps2 when the reset button is tapped
# otherwise it will try and reset ps2link
PWOFFONRESET = 1
# Set this to 1 to hook the kernel CreateThread/DeleteThread calls.
# Note that this will cause problems when loading PS2LINK.ELF from PS2LINK...
HOOK_THREADS = 0
# Set this to 1 to enable screenshots.
# Note that this adds a dependency with libgraph and libdma
SCREENSHOTS = 0
# Set to the path where ps2eth is located
PS2ETH = $(PS2DEV)/ps2eth
SHELL=/usr/bin/env bash
BIN2O=$(PS2SDK)/bin/bin2o
RM=rm -f
#
# You shouldn't need to modify anything below this point
#
include $(PS2SDK)/Defs.make
EEFILES=ee/pcsx2hostfs_ldr.elf
IRXFILES=iop/pcsx2hostfs.irx $(PS2SDK)/iop/irx/ioptrap.irx
VARIABLES=DEBUG=$(DEBUG) LOADHIGH=$(LOADHIGH) BUILTIN_IRXS=$(BUILTIN_IRXS) ZEROCOPY=$(ZEROCOPY) PWOFFONRESET=$(PWOFFONRESET) CACHED_CFG=$(CACHED_CFG) HOOK_THREADS=$(HOOK_THREADS) SCREENSHOTS=$(SCREENSHOTS)
ifeq ($(BUILTIN_IRXS),1)
TARGETS = iop builtins ee
else
TARGETS = ee iop
endif
all: $(TARGETS)
ifneq ($(BUILTIN_IRXS),1)
@for file in $(IRXFILES); do \
new=`echo $${file/*\//}|tr "[:lower:]" "[:upper:]"`; \
cp $$file bin/$$new; \
done;
endif
@for file in $(EEFILES); do \
new=`echo $${file/*\//}|tr "[:lower:]" "[:upper:]"`; \
cp $$file bin/$$new; \
done;
ee:
$(VARIABLES) $(MAKE) -C ee
iop:
$(VARIABLES) $(MAKE) -C iop
clean:
$(MAKE) -C ee clean
$(MAKE) -C iop clean
check:
$(VARIABLES) $(MAKE) -C ee check
# Creates a zip from what you have
dist: all
@rm -rf dist
@mkdir -p dist/ps2link
ifneq ($(BUILTIN_IRXS),1)
@for file in $(IRXFILES); do \
new=`echo $${file/*\//}|tr "[:lower:]" "[:upper:]"`; \
cp $$file dist/ps2link/$$new; \
done;
endif
@for file in $(EEFILES); do \
new=`echo $${file/*\//}|tr "[:lower:]" "[:upper:]"`; \
cp $$file dist/ps2link/$$new; \
done;
cd dist; \
tar -jcf ps2link.tar.bz2 ps2link/
RELEASE_FILES=bin/*IRX bin/*DAT bin/*cnf bin/*ELF LICENSE README
#
# Creates zip with iso and all necessary files of last release
release:
@rm -rf RELEASE
@mkdir -p RELEASE
@VERSION=`cvs log Makefile | grep -A 1 symbolic | tail -1 | awk '{print substr($$1, 0, length($$1)-1)}'`; \
cd RELEASE; \
cvs co -r $$VERSION ps2link; \
cd ps2link; \
make; \
make check; \
mkdir -p bin; \
for file in $(IRXFILES); do \
new=`echo $${file/*\//}|tr "[:lower:]" "[:upper:]"`; \
cp $$file bin/$$new; \
done; \
for file in $(EEFILES); do \
new=`echo $${file/*\//}|tr "[:lower:]" "[:upper:]"`; \
cp $$file bin/$$new; \
done; \
dd if=/dev/zero of=bin/dummy bs=1024 count=28672; \
ps2mkisofs -o ps2link_$$VERSION.iso bin/; \
rm bin/dummy; \
tar -jcf ps2link_$$VERSION.tbz $(RELEASE_FILES) ps2link_$$VERSION.iso
docs:
doxygen doxy.conf
builtins:
@for file in $(IRXFILES); do \
basefile=$${file/*\//}; \
basefile=$${basefile/\.*/}; \
echo "Embedding IRX file $$basefile"; \
$(BIN2O) $$file ee/$${basefile}_irx.o _binary_$${basefile}_irx; \
done;
.PHONY: iop ee