forked from drizzt/GaiaManager
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
108 lines (76 loc) · 3.36 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
CELL_MK_DIR = $(CELL_SDK)/samples/mk
include $(CELL_MK_DIR)/sdk.makedef.mk
include option.mk
PPU_SRCS = main.cpp input_pad.cpp dialog.c fileutils.cpp graphics.c i18n.c network.c parse.c syscall8.c version.c sound.cpp
PPU_TARGET = open_manager.elf
GITHEAD := $(shell git describe --abbrev=4 --tags 2>/dev/null)
ifeq ($(strip $(GITHEAD)),)
GITHEAD := $(shell git rev-parse HEAD)
endif
ifneq ($(strip $(shell git diff-index -m --name-only HEAD)),)
GITHEAD := $(GITHEAD)-dirty
endif
PPU_LDLIBS = -lfont_stub -lfontFT_stub -lfreetype_stub -lpthread -latrac3plus_stub -lmixer -laudio_stub -lftp -lrtc_stub -lnet_stub -lnetctl_stub -lpngdec_stub -lm -ldbgfont_gcm -lgcm_cmd -lgcm_sys_stub -lio_stub -lsysmodule_stub -lsysutil_stub -lfs_stub -lhttp_util_stub -lhttp_stub
PPU_CPPFLAGS += -Werror -D'FOLDER_NAME="$(FOLDER_NAME)"'
PPU_INCDIRS += -I$(CELL_SDK)/target/ppu/include/sysutil
VPSHADER_SRCS = vpshader.cg vpshader2.cg
FPSHADER_SRCS = fpshader.cg fpshader2.cg
VPSHADER_PPU_OBJS = $(patsubst %.cg, $(OBJS_DIR)/%.ppu.o, $(VPSHADER_SRCS))
FPSHADER_PPU_OBJS = $(patsubst %.cg, $(OBJS_DIR)/%.ppu.o, $(FPSHADER_SRCS))
PPU_EMBEDDED_SRCS = $(VPSHADER_PPU_OBJS) $(FPSHADER_PPU_OBJS)
PACKAGE_NAME = $(shell sed -n 's/^Product_ID[[:space:]]*=[[:space:]]*//p' openmanager.conf)
FOLDER_NAME = $(shell echo $(PACKAGE_NAME) | sed -n 's/^[[:alnum:]]*-\([[:alnum:]]*\)_.*/\1/p')
PKG_TARGET = $(PACKAGE_NAME).pkg
CLEANFILES = PS3_GAME/USRDIR/EBOOT.BIN $(OBJS_DIR)/$(PPU_TARGET) readme.aux readme.log readme.out readme.tex
SUBDIRS = ext
ifneq ($(strip $(WITH_GAMES_DIR)),)
PPU_CPPFLAGS += -D'GAMES_DIR="$(WITH_GAMES_DIR)"'
endif
ifneq ($(strip $(WITH_COVERS_DIR)),)
PPU_CPPFLAGS += -D'COVERS_DIR="$(WITH_COVERS_DIR)"'
endif
ifneq ($(strip $(WITHOUT_SAVE_STATUS)),)
PPU_CPPFLAGS += -DWITHOUT_SAVE_STATUS
endif
ifeq ($(strip $(WITH_SOUND)),)
PPU_CPPFLAGS += -DWITHOUT_SOUND
else
PPU_SRCS += at3plus.c waveout.c
ifneq (exists, $(shell [ -f at3plus.c -a -f at3plus.h -a -f waveout.c -a -f waveout.h ] && echo exists) )
PPU_INCDIRS += -I$(CELL_SDK)/samples/sdk/codec/atrac3plus_simple
at3plus.c: $(CELL_SDK)/samples/sdk/codec/atrac3plus_simple/at3plus.c
cp $< $@
waveout.c: $(CELL_SDK)/samples/sdk/codec/atrac3plus_simple/waveout.c
cp $< $@
endif
endif
include $(CELL_MK_DIR)/sdk.target.mk
PPU_OBJS += $(VPSHADER_PPU_OBJS) $(FPSHADER_PPU_OBJS)
all : EBOOT.BIN $(PKG_TARGET) docs
docs : readme.html readme.pdf
$(VPSHADER_PPU_OBJS): $(OBJS_DIR)/%.ppu.o : %.vpo
@mkdir -p $(dir $(@))
$(PPU_OBJCOPY) -I binary -O elf64-powerpc-celloslv2 -B powerpc $< $@
$(FPSHADER_PPU_OBJS): $(OBJS_DIR)/%.ppu.o : %.fpo
@mkdir -p $(dir $(@))
$(PPU_OBJCOPY) -I binary -O elf64-powerpc-celloslv2 -B powerpc $< $@
$(OBJS_DIR)/$(PPU_TARGET): $(PPU_TARGET)
@mkdir -p $(dir $(@))
$(PPU_STRIP) -s $< -o $@
@echo setting ftp home path to /
./ext/libftphack/libftphack $@
PS3_GAME/USRDIR/EBOOT.BIN: $(OBJS_DIR)/$(PPU_TARGET)
@mkdir -p $(dir $(@))
$(MAKE_FSELF_NPDRM) $< $@
$(PKG_TARGET): openmanager.conf PS3_GAME/USRDIR/EBOOT.BIN
@echo generating package.
$(MAKE_PACKAGE_NPDRM) openmanager.conf PS3_GAME/
EBOOT.BIN: $(OBJS_DIR)/$(PPU_TARGET) # to use in /app_home/PS3_GAME
@echo generating EBOOT.BIN to use in /app_home/PS3_GAME
$(MAKE_FSELF) $< $@
readme.html: readme.mkd
maruku -o $@ $<
readme.pdf: readme.mkd
maruku --pdf -o $@ $<
$(OBJS_DIR)/version.ppu.o : PPU_CPPFLAGS += -DGITHEAD=\"$(GITHEAD)\"
.PHONY: $(OBJS_DIR)/version.ppu.o