Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alexbevi
GitHub Repository: alexbevi/BizHawk
Path: blob/master/waterbox/libc/Makefile
2 views
CC:=gcc
TARGET:=emulibc.a

CFLAGS:=-Wall -Wextra -pedantic -Wno-unused-parameter -Wshadow \
	-Wpointer-arith -Wwrite-strings -Wmissing-declarations \
	-Wno-long-long -Wuninitialized -Wno-deprecated-declarations \
	-Wredundant-decls -Winline -Wcast-align -Wno-format \
	-Wnested-externs -Wstrict-prototypes -Wmissing-prototypes \
	-Wno-unused-but-set-variable -Wno-parentheses \
	-Iinternals -Iincludes -Icompileincludes \
	-ffreestanding -std=c11 -D_PDCLIB_BUILD -nostdinc -nostdlib \
	-mcmodel=large -O2

ROOT_DIR:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
SRCS:=$(shell find $(ROOT_DIR) -type f -name '*.c' -o -name '*.s')
OBJ_DIR:=$(ROOT_DIR)/obj

_OBJS:=$(SRCS:.c=.o)
_OBJS:=$(_OBJS:.s=.o)
OBJS:=$(patsubst $(ROOT_DIR)%,$(OBJ_DIR)%,$(_OBJS))

$(OBJ_DIR)/%.o: %.c
	@mkdir -p $(@D)
	@$(CC) -c -o $@ $< $(CFLAGS)

$(OBJ_DIR)/%.o: %.s
	@mkdir -p $(@D)
	@$(CC) -c -o $@ $< $(CFLAGS)

$(TARGET): $(OBJS)
	@ar rcs $@ $^

all: $(TARGET)

.PHONY: clean all

clean:
	rm -rf $(OBJ_DIR)
	rm -f $(TARGET)

print-% : ; @echo $* = $($*)