41 lines
652 B
Makefile
41 lines
652 B
Makefile
SRC = pasm.c \
|
|
file_utils.c \
|
|
interpreter_states.c \
|
|
instructions.c \
|
|
api.c
|
|
OBJ = $(SRC:.c=.o)
|
|
NAME = pasm
|
|
CFLAGS = -Wall -Wextra -Wpedantic -Iinclude
|
|
CLIBS =
|
|
|
|
all: $(NAME)
|
|
|
|
lib: $(OBJ)
|
|
ar rc lib$(NAME).a $(OBJ)
|
|
|
|
$(NAME): fclean
|
|
$(NAME): lib
|
|
$(NAME): CLIBS += lib$(NAME).a
|
|
$(NAME):
|
|
gcc tests/interpreter.c $(CFLAGS) $(CLIBS) -o $(NAME)
|
|
|
|
interpreter: $(NAME)
|
|
|
|
debug: fclean
|
|
debug: CFLAGS += -DDEBUG -g3
|
|
debug: $(NAME)
|
|
|
|
clean:
|
|
rm -f $(OBJ)
|
|
cd tests && $(MAKE) clean
|
|
|
|
fclean: clean
|
|
rm -f $(NAME)
|
|
find . -name "lib$(NAME).a" -delete
|
|
cd tests && $(MAKE) fclean
|
|
|
|
re: fclean
|
|
re: $(NAME)
|
|
|
|
.PHONY : all $(NAME) clean fclean re interpreter lib debug
|