298 lines
6.9 KiB
Diff
298 lines
6.9 KiB
Diff
diff -Nur sassc-3.5.0.orig/Makefile sassc-3.5.0/Makefile
|
|
--- sassc-3.5.0.orig/Makefile 2018-01-11 12:32:04.000000000 -0800
|
|
+++ sassc-3.5.0/Makefile 2018-07-19 11:30:03.281523655 -0700
|
|
@@ -210,9 +210,8 @@
|
|
build-static: $(RESOURCES) $(OBJECTS) $(LIB_STATIC)
|
|
$(CC) $(LDFLAGS) -o $(SASSC_EXE) $^ $(LDLIBS)
|
|
|
|
-build-shared: $(RESOURCES) $(OBJECTS) $(LIB_SHARED)
|
|
- $(CC) $(LDFLAGS) -o $(SASSC_EXE) $(RESOURCES) $(OBJECTS) \
|
|
- $(LDLIBS) -L$(SASS_LIBSASS_PATH)/lib -lsass
|
|
+build-shared: $(RESOURCES) $(OBJECTS)
|
|
+ $(CC) $(LDFLAGS) -o $(SASSC_EXE) $^ $(LDLIBS) -lsass
|
|
|
|
build-shared-dev: $(RESOURCES) $(OBJECTS) $(LIB_SHARED)
|
|
$(CC) $(LDFLAGS) -o $(SASSC_EXE) $^ $(LDLIBS)
|
|
diff -Nur sassc-3.5.0.orig/Makefile.build sassc-3.5.0/Makefile.build
|
|
--- sassc-3.5.0.orig/Makefile.build 1969-12-31 16:00:00.000000000 -0800
|
|
+++ sassc-3.5.0/Makefile.build 2018-01-11 12:32:04.000000000 -0800
|
|
@@ -0,0 +1,278 @@
|
|
+CC ?= gcc
|
|
+CXX ?= g++
|
|
+RM ?= rm -f
|
|
+CP ?= cp -a
|
|
+CHDIR ?= chdir
|
|
+MKDIR ?= mkdir
|
|
+WINDRES ?= windres
|
|
+INSTALL ?= install
|
|
+CFLAGS ?= -Wall
|
|
+CXXFLAGS ?= -Wall
|
|
+LDFLAGS ?= -Wall
|
|
+ifneq "$(COVERAGE)" "yes"
|
|
+ CFLAGS += -O2
|
|
+ CXXFLAGS += -O2
|
|
+ LDFLAGS += -O2
|
|
+endif
|
|
+LDFLAGS += -Wl,-undefined,error
|
|
+CAT ?= $(if $(filter $(OS),Windows_NT),type,cat)
|
|
+
|
|
+# If you run this under windows cmd.com interpreter:
|
|
+# You must provide UnxUtils rm.exe and cp.exe in path
|
|
+# Otherwise certain targets may not work as intended!
|
|
+# Note: It seems impossible to replace `mkdir` command
|
|
+
|
|
+ifneq (,$(findstring /cygdrive/,$(PATH)))
|
|
+ UNAME := Cygwin
|
|
+ TARGET := Windows
|
|
+else
|
|
+ ifneq (,$(findstring Windows,$(PATH)))
|
|
+ UNAME := Windows
|
|
+ TARGET := Windows
|
|
+ else
|
|
+ ifneq (,$(findstring mingw32,$(MAKE)))
|
|
+ UNAME := MinGW
|
|
+ TARGET := Windows
|
|
+ else
|
|
+ ifneq (,$(findstring MINGW32,$(shell uname -s)))
|
|
+ UNAME = MinGW
|
|
+ TARGET := Windows
|
|
+ else
|
|
+ UNAME := $(shell uname -s)
|
|
+ TARGET := $(shell uname -s)
|
|
+ endif
|
|
+ endif
|
|
+ endif
|
|
+endif
|
|
+
|
|
+ifeq ($(SASS_SASSC_PATH),)
|
|
+ SASS_SASSC_PATH = $(abspath $(CURDIR))
|
|
+endif
|
|
+ifeq ($(SASS_LIBSASS_PATH),)
|
|
+ SASS_LIBSASS_PATH = $(abspath $(CURDIR)/..)
|
|
+endif
|
|
+
|
|
+ifeq ($(SASSC_VERSION),)
|
|
+ ifneq ($(wildcard ./.git/ ),)
|
|
+ SASSC_VERSION ?= $(shell git describe --abbrev=4 --dirty --always --tags)
|
|
+ endif
|
|
+endif
|
|
+
|
|
+ifeq ($(SASSC_VERSION),)
|
|
+ ifneq ($(wildcard VERSION),)
|
|
+ SASSC_VERSION ?= $(shell $(CAT) VERSION)
|
|
+ endif
|
|
+endif
|
|
+
|
|
+ifneq ($(SASSC_VERSION),)
|
|
+ CFLAGS += -DSASSC_VERSION="\"$(SASSC_VERSION)\""
|
|
+ CXXFLAGS += -DSASSC_VERSION="\"$(SASSC_VERSION)\""
|
|
+endif
|
|
+
|
|
+# enable mandatory flag
|
|
+ifeq (Windows,$(TARGET))
|
|
+ ifneq ($(BUILD),shared)
|
|
+ STATIC_ALL ?= 1
|
|
+ endif
|
|
+ STATIC_LIBGCC ?= 1
|
|
+ STATIC_LIBSTDCPP ?= 1
|
|
+ CXXFLAGS += -std=gnu++0x
|
|
+ LDFLAGS += -std=gnu++0x
|
|
+else
|
|
+ STATIC_ALL ?= 0
|
|
+ STATIC_LIBGCC ?= 0
|
|
+ STATIC_LIBSTDCPP ?= 0
|
|
+ CXXFLAGS += -std=c++0x
|
|
+ LDFLAGS += -std=c++0x
|
|
+endif
|
|
+
|
|
+ifneq ($(SASS_LIBSASS_PATH),)
|
|
+ CFLAGS += -I $(SASS_LIBSASS_PATH)/include
|
|
+ CXXFLAGS += -I $(SASS_LIBSASS_PATH)/include
|
|
+ # only needed to support old source tree
|
|
+ # we have moved the files to src folder
|
|
+ CFLAGS += -I $(SASS_LIBSASS_PATH)
|
|
+ CXXFLAGS += -I $(SASS_LIBSASS_PATH)
|
|
+else
|
|
+ # this is needed for mingw
|
|
+ CFLAGS += -I include
|
|
+ CXXFLAGS += -I include
|
|
+endif
|
|
+
|
|
+ifneq ($(EXTRA_CFLAGS),)
|
|
+ CFLAGS += $(EXTRA_CFLAGS)
|
|
+endif
|
|
+ifneq ($(EXTRA_CXXFLAGS),)
|
|
+ CXXFLAGS += $(EXTRA_CXXFLAGS)
|
|
+endif
|
|
+ifneq ($(EXTRA_LDFLAGS),)
|
|
+ LDFLAGS += $(EXTRA_LDFLAGS)
|
|
+endif
|
|
+
|
|
+LDLIBS = -lm
|
|
+
|
|
+ifneq ($(BUILD),shared)
|
|
+ LDLIBS += -lstdc++
|
|
+endif
|
|
+
|
|
+# link statically into lib
|
|
+# makes it a lot more portable
|
|
+# increases size by about 50KB
|
|
+ifeq ($(STATIC_ALL),1)
|
|
+ LDFLAGS += -static
|
|
+endif
|
|
+ifeq ($(STATIC_LIBGCC),1)
|
|
+ LDFLAGS += -static-libgcc
|
|
+endif
|
|
+ifeq ($(STATIC_LIBSTDCPP),1)
|
|
+ LDFLAGS += -static-libstdc++
|
|
+endif
|
|
+
|
|
+ifeq ($(UNAME),Darwin)
|
|
+ CFLAGS += -stdlib=libc++
|
|
+ CXXFLAGS += -stdlib=libc++
|
|
+ LDFLAGS += -stdlib=libc++
|
|
+endif
|
|
+
|
|
+ifneq (Windows,$(TARGET))
|
|
+ ifneq (FreeBSD,$(UNAME))
|
|
+ ifneq (OpenBSD,$(UNAME))
|
|
+ LDFLAGS += -ldl
|
|
+ LDLIBS += -ldl
|
|
+ endif
|
|
+ endif
|
|
+endif
|
|
+
|
|
+ifneq ($(BUILD),shared)
|
|
+ BUILD = static
|
|
+endif
|
|
+
|
|
+ifeq (,$(PREFIX))
|
|
+ ifeq (,$(TRAVIS_BUILD_DIR))
|
|
+ PREFIX = /usr/local
|
|
+ else
|
|
+ PREFIX = $(TRAVIS_BUILD_DIR)
|
|
+ endif
|
|
+endif
|
|
+
|
|
+SOURCES = sassc.c
|
|
+
|
|
+LIB_STATIC = $(SASS_LIBSASS_PATH)/lib/libsass.a
|
|
+LIB_SHARED = $(SASS_LIBSASS_PATH)/lib/libsass.so
|
|
+
|
|
+RESOURCES =
|
|
+SASSC_EXE = bin/sassc
|
|
+ifeq (Windows,$(TARGET))
|
|
+ RESOURCES = libsass.res
|
|
+ SASSC_EXE = bin/sassc.exe
|
|
+ ifeq (shared,$(BUILD))
|
|
+ CFLAGS += -D ADD_EXPORTS
|
|
+ CXXFLAGS += -D ADD_EXPORTS
|
|
+ LIB_SHARED = $(SASS_LIBSASS_PATH)/lib/libsass.dll
|
|
+ endif
|
|
+else
|
|
+ CFLAGS += -fPIC
|
|
+ CXXFLAGS += -fPIC
|
|
+ LDFLAGS += -fPIC
|
|
+endif
|
|
+
|
|
+OBJECTS = $(SOURCES:.c=.o)
|
|
+SPEC_PATH = $(SASS_SPEC_PATH)
|
|
+all: sassc
|
|
+
|
|
+%.o: %.c
|
|
+ $(CC) $(CFLAGS) -c -o $@ $<
|
|
+
|
|
+%.o: %.rc
|
|
+ $(WINDRES) -i $< -o $@
|
|
+
|
|
+%.o: %.cpp
|
|
+ $(CXX) $(CXXFLAGS) -c -o $@ $<
|
|
+
|
|
+sassc: $(SASSC_EXE)
|
|
+build: build-$(BUILD)
|
|
+libsass: libsass-$(BUILD)
|
|
+
|
|
+$(SASSC_EXE): libsass build
|
|
+
|
|
+$(DESTDIR)$(PREFIX)/:
|
|
+ $(MKDIR) $(DESTDIR)$(PREFIX)
|
|
+
|
|
+$(DESTDIR)$(PREFIX)/bin/:
|
|
+ $(MKDIR) $(DESTDIR)$(PREFIX)/bin
|
|
+
|
|
+$(DESTDIR)$(PREFIX)/bin/%: bin/%
|
|
+ $(INSTALL) -D -v -m0755 "$<" "$@"
|
|
+
|
|
+install: libsass-install-$(BUILD) \
|
|
+ $(DESTDIR)$(PREFIX)/$(SASSC_EXE)
|
|
+
|
|
+build-static: $(RESOURCES) $(OBJECTS) $(LIB_STATIC)
|
|
+ $(CC) $(LDFLAGS) -o $(SASSC_EXE) $^ $(LDLIBS)
|
|
+
|
|
+build-shared: $(RESOURCES) $(OBJECTS) $(LIB_SHARED)
|
|
+ $(CC) $(LDFLAGS) -o $(SASSC_EXE) $(RESOURCES) $(OBJECTS) \
|
|
+ $(LDLIBS) -L$(SASS_LIBSASS_PATH)/lib -lsass
|
|
+
|
|
+build-shared-dev: $(RESOURCES) $(OBJECTS) $(LIB_SHARED)
|
|
+ $(CC) $(LDFLAGS) -o $(SASSC_EXE) $^ $(LDLIBS)
|
|
+
|
|
+build-static-dev: build-static
|
|
+
|
|
+$(LIB_STATIC): libsass-static
|
|
+$(LIB_SHARED): libsass-shared
|
|
+
|
|
+libsass-static:
|
|
+ifdef SASS_LIBSASS_PATH
|
|
+ $(MAKE) BUILD="static" -C $(SASS_LIBSASS_PATH)
|
|
+else
|
|
+ $(error SASS_LIBSASS_PATH must be defined)
|
|
+endif
|
|
+
|
|
+libsass-shared:
|
|
+ifdef SASS_LIBSASS_PATH
|
|
+ $(MAKE) BUILD="shared" -C $(SASS_LIBSASS_PATH)
|
|
+else
|
|
+ $(error SASS_LIBSASS_PATH must be defined)
|
|
+endif
|
|
+
|
|
+# nothing to do for static
|
|
+libsass-install-static: libsass-static
|
|
+ifdef SASS_LIBSASS_PATH
|
|
+ $(MAKE) BUILD="static" -C $(SASS_LIBSASS_PATH) install
|
|
+else
|
|
+ $(error SASS_LIBSASS_PATH must be defined)
|
|
+endif
|
|
+
|
|
+# install shared library
|
|
+libsass-install-shared: libsass-shared
|
|
+ifdef SASS_LIBSASS_PATH
|
|
+ $(MAKE) BUILD="shared" -C $(SASS_LIBSASS_PATH) install
|
|
+else
|
|
+ $(error SASS_LIBSASS_PATH must be defined)
|
|
+endif
|
|
+
|
|
+test: all
|
|
+ $(MAKE) -C $(SASS_LIBSASS_PATH) version
|
|
+
|
|
+libsass.res:
|
|
+ $(WINDRES) res/libsass.rc -O coff libsass.res
|
|
+
|
|
+specs: all
|
|
+ifdef SASS_LIBSASS_PATH
|
|
+ $(MAKE) -C $(SASS_LIBSASS_PATH) test_build
|
|
+else
|
|
+ $(error SASS_LIBSASS_PATH must be defined)
|
|
+endif
|
|
+
|
|
+clean:
|
|
+ rm -f $(OBJECTS) $(SASSC_EXE) \
|
|
+ bin/*.so bin/*.dll libsass.res
|
|
+ifdef SASS_LIBSASS_PATH
|
|
+ $(MAKE) -C $(SASS_LIBSASS_PATH) clean
|
|
+endif
|
|
+
|
|
+.PHONY: test specs clean sassc \
|
|
+ all build-static build-shared \
|
|
+ libsass libsass-static libsass-shared
|
|
+.DELETE_ON_ERROR:
|