forked from hitodama/libps4
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
executable file
·52 lines (39 loc) · 1.2 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
###################################
libps4=.
target=ps4-lib
###################################
ifdef libps4flags
LibPS4Flags := $(libps4flags)
endif
ifdef LIBPS4CFLAGS
LibPS4Flags := $(LIBPS4CFLAGS)
endif
#LibPS4Flags ?= -D"LibPS4SyscallWrapped"
LibPS4Flags ?= -D"LibPS4SyscallDirect"
###################################
include $(CURDIR)/make/libps4.mk
#generate_target <type> <module> <symbol> <header>
define generateTarget
ObjectFiles += $(BuildPath)/$(strip $(2))/$(strip $(3)).stub.o
$(BuildPath)/$(strip $(2))/$(strip $(3)).stub.o: stub/$(strip $(1)).stub.c
ifeq ("$(wildcard $$@)", "")
@mkdir -p $$@
@rmdir $$@
endif
$$(compile) \
-DPS4MODULE="$(strip $(2))" \
-DPS4SYMBOL="$(strip $(3))" \
-DPS4HEADER="<$(strip $(4)).h>"
endef
#generate <module> <header> <fsym> <fssym> <ssym>
define generate
$(call generateTarget, module, $(1), $(2), $(2))
$(foreach i, $(3), $(call generateTarget, function, $(1), $(i), $(2)))
$(foreach i, $(4), $(call generateTarget, functionOrSyscall, $(1), $(i), $(2)))
$(foreach i, $(5), $(call generateTarget, syscall, $(1), $(i), $(2)))
endef
include $(CURDIR)/symbols.mk
$(OutPath)/$(TargetFile).a: $(ObjectFiles)
$(dirp)
$(archive)
###################################