@@ -6,6 +6,7 @@ INCLUDES := -Iinclude
66SRC_DIR := ./src/parsergen
77OBJ_DIR := ./build/obj
88BIN_DIR := ./bin
9+ LIB_DIR := ./lib
910BIN_EXT := .exe
1011
1112SRC_FILES := $(wildcard $(SRC_DIR ) /* .cpp)
@@ -26,39 +27,39 @@ endif
2627.DEFAULT_GOAL := example
2728
2829libparsergen : $(OBJ_FILES )
29- ar rcs bin /libparsergen.a $(OBJ_FILES ) $(FMT_OBJ )
30+ ar rcs $( LIB_DIR ) /libparsergen.a $(OBJ_FILES ) $(FMT_OBJ )
3031
3132$(OBJ_DIR ) /% .o : $(SRC_DIR ) /% .cpp
3233 $(CXX ) $(INCLUDES ) $(CXXFLAGS ) -c $< -o $@
3334
3435$(PARSERGEN ) : libparsergen
35- $(CXX ) $(INCLUDES ) $(CXXFLAGS ) ./src/main.cpp -L$(BIN_DIR ) -lparsergen -o $(BIN_DIR ) /$(PARSERGEN_NAME )$(BIN_EXT )
36+ $(CXX ) $(INCLUDES ) $(CXXFLAGS ) ./src/main.cpp -L$(LIB_DIR ) -lparsergen -o $(BIN_DIR ) /$(PARSERGEN_NAME )$(BIN_EXT )
3637
3738fmt :
3839 $(CXX ) $(INCLUDES ) $(CXXFLAGS ) -c src/format.cc -o $(FMT_OBJ )
3940
4041
4142# meta
4243bootstrap : libparsergen
43- $(CXX ) $(CXXFLAGS ) $(INCLUDES ) examples/bootstrap_parser.cpp -L$(BIN_DIR ) -lparsergen -I. -o $(BIN_DIR ) /$@ $(BIN_EXT )
44+ $(CXX ) $(CXXFLAGS ) $(INCLUDES ) examples/bootstrap_parser.cpp -L$(LIB_DIR ) -lparsergen -I. -o $(BIN_DIR ) /$@ $(BIN_EXT )
4445
4546metagrammar : libparsergen $(PARSERGEN )
4647 $(PARSERGEN ) $(SRC_DIR ) /metagrammar.gram -o include/parsergen/grammar_parser.hpp
4748
4849# Calculator
4950calc : libparsergen $(PARSERGEN )
5051 $(PARSERGEN ) examples/calc/calc.gram -o examples/calc/calc.hpp
51- $(CXX ) $(CXXFLAGS ) $(INCLUDES ) examples/calc/main.cpp -L$(BIN_DIR ) -lparsergen -I. -o $(BIN_DIR ) /$@ $(BIN_EXT )
52+ $(CXX ) $(CXXFLAGS ) $(INCLUDES ) examples/calc/main.cpp -L$(LIB_DIR ) -lparsergen -I. -o $(BIN_DIR ) /$@ $(BIN_EXT )
5253
5354# JSON parser
5455json : libparsergen $(PARSERGEN )
5556 $(PARSERGEN ) examples/json/json.gram -o examples/json/json_parser.hpp
56- $(CXX ) $(CXXFLAGS ) $(INCLUDES ) examples/json/main.cpp -L$(BIN_DIR ) -lparsergen -I. -o $(BIN_DIR ) /$@ $(BIN_EXT )
57+ $(CXX ) $(CXXFLAGS ) $(INCLUDES ) examples/json/main.cpp -L$(LIB_DIR ) -lparsergen -I. -o $(BIN_DIR ) /$@ $(BIN_EXT )
5758
5859test : libparsergen
59- $(CXX ) $(CXXFLAGS ) $(INCLUDES ) -Itests tests/main.cpp -L$(BIN_DIR ) -lparsergen -I. -o $(BIN_DIR ) /$@ $(BIN_EXT )
60+ $(CXX ) $(CXXFLAGS ) $(INCLUDES ) -Itests tests/main.cpp -L$(LIB_DIR ) -lparsergen -I. -o $(BIN_DIR ) /$@ $(BIN_EXT )
6061
6162clean :
6263 $(RM ) $(call FixPath,$(OBJ_DIR ) /* .o)
63- $(RM ) $(call FixPath,$(BIN_DIR ) /* .a)
64+ $(RM ) $(call FixPath,$(LIB_DIR ) /* .a)
6465 $(RM ) $(call FixPath,$(BIN_DIR ) /* $(BIN_EXT ) )
0 commit comments