mirror of
https://github.com/krgamestudios/Toy.git
synced 2026-04-19 16:54:08 +10:00
2
.gitignore
vendored
2
.gitignore
vendored
@@ -4,6 +4,7 @@
|
||||
*.suo
|
||||
*.ncb
|
||||
*.user
|
||||
compile_commands.json
|
||||
|
||||
#Directories
|
||||
Release/
|
||||
@@ -12,6 +13,7 @@ Out/
|
||||
release/
|
||||
debug/
|
||||
out/
|
||||
.cache/
|
||||
|
||||
#Project generated files
|
||||
*.db
|
||||
|
||||
@@ -19,11 +19,9 @@ Special thanks to http://craftinginterpreters.com/ for their fantastic book that
|
||||
|
||||
## Building
|
||||
|
||||
For windows, simply run `make` in the root directory.
|
||||
For Windows and MacOS, simply run `make` in the root directory.
|
||||
|
||||
For linux, run `make repl-static` in the root directory (see [this issue for details](https://github.com/Ratstail91/Toy/issues/26)).
|
||||
|
||||
For mac, good luck.
|
||||
For Linux, run `make repl-static` in the root directory (see [this issue for details](https://github.com/Ratstail91/Toy/issues/26)).
|
||||
|
||||
## Syntax
|
||||
|
||||
|
||||
10
makefile
10
makefile
@@ -45,6 +45,16 @@ else ifeq ($(shell uname),Linux)
|
||||
find . -empty -type d -delete
|
||||
else ifeq ($(OS),Windows_NT)
|
||||
$(RM) *.o *.a *.exe
|
||||
else ifeq ($(shell uname),Darwin)
|
||||
find . -type f -name '*.o' -exec rm -f -r -v {} \;
|
||||
find . -type f -name '*.a' -exec rm -f -r -v {} \;
|
||||
find . -type f -name '*.exe' -exec rm -f -r -v {} \;
|
||||
find . -type f -name '*.dll' -exec rm -f -r -v {} \;
|
||||
find . -type f -name '*.lib' -exec rm -f -r -v {} \;
|
||||
find . -type f -name '*.dylib' -exec rm -f -r -v {} \;
|
||||
find . -type f -name '*.so' -exec rm -f -r -v {} \;
|
||||
rm -rf out
|
||||
find . -empty -type d -delete
|
||||
else
|
||||
@echo "Deletion failed - what platform is this?"
|
||||
endif
|
||||
|
||||
@@ -96,4 +96,3 @@ int hookStandard(Interpreter* interpreter, Literal identifier, Literal alias) {
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,11 +7,16 @@ LIBS+=-ltoy
|
||||
ODIR = obj
|
||||
SRC = $(wildcard *.c)
|
||||
OBJ = $(addprefix $(ODIR)/,$(SRC:.c=.o))
|
||||
|
||||
OUTNAME=toy
|
||||
OUT=../$(TOY_OUTDIR)/toyrepl
|
||||
|
||||
all: $(OBJ)
|
||||
ifeq ($(shell uname),Darwin)
|
||||
cp $(PWD)/$(TOY_OUTDIR)/lib$(OUTNAME).dylib /usr/local/lib/
|
||||
$(CC) -DTOY_IMPORT $(CFLAGS) -o $(OUT) $(OBJ) $(LIBS)
|
||||
else
|
||||
$(CC) -DTOY_IMPORT $(CFLAGS) -o $(OUT) $(OBJ) -L$(realpath $(shell pwd)/../$(TOY_OUTDIR)) $(LIBS)
|
||||
endif
|
||||
|
||||
$(OBJ): | $(ODIR)
|
||||
|
||||
@@ -25,3 +30,4 @@ $(ODIR)/%.o: %.c
|
||||
|
||||
clean:
|
||||
$(RM) $(ODIR)
|
||||
rm /usr/local/lib/lib$(OUTNAME).dylib
|
||||
|
||||
@@ -9,4 +9,3 @@ int _push(Interpreter* interpreter, LiteralArray* arguments);
|
||||
int _pop(Interpreter* interpreter, LiteralArray* arguments);
|
||||
int _length(Interpreter* interpreter, LiteralArray* arguments);
|
||||
int _clear(Interpreter* interpreter, LiteralArray* arguments);
|
||||
|
||||
|
||||
@@ -21,6 +21,9 @@ else ifeq ($(shell uname),Linux)
|
||||
else ifeq ($(OS),Windows_NT)
|
||||
LIBLINE =-Wl,--out-implib=../$(TOY_OUTDIR)/lib$(OUTNAME).dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--whole-archive $(OBJ) -Wl,--no-whole-archive
|
||||
OUT=../$(TOY_OUTDIR)/$(OUTNAME).dll
|
||||
else ifeq ($(shell uname),Darwin)
|
||||
LIBLINE = $(OBJ)
|
||||
OUT=../$(TOY_OUTDIR)/lib$(OUTNAME).dylib
|
||||
else
|
||||
@echo "Platform test failed - what platform is this?"
|
||||
exit 1
|
||||
|
||||
Reference in New Issue
Block a user