Skip to content
Snippets Groups Projects
Commit da707927 authored by Le10.Anh@live.uwe.ac.uk's avatar Le10.Anh@live.uwe.ac.uk
Browse files

Upload New File

parent 71e460b3
Branches
No related tags found
No related merge requests found
# Tools
CC=gcc
ASM=nasm
CFLAGS=-m32
ASMFLAGS=-f elf
# Source files
DRIVER=driver.c
ASM_SRC=task1.asm task2_1.asm task2_2.asm task2_3.asm
ASM_OBJ=$(ASM_SRC:.asm=.o)
ASM_IO=asm_io.asm
ASM_IO_OBJ=asm_io.o
# Executables
EXE1=task1
EXE2=task2_1
EXE3=task2_2
EXE4=task2_3
# Default target
all: $(EXE1) $(EXE2) $(EXE3) $(EXE4)
# Rule for task1
$(EXE1): $(ASM_IO_OBJ) task1.o driver.o
$(CC) $(CFLAGS) $^ -o $@
# Rule for task2_1
$(EXE2): $(ASM_IO_OBJ) task2_1.o driver.o
$(CC) $(CFLAGS) $^ -o $@
# Rule for task2_2
$(EXE3): $(ASM_IO_OBJ) task2_2.o driver.o
$(CC) $(CFLAGS) $^ -o $@
# Rule for task2_3
$(EXE4): $(ASM_IO_OBJ) task2_3.o driver.o
$(CC) $(CFLAGS) $^ -o $@
# Assemble asm_io.asm
$(ASM_IO_OBJ): $(ASM_IO)
$(ASM) $(ASMFLAGS) $< -o $@
# Assemble .asm files
%.o: %.asm
$(ASM) $(ASMFLAGS) $< -o $@
# Compile driver.c
driver.o: $(DRIVER)
$(CC) $(CFLAGS) -c $< -o $@
# Clean up build artifacts
clean:
rm -f *.o $(EXE1) $(EXE2) $(EXE3) $(EXE4)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment