126 lines
3.6 KiB
Makefile
126 lines
3.6 KiB
Makefile
# Copyright 2024 The Libc Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style
|
|
# license that can be found in the LICENSE file.
|
|
|
|
.PHONY: all build_all_targets check clean download edit editor generate dev membrk-test test work xtest short-test xlibc libc-test surface
|
|
|
|
SHELL=/bin/bash -o pipefail
|
|
|
|
DIR = /tmp/libc
|
|
TAR = musl-7ada6dde6f9dc6a2836c3d92c2f762d35fd229e0.tar.gz
|
|
URL = https://git.musl-libc.org/cgit/musl/snapshot/$(TAR)
|
|
|
|
all: editor
|
|
golint 2>&1
|
|
staticcheck 2>&1
|
|
|
|
build_all_targets:
|
|
./build_all_targets.sh
|
|
echo done
|
|
|
|
clean:
|
|
rm -f log-* cpu.test mem.test *.out
|
|
git clean -fd
|
|
find testdata/nsz.repo.hu/ -name \*.go -delete
|
|
make -C testdata/nsz.repo.hu/libc-test/ cleanall
|
|
go clean
|
|
|
|
check:
|
|
staticcheck 2>&1 | grep -v U1000
|
|
|
|
download:
|
|
@if [ ! -f $(TAR) ]; then wget $(URL) ; fi
|
|
|
|
edit:
|
|
@touch log
|
|
@if [ -f "Session.vim" ]; then novim -S & else novim -p Makefile all_musl_test.go generator.go libc.go libc_musl.go & fi
|
|
|
|
editor:
|
|
gofmt -l -s -w *.go 2>&1 | tee log-editor
|
|
go test -c -o /dev/null 2>&1 | tee -a log-editor
|
|
go install -v 2>&1 | tee -a log-editor
|
|
go build -o /dev/null generator*.go
|
|
|
|
generate: download
|
|
mkdir -p $(DIR) || true
|
|
rm -rf $(DIR)/*
|
|
GO_GENERATE_DIR=$(DIR) go run generator*.go 2>&1 | tee log-generate
|
|
go build -v
|
|
# go install github.com/mdempsky/unconvert@latest
|
|
go build -v 2>&1 | tee -a log-generate
|
|
go test -v -short -count=1 ./... | tee -a log-generate
|
|
git status | tee -a log-generate
|
|
grep 'TRC\|TODO\|ERRORF\|FAIL' log-generate || true
|
|
|
|
dev: download
|
|
mkdir -p $(DIR) || true
|
|
rm -rf $(DIR)/*
|
|
echo -n > /tmp/ccgo.log
|
|
GO_GENERATE_DIR=$(DIR) GO_GENERATE_DEV=1 go run -tags=ccgo.dmesg,ccgo.assert generator*.go 2>&1 | tee log-generate
|
|
go build -v | tee -a log-generate
|
|
go test -v -short -count=1 ./... | tee -a log-generate
|
|
git status | tee -a log-generate
|
|
grep 'TRC\|TODO\|ERRORF\|FAIL' log-generate || true
|
|
grep 'TRC\|TODO\|ERRORF\|FAIL' /tmp/ccgo.log || true
|
|
|
|
membrk-test:
|
|
echo -n > /tmp/ccgo.log
|
|
touch log-test
|
|
cp log-test log-test0
|
|
go test -v -timeout 24h -count=1 -tags=libc.membrk 2>&1 | tee log-test
|
|
grep -a 'TRC\|TODO\|ERRORF\|FAIL' log-test || true 2>&1 | tee -a log-test
|
|
|
|
test:
|
|
echo -n > /tmp/ccgo.log
|
|
touch log-test
|
|
cp log-test log-test0
|
|
go test -v -timeout 24h -count=1 2>&1 | tee log-test
|
|
|
|
short-test:
|
|
echo -n > /tmp/ccgo.log
|
|
touch log-test
|
|
cp log-test log-test0
|
|
go test -v -timeout 24h -count=1 -short 2>&1 | tee log-test
|
|
grep -a 'TRC\|TODO\|ERRORF\|FAIL' log-test || true 2>&1 | tee -a log-test
|
|
|
|
xlibc:
|
|
echo -n > /tmp/ccgo.log
|
|
touch log-test
|
|
cp log-test log-test0
|
|
go test -v -timeout 24h -count=1 -tags=ccgo.dmesg,ccgo.assert 2>&1 -run TestLibc | tee log-test
|
|
grep -a 'TRC\|TODO\|ERRORF\|FAIL' log-test || true 2>&1 | tee -a log-test
|
|
|
|
xpthread:
|
|
echo -n > /tmp/ccgo.log
|
|
touch log-test
|
|
cp log-test log-test0
|
|
go test -v -timeout 24h -count=1 2>&1 -run TestLibc -re pthread | tee log-test
|
|
grep -a 'TRC\|TODO\|ERRORF\|FAIL' log-test || true 2>&1 | tee -a log-test
|
|
|
|
libc-test:
|
|
echo -n > /tmp/ccgo.log
|
|
touch log-test
|
|
cp log-test log-test0
|
|
go test -v -timeout 24h -count=1 2>&1 -run TestLibc | tee log-test
|
|
# grep -a 'TRC\|TODO\|ERRORF\|FAIL' log-test || true 2>&1 | tee -a log-test
|
|
grep -o 'undefined: \<.*\>' log-test | sort -u
|
|
|
|
xtest:
|
|
echo -n > /tmp/ccgo.log
|
|
touch log-test
|
|
cp log-test log-test0
|
|
go test -v -timeout 24h -count=1 -tags=ccgo.dmesg,ccgo.assert 2>&1 | tee log-test
|
|
grep -a 'TRC\|TODO\|ERRORF\|FAIL' log-test || true 2>&1 | tee -a log-test
|
|
|
|
work:
|
|
rm -f go.work*
|
|
go work init
|
|
go work use .
|
|
go work use ../ccgo/v4
|
|
go work use ../ccgo/v3
|
|
go work use ../cc/v4
|
|
|
|
surface:
|
|
surface > surface.new
|
|
surface surface.old surface.new > log-todo-surface || true
|