Files
lt16lab/assembler/Makefile
2022-11-04 17:11:17 +01:00

105 lines
2.7 KiB
Makefile

################################################################################
# Automatically-generated file. Do not edit!
################################################################################
-include ../makefile.init
RM := rm -rf
CC = gcc -g
IDIR=inc
ODIR=obj
SDIR=src
CFLAGS = -fcommon -Wall
_DEPS = command.h files.h labels.h
DEPS = $(patsubst %,$(IDIR)/%,$(_DEPS))
_OBJS = output.o msg.o check.o label.o main.o handle_o.o handle_oi.o handle_omi.o handle_omr.o handle_omr2.o handle_or2.o handle_or2i.o handle_or3.o handle_ori.o handle_or.o handle_om.o
OBJS = $(patsubst %,$(ODIR)/%,$(_OBJS))
_FLEX_OBJ = asm.tab.o lex.yy.o
FLEX_OBJS = $(patsubst %,$(ODIR)/%,$(_FLEX_OBJ))
_FLEX_COMPILES = asm.tab.c asm.tab.h lex.yy.c
FLEX_COMPILES = $(patsubst %,$(ODIR)/%,$(_FLEX_COMPILES))
# All Target
all: $(ODIR) asm
$(ODIR):
mkdir -p $(ODIR)
# Tool invocations
asm: flex bison $(FLEX_OBJS) $(OBJS)
@echo 'Building target: $@'
@echo 'Invoking: GCC C Linker'
$(CC) -o "asm" -I"inc/" $(OBJS) $(FLEX_OBJS) $(CFLAGS)
@echo 'Finished building target: $@'
@echo ' '
bison: $(SDIR)/asm.y
bison -o obj/asm.tab.c -d $(SDIR)/asm.y
flex: $(SDIR)/asm.l
flex -o obj/lex.yy.c $(SDIR)/asm.l
# Object Files
#obj/%.o: src/%.c $(DEPS)
# $(CC) -c -o $@ $< $(CFLAGS)
obj/asm.tab.c: bison
obj/asm.tab.h: bison
obj/lex.yy.c : flex
$(ODIR)/output.o: $(SDIR)/output.c
$(CC) -c $(CFLAGS) -o $@ $<
$(ODIR)/msg.o: $(SDIR)/msg.c
$(CC) -c $(CFLAGS) -o $@ $<
$(ODIR)/check.o: $(SDIR)/check.c
$(CC) -c $(CFLAGS) -o $@ $<
$(ODIR)/main.o: $(SDIR)/main.c
$(CC) -c -o $@ $< $(CFLAGS)
$(ODIR)/label.o: $(SDIR)/label.c
$(CC) -c $(CFLAGS) -o $@ $<
$(ODIR)/handle_or3.o: $(SDIR)/handle_or3.c
$(CC) -c -o $@ $< $(CFLAGS)
$(ODIR)/handle_or2i.o: $(SDIR)/handle_or2i.c
$(CC) -c -o $@ $< $(CFLAGS)
$(ODIR)/handle_ori.o: $(SDIR)/handle_ori.c
$(CC) -c -o $@ $< $(CFLAGS)
$(ODIR)/handle_omr2.o: $(SDIR)/handle_omr2.c
$(CC) -c -o $@ $< $(CFLAGS)
$(ODIR)/handle_omi.o: $(SDIR)/handle_omi.c
$(CC) -c -o $@ $< $(CFLAGS)
$(ODIR)/handle_omr.o: $(SDIR)/handle_omr.c
$(CC) -c -o $@ $< $(CFLAGS)
$(ODIR)/handle_oi.o: $(SDIR)/handle_oi.c
$(CC) -c -o $@ $< $(CFLAGS)
$(ODIR)/handle_o.o: $(SDIR)/handle_o.c
$(CC) -c -o $@ $< $(CFLAGS)
$(ODIR)/handle_or2.o: $(SDIR)/handle_or2.c
$(CC) -c -o $@ $< $(CFLAGS)
$(ODIR)/handle_or.o: $(SDIR)/handle_or.c
$(CC) -c -o $@ $< $(CFLAGS)
$(ODIR)/handle_om.o: $(SDIR)/handle_om.c
$(CC) -c -o $@ $< $(CFLAGS)
$(ODIR)/asm.tab.o: $(ODIR)/asm.tab.c
$(CC) -c -o $@ $< $(CFLAGS)
$(ODIR)/lex.yy.o: $(ODIR)/lex.yy.c
$(CC) -c -o $@ $< $(CFLAGS)
# Other Targets
clean:
-$(RM) $(OBJS) $(FLEX_OBJS) $(FLEX_COMPILES) asm
-@echo ' '
.PHONY: all clean dependents
.SECONDARY:
-include ../makefile.targets