-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile
67 lines (50 loc) · 1.15 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
#
# Makefile for jagcrypt Jaguar Cartridge Encryption program
# (Really, it's not encryption, but a digital signature)
#
# Uncomment the following line to compile for Win32
#SYSTYPE = __GCCWIN32__
# Uncomment the following lines to compile for *nix
SYSTYPE = __GCCUNIX__
ifeq ($(SYSTYPE),__GCCWIN32__)
EXESUFFIX = .exe
WHICH = where 2>NUL
# By default, make UPX a no-op
UPX = dir /B
else
EXESUFFIX =
WHICH = which
# By default, make UPX a no-op
UPX = ls
endif
# If UPX is installed in the PATH, use it.
ifneq (,$(shell $(WHICH) upx))
UPX = upx -9
endif
CC = gcc
LD = gcc
TARGET = jagcrypt$(EXESUFFIX)
CFLAGS = -Wall -Wno-switch -O2 -fomit-frame-pointer
LDFLAGS = $(CFLAGS)
LIBS =
INCS = -I.
THECC = $(CC) $(CFLAGS) $(INCS)
OBJS = \
obj/bytemath.o \
obj/fileio.o \
obj/jagcrypt.o \
obj/rsa.o
all: obj $(TARGET)
clean:
rm -rf obj
rm -f ./jagcrypt$(EXESUFFIX)
obj:
mkdir obj
obj/%.o: %.c
$(THECC) -c $< -o $@
obj/%.o: %.cpp
$(THECC) -c $< -o $@
jagcrypt$(EXESUFFIX): $(OBJS)
$(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
strip --strip-all jagcrypt$(EXESUFFIX)
$(UPX) jagcrypt$(EXESUFFIX)