feat: abstract I/O and strings for freestanding compilation
Co-authored-by: aider (openrouter/moonshotai/kimi-k2.6) <aider@aider.chat>
This commit is contained in:
@@ -1,19 +1,22 @@
|
||||
CC = gcc
|
||||
CFLAGS = -Wall -Wextra -g -std=c11 -D_POSIX_C_SOURCE=200809L
|
||||
LDFLAGS =
|
||||
SRCS = forth_core.c forth_dict.c forth_words.c forth_interp.c main.c
|
||||
OBJS = $(SRCS:.c=.o)
|
||||
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): $(OBJS)
|
||||
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
|
||||
$(TARGET): $(HOSTED_SRCS) forth.h
|
||||
$(CC) $(CFLAGS) -D_POSIX_C_SOURCE=200809L -o $@ $(HOSTED_SRCS)
|
||||
|
||||
%.o: %.c forth.h
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
$(FREESTANDING_TARGET): $(FREESTANDING_SRCS) forth.h
|
||||
$(CC) $(CFLAGS) -ffreestanding -nostdlib -fno-stack-protector -o $@ $(FREESTANDING_SRCS)
|
||||
|
||||
clean:
|
||||
rm -f $(OBJS) $(TARGET)
|
||||
rm -f $(TARGET) $(FREESTANDING_TARGET)
|
||||
|
||||
.PHONY: all clean
|
||||
|
||||
Reference in New Issue
Block a user