Skip to content
This repository was archived by the owner on Oct 24, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,11 @@ VERSION
Makefile.in
/aclocal.m4
/autom4te.cache/
/config.h
/src/config.h
/config.h.in
/config.log
/config.status
/configure
include/
/libtool
/m4/libtool.m4
/m4/ltoptions.m4
Expand All @@ -37,7 +36,7 @@ include/
/script/missing
/script/test-driver
/stamp-h1
src/Makefile
/src/Makefile
libsass/*

# Build stuff
Expand Down Expand Up @@ -67,8 +66,10 @@ win/bin

sassc++
libsass.la
support/libsass.pc
src/support/libsass.pc

# Cloned testing dirs
sassc/
sass-spec/

installer/
131 changes: 67 additions & 64 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ RM ?= rm -f
CP ?= cp -a
MKDIR ?= mkdir
WINDRES ?= windres
INSTALL ?= install
CFLAGS ?= -Wall
CXXFLAGS ?= -Wall
LDFLAGS ?= -Wall
Expand Down Expand Up @@ -33,6 +34,10 @@ else
endif
endif

ifeq ($(SASS_LIBSASS_PATH),)
SASS_LIBSASS_PATH = $(abspath $(CURDIR))
endif

ifeq ($(LIBSASS_VERSION),)
ifneq ($(wildcard ./.git/ ),)
LIBSASS_VERSION ?= $(shell git describe --abbrev=4 --dirty --always --tags)
Expand Down Expand Up @@ -68,8 +73,12 @@ else
endif

ifneq ($(SASS_LIBSASS_PATH),)
CFLAGS += -I $(SASS_LIBSASS_PATH)
CXXFLAGS += -I $(SASS_LIBSASS_PATH)
CFLAGS += -I $(SASS_LIBSASS_PATH)/include
CXXFLAGS += -I $(SASS_LIBSASS_PATH)/include
else
# this is needed for mingw
CFLAGS += -I include
CXXFLAGS += -I include
endif

ifneq ($(EXTRA_CFLAGS),)
Expand Down Expand Up @@ -152,75 +161,36 @@ ifeq (Windows,$(UNAME))
SASSC_BIN = $(SASS_SASSC_PATH)/bin/sassc.exe
endif

SOURCES = \
ast.cpp \
base64vlq.cpp \
bind.cpp \
color_maps.cpp \
constants.cpp \
context.cpp \
cssize.cpp \
emitter.cpp \
environment.cpp \
error_handling.cpp \
eval.cpp \
expand.cpp \
extend.cpp \
file.cpp \
functions.cpp \
inspect.cpp \
json.cpp \
lexer.cpp \
listize.cpp \
memory_manager.cpp \
node.cpp \
output.cpp \
parser.cpp \
plugins.cpp \
position.cpp \
prelexer.cpp \
remove_placeholders.cpp \
sass.cpp \
sass_util.cpp \
sass_values.cpp \
sass_context.cpp \
sass_functions.cpp \
sass_interface.cpp \
sass2scss.cpp \
source_map.cpp \
to_c.cpp \
to_string.cpp \
to_value.cpp \
units.cpp \
utf8_string.cpp \
values.cpp \
util.cpp

CSOURCES = cencode.c
include Makefile.conf

RESOURCES =

LIBRARIES = lib/libsass.so

STATICLIB = lib/libsass.a
SHAREDLIB = lib/libsass.so
ifeq (MinGW,$(UNAME))
RESOURCES += res/resource.rc
SHAREDLIB = lib/libsass.dll
ifeq (shared,$(BUILD))
CFLAGS += -D ADD_EXPORTS
CXXFLAGS += -D ADD_EXPORTS
LIBRARIES += lib/libsass.dll
RESOURCES += res/resource.rc
endif
else
CFLAGS += -fPIC
CXXFLAGS += -fPIC
LDFLAGS += -fPIC
endif

OBJECTS = $(SOURCES:.cpp=.o)
COBJECTS = $(CSOURCES:.c=.o)
OBJECTS = $(addprefix src/,$(SOURCES:.cpp=.o))
COBJECTS = $(addprefix src/,$(CSOURCES:.c=.o))
RCOBJECTS = $(RESOURCES:.rc=.o)

DEBUG_LVL ?= NONE

CLEANUPS ?=
CLEANUPS += $(RCOBJECTS)
CLEANUPS += $(COBJECTS)
CLEANUPS += $(OBJECTS)
CLEANUPS += $(LIBSASS_LIB)

all: $(BUILD)

debug: $(BUILD)
Expand All @@ -235,9 +205,6 @@ debug-shared: CFLAGS := -g -DDEBUG -DDEBUG_LVL="$(DEBUG_LVL)" $(filter-out -O2,$
debug-shared: CXXFLAGS := -g -DDEBUG -DDEBUG_LVL="$(DEBUG_LVL)" $(filter-out -O2,$(CXXFLAGS))
debug-shared: shared

static: lib/libsass.a
shared: $(LIBRARIES)

lib:
$(MKDIR) lib

Expand All @@ -264,11 +231,44 @@ lib/libsass.dll: lib $(COBJECTS) $(OBJECTS) $(RCOBJECTS)

install: install-$(BUILD)

install-static: lib/libsass.a
install -pm0755 $< $(DESTDIR)$(PREFIX)/$<
static: $(STATICLIB)
shared: $(SHAREDLIB)

$(DESTDIR)$(PREFIX):
$(MKDIR) $(DESTDIR)$(PREFIX)

$(DESTDIR)$(PREFIX)/lib: $(DESTDIR)$(PREFIX)
$(MKDIR) $(DESTDIR)$(PREFIX)/lib

$(DESTDIR)$(PREFIX)/include: $(DESTDIR)$(PREFIX)
$(MKDIR) $(DESTDIR)$(PREFIX)/include

$(DESTDIR)$(PREFIX)/include/%.h: include/%.h
$(INSTALL) -D -v -m0644 "$<" "$@"

install-headers: $(DESTDIR)$(PREFIX)/include/sass.h \
$(DESTDIR)$(PREFIX)/include/sass2scss.h \
$(DESTDIR)$(PREFIX)/include/sass_values.h \
$(DESTDIR)$(PREFIX)/include/sass_version.h \
$(DESTDIR)$(PREFIX)/include/sass_context.h \
$(DESTDIR)$(PREFIX)/include/sass_functions.h

$(DESTDIR)$(PREFIX)/lib/%.a: lib/%.a \
$(DESTDIR)$(PREFIX)/lib
@$(INSTALL) -D -v -m0755 "$<" "$@"

$(DESTDIR)$(PREFIX)/lib/%.so: lib/%.so \
$(DESTDIR)$(PREFIX)/lib
@$(INSTALL) -D -v -m0755 "$<" "$@"

$(DESTDIR)$(PREFIX)/lib/%.dll: lib/%.dll \
$(DESTDIR)$(PREFIX)/lib
@$(INSTALL) -D -v -m0755 "$<" "$@"

install-static: $(DESTDIR)$(PREFIX)/lib/libsass.a

install-shared: lib/libsass.so
install -pm0755 $< $(DESTDIR)$(PREFIX)/$<
install-shared: $(DESTDIR)$(PREFIX)/lib/libsass.so \
install-headers

$(SASSC_BIN): $(BUILD)
$(MAKE) -C $(SASS_SASSC_PATH)
Expand All @@ -289,8 +289,10 @@ test_build: $(SASSC_BIN)
test_issues: $(SASSC_BIN)
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) $(LOG_FLAGS) $(SASS_SPEC_PATH)/spec/issues

clean:
$(RM) $(RCOBJECTS) $(COBJECTS) $(OBJECTS) $(LIBRARIES) lib/*.a lib/*.so lib/*.dll lib/*.la
clean-objects:
$(RM) lib/*.a lib/*.so lib/*.dll lib/*.la
clean: clean-objects
$(RM) $(CLEANUPS)

clean-all:
$(MAKE) -C $(SASS_SASSC_PATH) clean
Expand All @@ -308,7 +310,8 @@ lib-opts-shared:
@echo -L"$(SASS_LIBSASS_PATH)/lib -lsass"

.PHONY: all static shared sassc \
version clean clean-all \
version install-headers \
clean clean-all clean-objects \
debug debug-static debug-shared \
install install-static install-shared \
lib-opts lib-opts-shared lib-opts-static \
Expand Down
99 changes: 19 additions & 80 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ACLOCAL_AMFLAGS = -I m4
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4 -I script

AM_COPT = -Wall -O2
AM_COVLDFLAGS =
Expand All @@ -8,103 +8,40 @@ if ENABLE_COVERAGE
AM_COVLDFLAGS += -lgcov
endif

AM_CFLAGS = $(AM_COPT)
AM_CPPFLAGS = -I$(top_srcdir)/include
AM_CFLAGS = $(AM_COPT)
AM_CXXFLAGS = $(AM_COPT)
AM_LDFLAGS = $(AM_COPT) $(AM_COVLDFLAGS)
AM_LDFLAGS = $(AM_COPT) $(AM_COVLDFLAGS)

# only needed to support old source tree
# we have moved the files to src folder
AM_CPPFLAGS += -I$(top_srcdir)

RESOURCES =
if COMPILER_IS_MINGW32
RESOURCES += res/libsass.rc
AM_CXXFLAGS += -std=gnu++0x
else
AM_CXXFLAGS += -std=c++0x
endif

EXTRA_DIST = \
COPYING \
INSTALL \
LICENSE \
Readme.md

pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = support/libsass.pc

lib_LTLIBRARIES = libsass.la

libsass_la_SOURCES = \
ast_fwd_decl.hpp ast_def_macros.hpp \
kwd_arg_macros.hpp \
position.cpp position.hpp \
operation.hpp \
subset_map.hpp mapping.hpp \
color_names.hpp backtrace.hpp \
cencode.c b64/cencode.h b64/encode.h \
token.hpp \
paths.hpp debug.hpp \
utf8.h utf8/core.h \
utf8/checked.h utf8/unchecked.h \
ast.cpp ast.hpp \
base64vlq.cpp base64vlq.hpp \
bind.cpp bind.hpp \
color_maps.cpp color_maps.hpp \
constants.cpp constants.hpp \
context.cpp context.hpp \
environment.cpp environment.hpp \
error_handling.cpp error_handling.hpp \
eval.cpp eval.hpp \
expand.cpp expand.hpp \
extend.cpp extend.hpp \
cssize.cpp cssize.hpp \
listize.cpp listize.hpp \
file.cpp file.hpp \
functions.cpp functions.hpp \
inspect.cpp inspect.hpp \
lexer.cpp lexer.hpp \
memory_manager.cpp memory_manager.hpp \
node.cpp node.hpp \
json.cpp json.hpp \
emitter.cpp emitter.hpp \
output.cpp output.hpp \
parser.cpp parser.hpp \
plugins.cpp plugins.hpp \
prelexer.cpp prelexer.hpp \
remove_placeholders.cpp remove_placeholders.hpp \
sass.cpp sass.h \
sass_util.cpp sass_util.hpp \
sass_values.cpp sass_values.h \
sass_context.cpp sass_context.h \
sass_functions.cpp sass_functions.h \
sass_interface.cpp sass_interface.h \
sass2scss.cpp sass2scss.h \
source_map.cpp source_map.hpp \
to_c.cpp to_c.hpp \
to_string.cpp to_string.hpp \
to_value.cpp to_value.hpp \
units.cpp units.hpp \
utf8_string.cpp utf8_string.hpp \
values.cpp values.hpp \
util.cpp util.hpp

libsass_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined -version-info 0:9:0

include_HEADERS = sass2scss.h sass_context.h sass_functions.h sass_values.h sass.h sass_version.h

if ENABLE_TESTS

noinst_PROGRAMS = tester

tester_LDADD = libsass.la
tester_LDADD = src/libsass.la
tester_SOURCES = $(SASS_SASSC_PATH)/sassc.c
SASSC_VERSION=`cd "$(SASS_SASSC_PATH)" && ./version.sh`
tester_CFLAGS = $(AM_CFLAGS) -DSASSC_VERSION="\"$(SASSC_VERSION)\""
tester_CXXFLAGS = $(AM_CXXFLAGS) -DSASSC_VERSION="\"$(SASSC_VERSION)\""
tester_LDFLAGS = $(AM_LDFLAGS) -no-install
tester_VERSION ?= `cd "$(SASS_SASSC_PATH)" && ./version.sh`
tester_CFLAGS = $(AM_CFLAGS) -DSASSC_VERSION="\"$(tester_VERSION)\""
tester_CXXFLAGS = $(AM_CXXFLAGS) -DSASSC_VERSION="\"$(tester_VERSION)\""
tester_LDFLAGS = $(AM_LDFLAGS)

if ENABLE_COVERAGE
nodist_EXTRA_tester_SOURCES = non-existent-file-to-force-CXX-linking.cxx
nodist_EXTRA_libsass_la_SOURCES = non-existent-file-to-force-CXX-linking.cxx
endif

SASS_SASSC_PATH ?= sassc
SASS_SPEC_PATH ?= sass-spec
SASS_SASSC_PATH ?= $(top_srcdir)/sassc
SASS_SPEC_PATH ?= $(top_srcdir)/sass-spec

TESTS = \
$(SASS_SPEC_PATH)/spec/basic \
Expand Down Expand Up @@ -147,3 +84,5 @@ test_issues:
$(SASS_TESTER) $(LOG_FLAGS) $(SASS_SPEC_PATH)/spec/issues $(SASS_TEST_FLAGS)

endif

SUBDIRS = src
Loading