Commit dd70015e by Hampton Catlin

makefile refactor

parent 222a3fd8
SRC_DIR = src
BIN_DIR = bin
BUILD_DIR = build
CPP_FILES = \
$(SRC_DIR)/context.cpp \
$(SRC_DIR)/functions.cpp \
$(SRC_DIR)/document.cpp \
$(SRC_DIR)/document_parser.cpp \
$(SRC_DIR)/eval_apply.cpp \
$(SRC_DIR)/node.cpp \
$(SRC_DIR)/node_comparisons.cpp \
$(SRC_DIR)/values.cpp \
$(SRC_DIR)/prelexer.cpp
sasscpp: $(SRC_DIR)/sasscpp.cpp $(CPP_FILES)
g++ -o $(BIN_DIR)/sasscpp $(SRC_DIR)/sasscpp.cpp $(CPP_FILES)
sassc: sassc_obj libsass
gcc -o $(BIN_DIR)/sassc $(BUILD_DIR)/sassc.o libsass.a -lstdc++
sassc_obj: $(SRC_DIR)/sassc.c
gcc -c $(SRC_DIR)/sassc.c
mv $(SRC_DIR)/*.o $(BUILD_DIR)/.
libsass: libsass_objs
ar rvs libsass.a \
$(BUILD_DIR)/sass_interface.o \
$(BUILD_DIR)/context.o \
$(BUILD_DIR)/functions.o \
$(BUILD_DIR)/document.o \
$(BUILD_DIR)/document_parser.o \
$(BUILD_DIR)/eval_apply.o \
$(BUILD_DIR)/node.o \
$(BUILD_DIR)/node_comparisons.o \
$(BUILD_DIR)/values.o \
$(BUILD_DIR)/prelexer.o
libsass_objs: build_dir $(SRC_DIR)/sass_interface.cpp $(CPP_FILES)
g++ -c -combine $(SRC_DIR)/sass_interface.cpp $(CPP_FILES)
mv *.o $(BUILD_DIR)/
test: sassc
ruby spec.rb spec/basic/
test_all: sassc
ruby spec.rb spec/
build_dir:
mkdir -p $(BUILD_DIR)
clean:
rm -rf *.o build/*.o *.a
rm -rf bin/*
\ No newline at end of file
sasscpp: sasscpp.cpp context.cpp functions.cpp document.cpp document_parser.cpp eval_apply.cpp node.cpp node_comparisons.cpp values.cpp prelexer.cpp
g++ -o bin/sasscpp sasscpp.cpp context.cpp functions.cpp document.cpp document_parser.cpp eval_apply.cpp node.cpp node_comparisons.cpp values.cpp prelexer.cpp
sassc: sassc.o libsass
gcc -o bin/sassc sassc.o libsass.a -lstdc++
sassc_obj: sassc.c
gcc -c sassc.c
libsass: sass_interface.o context.o functions.o document.o document_parser.o eval_apply.o node.o node_comparisons.o values.o prelexer.o
ar rvs libsass.a sass_interface.o context.o functions.o document.o document_parser.o eval_apply.o node.o node_comparisons.o values.o prelexer.o
libsass_objs: sass_interface.cpp context.cpp functions.cpp document.cpp document_parser.cpp eval_apply.cpp node.cpp node_comparisons.cpp values.cpp prelexer.cpp
g++ -c sass_interface.cpp context.cpp functions.cpp document.cpp document_parser.cpp eval_apply.cpp node.cpp node_comparisons.cpp values.cpp prelexer.cpp
test: sassc
ruby spec.rb spec/basic/
test_all: sassc
ruby spec.rb spec/
clean:
rm -rf *.o
rm -rf *.a
rm -rf bin/*
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment