PROJ = m ASMER = yasm ASMARGS = -f elf64 -g null DWARFARGS = -f elf64 -g dwarf2 LINKER = ld LNKARGS = --strip-all BUILD=build BIN=bin all: asm lnk asm: $(ASMER) $(ASMARGS) $(PROJ).asm -o $(BUILD)/$(PROJ).o dwarf: $(ASMER) $(DWARFARGS) $(PROJ).asm -o $(BUILD)/$(PROJ).o lnk: $(LINKER) $(LNKARGS) $(BUILD)/$(PROJ).o -o $(BIN)/$(PROJ) dbglnk: $(LINKER) $(LNKARGS) $(BUILD)/$(PROJ).o -o $(BIN)/$(PROJ) dis: dwarf lnk objdump --disassembler-options=intel -D $(BIN)/$(PROJ) dissrc: dwarf dbglnk objdump --disassembler-options=intel -S -D $(BIN)/$(PROJ) disraw: all objdump --disassembler-options=intel -D $(BIN)/$(PROJ) debug: clean dwarf dbglnk gdb --command misc/m.gdb clean: rm -f $(BUILD)/*.o $(BIN)/$(PROJ)