2019-07-17 20:11:53 +02:00
|
|
|
CC ?= cc
|
|
|
|
CFLAGS ?= -fPIC -O2
|
|
|
|
|
2019-06-28 07:56:03 +02:00
|
|
|
all: clean v
|
2019-06-29 13:02:53 +02:00
|
|
|
$(info V has been successfully built)
|
2019-06-23 04:34:41 +02:00
|
|
|
|
2019-06-25 21:46:07 +02:00
|
|
|
v: v.c
|
2019-06-29 18:05:57 +02:00
|
|
|
./v -o v compiler
|
2019-07-17 21:50:38 +02:00
|
|
|
|
|
|
|
v-release: v.c
|
|
|
|
./v -prod -o v compiler
|
2019-06-23 04:34:41 +02:00
|
|
|
|
|
|
|
v.c:
|
2019-06-26 13:37:28 +02:00
|
|
|
curl -Os https://raw.githubusercontent.com/vlang/vc/master/v.c
|
2019-07-17 21:50:38 +02:00
|
|
|
${CC} -std=gnu11 -w -o v v.c -lm
|
2019-06-23 04:34:41 +02:00
|
|
|
|
2019-06-26 01:26:26 +02:00
|
|
|
test: v
|
2019-06-29 18:05:57 +02:00
|
|
|
./v -prod -o vprod compiler # Test prod build
|
|
|
|
echo "Running V tests..."
|
2019-06-29 12:21:34 +02:00
|
|
|
find . -name '*_test.v' -print0 | xargs -0 -n1 ./v
|
2019-06-29 18:05:57 +02:00
|
|
|
echo "Building V examples..."
|
2019-07-08 04:16:20 +02:00
|
|
|
find examples -name '*.v' -not -path "examples/hot_code_reloading/*" -print0 | xargs -0 -n1 ./v
|
2019-06-26 00:58:17 +02:00
|
|
|
|
2019-06-23 04:34:41 +02:00
|
|
|
clean:
|
2019-07-17 20:11:53 +02:00
|
|
|
-rm -f v.c .v.c v vprod thirdparty/**/*.o
|
|
|
|
|
|
|
|
SOURCES = $(wildcard thirdparty/**/*.c)
|
|
|
|
OBJECTS := ${SOURCES:.c=.o}
|
|
|
|
|
|
|
|
thirdparty: ${OBJECTS}
|
2019-07-17 21:50:38 +02:00
|
|
|
|
|
|
|
thirdparty-release: ${OBJECTS}
|
|
|
|
strip ${OBJECTS}
|
|
|
|
|
|
|
|
debug: clean v thirdparty
|
|
|
|
|
|
|
|
release: CFLAGS += -pie
|
|
|
|
release: clean v-release thirdparty-release
|