2022-09-05 23:48:56 -07:00
|
|
|
SHELL = /bin/sh
|
|
|
|
|
|
|
|
.SUFFIXES:
|
|
|
|
.SUFFIXES: .c .o
|
|
|
|
|
|
|
|
CFLAGS = -std=c99 -pedantic -Wextra -Os
|
|
|
|
LDFLAGS = -lc
|
|
|
|
|
2022-09-10 22:06:21 -07:00
|
|
|
OBJECTS = asm.o format.o io.o ir.o lex.o lex/indent.o lang.o main.o parse.o x86encode.o
|
2022-09-05 23:48:56 -07:00
|
|
|
|
|
|
|
.PHONY: passc
|
|
|
|
passc: .bin $(OBJECTS)
|
|
|
|
$(CC) -o bin/passc $(addprefix bin/obj/,$(OBJECTS)) $(LDFLAGS)
|
|
|
|
|
|
|
|
.PHONY: .bin
|
|
|
|
.bin:
|
2022-09-08 16:01:31 -07:00
|
|
|
@mkdir -p bin/obj bin/obj/lex
|
2022-09-05 23:48:56 -07:00
|
|
|
|
|
|
|
%.o : src/%.c
|
|
|
|
$(CC) -c $(CFLAGS) $< -o bin/obj/$@
|
|
|
|
|
2022-09-08 16:01:31 -07:00
|
|
|
# if you know how to avoid this duplication for subdirectories,
|
|
|
|
# please send a patch or tell me how!
|
|
|
|
lex/indent.o : src/lex/indent.c
|
|
|
|
$(CC) -c $(CFLAGS) $< -o bin/obj/$@
|
|
|
|
|
2022-09-05 23:48:56 -07:00
|
|
|
.PHONY: clean
|
|
|
|
clean:
|
|
|
|
@-rm -rf bin
|