CLIBS=
CINCLUDES=
CFLAGS=-g -Wall -std=c++98
CC=c++
OBJS=dynamic_code.o do_jmp.o

default:
	make dynamic_code
	make get_machine_code

get_machine_code:get_machine_code.cpp
	${CC} get_machine_code.cpp -o get_machine_code

all:
	make clean
	make dynamic_code
	make get_machine_code

code.o:code.asm
	nasm -f elf code.asm -o code.o

getcode:code.o
	./get_machine_code code.o

test:
	./dynamic_code ./test.asm

dynamic_code.o:dynamic_code.cpp dynamic_code.h
	${CC} dynamic_code.cpp -c ${CFLAGS} ${CLIBS} ${CINCLUDES}

do_jmp.o:do_jmp.asm
	nasm -f elf do_jmp.asm -o do_jmp.o

dynamic_code:dynamic_code.o do_jmp.o 
	${CC} -o dynamic_code ${OBJS} ${CFLAGS} ${CLIBS} ${CINCLUDES}

clean:
	rm -f *.o
	rm -f dynamic_code
	rm -f *.core
	rm -f get_machine_code
