CFLAGS = /EHsc /DWIN32 /nologo TARGETDIR = bin TARGETNAME = libbinaryninjaapi.lib TARGET = .\$(TARGETDIR)\$(TARGETNAME) OBJS = \ architecture.obj \ backgroundtask.obj \ basicblock.obj \ binaryninjaapi.obj \ binaryreader.obj \ binaryview.obj \ binaryviewtype.obj \ binarywriter.obj \ callingconvention.obj \ databuffer.obj \ datarenderer.obj \ downloadprovider.obj \ demangle.obj \ fileaccessor.obj \ filemetadata.obj \ flowgraph.obj \ flowgraphnode.obj \ function.obj \ functionrecognizer.obj \ highlevelil.obj \ highlevelilinstruction.obj \ interaction.obj \ linearviewcursor.obj \ linearviewobject.obj \ log.obj \ lowlevelil.obj \ lowlevelilinstruction.obj \ mainthread.obj \ mediumlevelil.obj \ mediumlevelilinstruction.obj \ metadata.obj \ platform.obj \ plugin.obj \ pluginmanager.obj \ relocationhandler.obj \ scriptingprovider.obj \ settings.obj \ tempfile.obj \ transform.obj \ type.obj \ undoaction.obj \ update.obj \ user.obj \ jsoncpp.obj $(TARGET): $(OBJS) if not exist $(TARGETDIR) mkdir $(TARGETDIR) lib $(OBJS) /OUT:$(TARGET) jsoncpp.obj: json\jsoncpp.cpp cl $(CFLAGS) /I. /c json\jsoncpp.cpp # nmake "inference rules" are gnu make "pattern rules" .cpp.obj: cl $(CFLAGS) /c $< clean: if exist *.obj del *.obj if exist $(TARGETDIR) del /Q /S $(TARGETDIR)