aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile12
1 files changed, 10 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index b89409d..fbe4e9d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,12 @@
all: bin/hush
-bin/hush: build/lexer.o build/command.o src/hush.c build
- gcc -Iinclude build/lexer.o build/command.o src/hush.c -ggdb -o bin/hush
+LIBMAP_DIR := external/libmap
+LIBMAP_LIB := $(LIBMAP_DIR)/lib/libmap.a
+$(LIBMAP_LIB): $(LIBMAP_DIR)/Makefile
+ make -C $(LIBMAP_DIR) lib/libmap.a
+bin/hush: build/lexer.o build/command.o src/hush.c build build/variables.o $(LIBMAP_LIB)
+ gcc -Iinclude -I$(LIBMAP_DIR)/include build/lexer.o build/command.o build/variables.o src/hush.c $(LIBMAP_LIB) -ggdb -o bin/hush
build/lexer.o: include/lexer.h src/lexer.c build
gcc -Iinclude -c src/lexer.c -ggdb -o build/lexer.o
@@ -10,6 +14,9 @@ build/lexer.o: include/lexer.h src/lexer.c build
build/command.o: include/lexer.h include/command.h src/command.c
gcc -Iinclude -c src/command.c -ggdb -o build/command.o
+build/variables.o: include/variables.h
+ gcc -Iinclude -I$(LIBMAP_DIR)/include -c src/variables.c -ggdb -o build/variables.o
+
.PHONY: build clean
build:
-mkdir build
@@ -18,5 +25,6 @@ build:
clean:
-rm -r build
-rm -r bin
+ make -C $(LIBMAP_DIR) clean