forked from parrado/ps2-packer-small
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
114 lines (77 loc) · 2.64 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
109
110
111
112
113
114
PREFIX = $(PS2DEV)
SUBMAKE = $(MAKE) -C
SHELL = /bin/sh
SYSTEM = $(shell uname)
LIBZA = -lz
LIBLZMAA = lzma/lzma.a
LZMA_MT ?= 1
ifeq ($(LZMA_MT),1)
LIBLZMAA += -lpthread
endif
LZMA_CPPFLAGS = -I common/lzma
VERSION = 1.1.0
BIN2C = $(PS2SDK)/bin/bin2c
CPPFLAGS := -O3 -Wall -I. -DVERSION=\"$(VERSION)\" -DPREFIX=\"$(PREFIX)\" $(CPPFLAGS)
INSTALL = install
ifeq ($(SYSTEM),Darwin)
CPPFLAGS += -D__APPLE__
SHARED = -dynamiclib
SHAREDSUFFIX = .dylib
CC = /usr/bin/gcc
CPPFLAGS += -I/usr/local/include -L/usr/local/lib
else ifeq ($(OS),Windows_NT)
SHAREDSUFFIX = .dll
EXECSUFFIX = .exe
DIST_PACK_CMD = zip -9
DIST_PACK_EXT = .zip
LDFLAGS = #Libdl is built into glibc for both Cygwin and MinGW.
else ifeq ($(findstring BSD, $(SYSTEM)), BSD)
ifeq ($(SYSTEM),NetBSD)
CPPFLAGS += -I/usr/pkg/include -L/usr/pkg/lib -R/usr/pkg/lib
else
CPPFLAGS += -I/usr/local/include -L/usr/local/lib
endif
CC = cc
LDFLAGS =
endif
CC ?= gcc
SHARED ?= -shared
SHAREDSUFFIX ?= .so
EXECSUFFIX ?=
DIST_PACK_CMD ?= tar cvfz
DIST_PACK_EXT ?= .tar.gz
LDFLAGS ?= -ldl
all: ps2-packer-lite
install: all
$(INSTALL) -d $(DESTDIR)$(PREFIX)/bin
$(INSTALL) -d $(DESTDIR)$(PREFIX)/share/ps2-packer/module
$(INSTALL) -m 755 $(DESTDIR)$(PREFIX)/share/ps2-packer/module
$(INSTALL) -m 755 ps2-packer-lite $(DESTDIR)$(PREFIX)/bin
PREFIX=$(PREFIX)
uninstall:
rm -f $(DESTDIR)$(PREFIX)/bin/ps2-packer$(EXECSUFFIX) $(DESTDIR)$(PREFIX)/bin/ps2-packer-lite$(EXECSUFFIX)
ps2-packer-lite: ps2-packer.c lzma
$(CC) $(CPPFLAGS) $(LZMA_CPPFLAGS) -DPS2_PACKER_LITE ps2-packer.c lzma-packer.c $(LIBLZMAA) $(LDFLAGS) -o ps2-packer-lite$(EXECSUFFIX)
lzma: lzma-tag.stamp
lzma-tag.stamp:
$(SUBMAKE) lzma
touch lzma-tag.stamp
lzma-packer$(SHAREDSUFFIX): lzma lzma-packer.c
$(CC) -fPIC $(CPPFLAGS) $(LZMA_CPPFLAGS) lzma-packer.c $(SHARED) -o lzma-packer$(SHAREDSUFFIX) $(LIBLZMAA)
clean:
rm -f ps2-packer-lite ps2-packer-lite.exe *.zip *.gz *.dll *$(SHAREDSUFFIX) *.o
$(SUBMAKE) lzma clean
rm -f lzma-tag.stamp
rebuild: clean all
#
# Everything below is for me, building the distribution packages.
#
dist: all COPYING stubs-dist README.txt ps2-packer.c
strip ps2-packer$(EXECSUFFIX) ps2-packer-lite$(EXECSUFFIX)
$(DIST_PACK_CMD) ps2-packer-$(VERSION)$(DIST_PACK_EXT) ps2-packer$(EXECSUFFIX) COPYING README.txt
$(DIST_PACK_CMD) ps2-packer-lite-$(VERSION)$(DIST_PACK_EXT) ps2-packer-lite$(EXECSUFFIX) COPYING README.txt README-lite.txt
tar cvfz ps2-packer-$(VERSION)-src.tar.gz *.{c,h} Makefile README.txt README-lite.txt
redist: clean dist
release: redist
rm -f /var/www/softwares/ps2-packer/*
cp *.gz *.zip COPYING README.txt README-lite.txt /var/www/softwares/ps2-packer