CC = clang CFLAGS = -Wall -Wextra -g -std=c11 COMMON_SRCS = forth_core.c forth_dict.c forth_words.c forth_interp.c main.c HOSTED_SRCS = $(COMMON_SRCS) platform_hosted.c FREESTANDING_SRCS = $(COMMON_SRCS) platform_freestanding.c TARGET = forth FREESTANDING_TARGET = forth_freestanding all: $(TARGET) $(TARGET): $(HOSTED_SRCS) forth.h $(CC) $(CFLAGS) -D_POSIX_C_SOURCE=200809L -o $@ $(HOSTED_SRCS) $(FREESTANDING_TARGET): $(FREESTANDING_SRCS) forth.h $(CC) $(CFLAGS) -ffreestanding -nostdlib -fno-stack-protector -o $@ $(FREESTANDING_SRCS) clean: rm -f $(TARGET) $(FREESTANDING_TARGET) .PHONY: all clean