1 #-----------------------------------------------------------------------------
2 # This code is licensed to you under the terms of the GNU GPL, version 2 or,
3 # at your option, any later version. See the LICENSE.txt file for the text of
5 #-----------------------------------------------------------------------------
6 include ..
/common
/Makefile.common
10 COMMON_FLAGS
= -std
=c99
-O3
-mpopcnt
-march
=native
-g
11 #VPATH = ../common ../zlib
14 LDLIBS
= -L
/opt
/local
/lib
-L
/usr
/local
/lib
-lreadline
-lpthread
-lm
15 LUALIB
= ..
/liblua
/liblua.a
16 #LDFLAGS = $(COMMON_FLAGS)
17 CFLAGS
= $(COMMON_FLAGS
) -I.
-I..
/include -I..
/common
-I..
/zlib
-I
/opt
/local
/include -I..
/liblua
-Wall
20 ifneq (,$(findstring MINGW
,$(platform
)))
21 LDLIBS
+= -L
/mingw
/lib
-lgdi32
22 CFLAGS
+= -I
/mingw
/include -D__USE_MINGW_ANSI_STDIO
=1
23 CXXFLAGS
= -I
$(QTDIR
)/include -I
$(QTDIR
)/include/QtCore
-I
$(QTDIR
)/include/QtGui
24 MOC
= $(QTDIR
)/bin
/moc
26 ifneq ($(wildcard $(QTDIR
)/include/QtWidgets
),)
27 CXXFLAGS
+= -I
$(QTDIR
)/include/QtWidgets
28 QTLDLIBS
= -L
$(QTDIR
)/lib
-lQt5Core
-lQt5Gui
-lQt5Widgets
30 QTLDLIBS
= -L
$(QTDIR
)/lib
-lQtCore4
-lQtGui4
34 qtplatform
= $(shell $(MOC
) -v
)
35 ifneq (, $(findstring moc
5,$(qtplatform
)))
36 CXXFLAGS
= -I
$(QTDIR
)/include -I
$(QTDIR
)/include/QtCore
-I
$(QTDIR
)/include/QtGui
-I
$(QTDIR
)/include/QtWidgets
-I
/mingw
/include
37 QTLDLIBS
= -L
$(QTDIR
)/lib
-lQt5Core
-lQt5Gui
-lQt5Widgets
39 CXXFLAGS
= -I
$(QTDIR
)/include -I
$(QTDIR
)/include/QtCore
-I
$(QTDIR
)/include/QtGui
40 QTLDLIBS
= -L
$(QTDIR
)/lib
-lQtCore4
-lQtGui4
43 else ifeq ($(platform
),Darwin
)
45 # OS X, QT5 detection needs this.
46 export PKG_CONFIG_PATH
=/usr
/local
/Cellar
/qt5
/5.6.1-1/lib
/pkgconfig
/
48 CXXFLAGS
= $(shell pkg-config
--cflags QtCore QtGui
2>/dev
/null
) -Wall
-O3
49 QTLDLIBS
= $(shell pkg-config
--libs QtCore QtGui
2>/dev
/null
)
50 MOC
= $(shell pkg-config
--variable
=moc_location QtCore
)
53 qtplatform
= $(shell $(MOC
) -v
)
54 ifneq (, $(findstring moc
5,$(qtplatform
)))
55 # use this if you have QT5 installed.
56 CFLAGS
+= -I
/usr
/include/malloc
/ -I
/usr
/local
/opt
/readline
/include -I
/usr
/local
/opt
/qt5
/include
57 LDLIBS
= -L
/usr
/local
/opt
/readline
/lib
-L
/usr
/local
/opt
/qt5
/lib
-lreadline
-lpthread
-lm
59 # Assuming you have QT4 installed.
60 CFLAGS
+= -I
/usr
/include/malloc
/ -I
/usr
/local
/opt
/readline
/include
61 LDLIBS
= -L
/usr
/local
/opt
/readline
/lib
-lreadline
-lpthread
-lm
66 CXXFLAGS
= $(shell pkg-config
--cflags QtCore QtGui
2>/dev
/null
) -Wall
-O3
67 QTLDLIBS
= $(shell pkg-config
--libs QtCore QtGui
2>/dev
/null
)
69 LDLIBS
+= -ltermcap
-lncurses
70 MOC
= $(shell pkg-config
--variable
=moc_location QtCore
)
71 # Below is a variant you can use if you have problems compiling with QT5 on ubuntu. see http://www.proxmark.org/forum/viewtopic.php?id=1661 for more info.
72 #MOC = /usr/lib/x86_64-linux-gnu/qt4/bin/moc
77 QTGUI
= $(OBJDIR
)/proxgui.o
$(OBJDIR
)/proxguiqt.o
$(OBJDIR
)/proxguiqt.moc.o
89 CMDSRCS
= mifarehost.c \
92 nonce2key
/nonce2key.c \
93 nonce2key
/crypto1_bs.c \
95 loclass
/cipherutils.c \
98 loclass
/elite_crack.c \
170 ZLIBSRCS
= deflate.c adler32.c trees.c zutil.c inflate.c inffast.c inftrees.c
171 ZLIB_FLAGS
= -DZ_SOLO
-DZ_PREFIX
-DNO_GZIP
-DZLIB_PM3_TUNED
174 COREOBJS
= $(CORESRCS
:%.c
=$(OBJDIR
)/%.o
)
175 CMDOBJS
= $(CMDSRCS
:%.c
=$(OBJDIR
)/%.o
)
176 ZLIBOBJS
= $(ZLIBSRCS
:%.c
=$(OBJDIR
)/%.o
)
179 BINS
= proxmark3 flasher fpga_compress
180 CLEAN
= cli cli.exe flasher flasher.exe proxmark3 proxmark3.exe fpga_compress fpga_compress.exe snooper snooper.exe
$(CMDOBJS
) $(OBJDIR
)/*.o
*.o
*.moc.
cpp
182 all: lua_build
$(BINS
)
184 all-static
: LDLIBS
:=-static
$(LDLIBS
)
187 proxmark3
: LDLIBS
+=$(LUALIB
) $(QTLDLIBS
)
188 proxmark3
: $(OBJDIR
)/proxmark3.o
$(COREOBJS
) $(CMDOBJS
) $(QTGUI
)
189 $(CXX
) $(CXXFLAGS
) $^
$(LDLIBS
) -o
$@
191 snooper
: $(OBJDIR
)/snooper.o
$(COREOBJS
) $(CMDOBJS
) $(OBJDIR
)/guidummy.o
192 $(CXX
) $(CXXFLAGS
) $^
$(LDLIBS
) -o
$@
194 cli
: $(OBJDIR
)/cli.o
$(COREOBJS
) $(CMDOBJS
) $(OBJDIR
)/guidummy.o
195 $(CXX
) $(CXXFLAGS
) $^
$(LDLIBS
) -o
$@
197 flasher
: $(OBJDIR
)/flash.o
$(OBJDIR
)/flasher.o
$(COREOBJS
)
198 $(CXX
) $(CXXFLAGS
) $^
$(LDLIBS
) -o
$@
200 fpga_compress
: $(OBJDIR
)/fpga_compress.o
$(ZLIBOBJS
)
201 $(CXX
) $(CXXFLAGS
) $(ZLIB_FLAGS
) $^
$(LDLIBS
) -o
$@
204 $(CC
) $(CFLAGS
) $(ZLIB_FLAGS
) -c
-o
$@
$<
207 $(CXX
) $(CXXFLAGS
) -c
-o
$@
$<
209 proxguiqt.moc.
cpp: proxguiqt.h
214 cd ..
/liblua
&& make
clean
217 $(TAR
) $(TARFLAGS
) ..
/proxmark3-
$(platform
)-bin.
tar $(BINS
:%=client
/%)
220 @echo Compiling liblua
, using platform
$(LUAPLATFORM
)
221 cd ..
/liblua
&& make
$(LUAPLATFORM
)