targets=libAsm,asm-static,deasm-static
cppflags_force=-I../include -DSTANDALONE
cflags_force=`pkg-config --cflags cpp`
cflags=-W -Wall -g -O2 -D_FORTIFY_SOURCE=2 -fstack-protector
ldflags_force=`pkg-config --libs cpp`
ldflags=-Wl,-z,relro -Wl,-z,now
dist=Makefile

#modes
[mode::debug]

[mode::release]
cppflags_force=-I../include -DNDEBUG
cflags=-W -Wall -O2 -D_FORTIFY_SOURCE=2 -fstack-protector

#targets
[libAsm]
type=library
sources=arch.c,arch/amd64.c,arch/arm.c,arch/armeb.c,arch/armel.c,arch/dalvik.c,arch/eth.c,arch/i386.c,arch/i386_real.c,arch/i486.c,arch/i586.c,arch/i686.c,arch/java.c,arch/mips.c,arch/mipseb.c,arch/mipsel.c,arch/sparc.c,arch/sparc64.c,arch/template.c,arch/yasep.c,arch/yasep16.c,arch/yasep32.c,format.c,format/dex.c,format/elf.c,format/elf/elf32.c,format/elf/elf64.c,format/flat.c,format/java.c,format/mbr.c,format/pe.c,asm.c,code.c,parser.c,token.c
cflags=-fPIC

[asm-static]
type=binary
depends=$(OBJDIR)../src/main.o,$(OBJDIR)libAsm.a
ldflags=$(OBJDIR)../src/main.o $(OBJDIR)libAsm.a -pie

[deasm-static]
type=binary
depends=$(OBJDIR)../src/deasm.o,$(OBJDIR)libAsm.a
ldflags=$(OBJDIR)../src/deasm.o $(OBJDIR)libAsm.a -pie

#sources
[arch.c]
depends=../src/arch.c

[arch/amd64.c]
depends=../src/arch/amd64.c,../src/arch/i386.c,../src/arch/i386.h,../src/arch/i486.c,../src/arch/i586.c,../src/arch/i686.c

[arch/eth.c]
depends=../src/arch/eth.c

[arch/i386.c]
depends=../src/arch/i386.c,../src/arch/i386.h

[arch/i386_real.c]
depends=../src/arch/i386_real.c,../src/arch/i386.h

[arch/i486.c]
depends=../src/arch/i386.c,../src/arch/i386.h,../src/arch/i486.c

[arch/i586.c]
depends=../src/arch/i386.c,../src/arch/i386.h,../src/arch/i486.c,../src/arch/i586.c

[arch/i686.c]
depends=../src/arch/i386.c,../src/arch/i386.h,../src/arch/i486.c,../src/arch/i586.c,../src/arch/i686.c

[asm.c]
depends=../src/asm.c

[code.c]
depends=../src/code.c

[format.c]
depends=../src/format.c

[parser.c]
depends=../src/parser.c

[token.c]
depends=../src/token.c
