4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / Makefile
ifeq ($(shell basename "$$(which git)"),git)
ifeq ($(shell git rev-parse --is-inside-work-tree 2> /dev/null),true)
VERSION = $(shell git describe --tags --dirty --always)
BRANCH = $(shell git rev-parse --abbrev-ref HEAD)
endif
endif

ifeq ($(shell find version 2> /dev/null),version)
VERSION ?= $(shell cat version)
else
VERSION ?= Unknown
endif

CC ?= $(CROSS_COMPILE)gcc
HOST := $(shell $(CC) -dumpmachine | cut -d- -f1)

CFLAGS = -O2 -flto -Werror -Wall -std=gnu99 -DVERSION='"$(VERSION)"'
CFLAGS += -DNDEBUG -I.
ifneq (,$(wildcard arch/$(HOST)))
CFLAGS += -Iarch/$(HOST)
endif
LDFLAGS = -flto

SRCS += uart/suart.c uart/mux.c uart/vuart.c
SRCS += prompt.c ast.c ahb.c p2a.c shell.c pci.c l2a.c sio.c ilpc.c
SRCS += clk.c wdt.c sfc.c flash.c mmio.c devmem.c log.c priv.c debug.c rev.c
SRCS += ts16.c tty.c otp.c trace.c
SRCS += cmd/ilpc.c cmd/p2a.c cmd/debug.c cmd/devmem.c cmd/console.c
SRCS += cmd/read.c cmd/write.c cmd/replace.c cmd/probe.c cmd/reset.c cmd/sfc.c
SRCS += cmd/otp.c cmd/trace.c
SRCS += doit.c

ifneq (,$(wildcard arch/$(HOST)/lpc.c))
CFLAGS += -DHAVE_LPC=1
SRCS += arch/$(HOST)/lpc.c
endif

OBJS = $(SRCS:%.c=%.o)
DEPS = $(SRCS:%.c=%.d)

all: doit

ARCHIVE = $(shell basename "$$(pwd)")-$(VERSION)
dist: version
	git archive --format=tar --prefix=$(ARCHIVE)/ --output=$(ARCHIVE).tar $(BRANCH)
	tar -uf $(ARCHIVE).tar --owner=0 --group=0 --transform='s|^|$(ARCHIVE)/|' $^
	gzip $(ARCHIVE).tar

doit: $(OBJS)

$(SRCS): version

.PHONY: version
version:
	echo $(VERSION) > $@

cscope: $(SRCS)
	git ls-files | grep '\.[ch]$$' | xargs cscope -b

.PHONY: clean
clean:
	$(RM) doit $(OBJS) $(DEPS)

%.o : %.c
	$(CC) $(CPPFLAGS) $(CFLAGS) -MMD -c $< -o $@

% : %.o
	$(CC) -o $@ $(LDFLAGS) $^ $(LOADLIBES)

-include $(DEPS)