-prox.exe: prox.c wingui.c command.c
- $(WINCC) $(CFLAGS) $(DEFINES) -o prox.exe prox.c wingui.c command.c $(WINLIBS)
-
-proxmark3: LDLIBS+=$(QTLDLIBS)
-proxmark3: proxmark3.o gui.o command.o usb.o $(QTGUI)
+# Flags to generate temporary dependency files
+DEPFLAGS = -MT $@ -MMD -MP -MF $(OBJDIR)/$*.Td
+# make temporary to final dependeny files after successful compilation
+POSTCOMPILE = $(MV) -f $(OBJDIR)/$*.Td $(OBJDIR)/$*.d
+
+CORESRCS = uart.c \
+ util.c
+
+CMDSRCS = crapto1/crapto1.c\
+ crapto1/crypto1.c\
+ mfkey.c\
+ loclass/cipher.c \
+ loclass/cipherutils.c \
+ loclass/des.c \
+ loclass/ikeys.c \
+ loclass/elite_crack.c\
+ loclass/fileutils.c\
+ whereami.c\
+ mifarehost.c\
+ parity.c\
+ crc.c \
+ crc16.c \
+ crc64.c \
+ iso14443crc.c \
+ iso15693tools.c \
+ data.c \
+ graph.c \
+ ui.c \
+ cmddata.c \
+ lfdemod.c \
+ cmdhf.c \
+ cmdhf14a.c \
+ cmdhf14b.c \
+ cmdhf15.c \
+ cmdhfepa.c \
+ cmdhflegic.c \
+ cmdhficlass.c \
+ cmdhfmf.c \
+ cmdhfmfu.c \
+ cmdhftopaz.c \
+ cmdhw.c \
+ cmdlf.c \
+ cmdlfawid.c \
+ cmdlfcotag.c\
+ cmdlfem4x.c \
+ cmdlffdx.c \
+ cmdlfgproxii.c \
+ cmdlfhid.c \
+ cmdlfhitag.c \
+ cmdlfio.c \
+ cmdlfindala.c \
+ cmdlfjablotron.c \
+ cmdlfnexwatch.c \
+ cmdlfnoralsy.c \
+ cmdlfparadox.c \
+ cmdlfpcf7931.c \
+ cmdlfpresco.c \
+ cmdlfpyramid.c \
+ cmdlfsecurakey.c \
+ cmdlft55xx.c \
+ cmdlfti.c \
+ cmdlfviking.c\
+ cmdlfvisa2000.c\
+ cmdparser.c \
+ cmdmain.c \
+ scripting.c\
+ cmdscript.c\
+ pm3_binlib.c\
+ pm3_bitlib.c\
+ aes.c\
+ protocols.c\
+ sha1.c\
+ cmdcrc.c\
+ reveng/reveng.c\
+ reveng/cli.c\
+ reveng/bmpbit.c\
+ reveng/model.c\
+ reveng/poly.c\
+ reveng/getopt.c\
+
+ZLIBSRCS = deflate.c adler32.c trees.c zutil.c inflate.c inffast.c inftrees.c
+ZLIBFLAGS = -DZ_SOLO -DZ_PREFIX -DNO_GZIP -DZLIB_PM3_TUNED
+#-DDEBUG -Dverbose=1
+
+QTGUISRCS = proxgui.cpp proxguiqt.cpp proxguiqt.moc.cpp guidummy.cpp
+
+COREOBJS = $(CORESRCS:%.c=$(OBJDIR)/%.o)
+CMDOBJS = $(CMDSRCS:%.c=$(OBJDIR)/%.o)
+ZLIBOBJS = $(ZLIBSRCS:%.c=$(OBJDIR)/%.o)
+
+BINS = proxmark3 flasher fpga_compress
+WINBINS = $(patsubst %, %.exe, $(BINS))
+CLEAN = $(BINS) $(WINBINS) $(COREOBJS) $(CMDOBJS) $(ZLIBOBJS) $(QTGUIOBJS) $(OBJDIR)/*.o *.moc.cpp ui/ui_overlays.h
+
+# need to assign dependancies to build these first...
+all: ui/ui_overlays.h lua_build $(BINS)