26 lines
600 B
Makefile
26 lines
600 B
Makefile
CC = gcc
|
|
CFLAGS := -std=c99 -Wall -Wextra -Werror -pedantic -Wvla
|
|
OBJ_RUN := src/student.c
|
|
INO_FILE := ref.ino
|
|
|
|
all: run
|
|
|
|
%.o: %.c
|
|
@$(CC) $(LFLAGS) $(CFLAGS) -c -o $@ $<
|
|
|
|
prepare: CFLAGS += -shared
|
|
prepare: src/main.o src/pin_handler.o
|
|
ar crs src/pin_handler.a $^
|
|
tar czf student.tar.gz src/pin_handler.a src/student.c src/default_student.c Makefile $(INO_FILE) src/parser.c
|
|
|
|
parser: src/parser.o $(INO_FILE)
|
|
@$(CC) $(CFLAGS) -o $@ src/parser.o
|
|
@./parser $(INO_FILE)
|
|
|
|
run: parser $(OBJ_RUN) $(INO_FILE)
|
|
@$(CC) -o main $(OBJ_RUN) src/pin_handler.a
|
|
@./main
|
|
|
|
clean:
|
|
$(RM) src/*.o main parser
|