50 lines
1.2 KiB
Makefile
50 lines
1.2 KiB
Makefile
# Script made by [SG-10]Cpt.Moore
|
|
# Note that this script will convert line endings in source files to LF.
|
|
|
|
SOURCEDIR=src
|
|
SMINCLUDES=env/include
|
|
ZRINCLUDES=src/include
|
|
BUILDDIR=build
|
|
SPCOMP_LINUX=env/linux/bin/spcomp
|
|
SPCOMP_DARWIN=env/darwin/bin/spcomp
|
|
DOS2UNIX_LINUX=dos2unix
|
|
DOS2UNIX_DARWIN=env/darwin/bin/dos2unix -p
|
|
VERSIONDUMP=./updateversion.sh
|
|
|
|
OS = $(shell uname -s)
|
|
ifeq "$(OS)" "Darwin"
|
|
SPCOMP = $(SPCOMP_DARWIN)
|
|
DOS2UNIX = $(DOS2UNIX_DARWIN)
|
|
else
|
|
SPCOMP = $(SPCOMP_LINUX)
|
|
DOS2UNIX = $(DOS2UNIX_LINUX)
|
|
endif
|
|
|
|
vpath %.sp $(SOURCEDIR)
|
|
vpath %.inc $(SOURCEDIR)/zr
|
|
vpath %.smx $(BUILDDIR)
|
|
|
|
SOURCEFILES=$(SOURCEDIR)/*.sp
|
|
OBJECTS=$(patsubst %.sp, %.smx, $(notdir $(wildcard $(SOURCEFILES))))
|
|
|
|
all: prepare $(OBJECTS)
|
|
|
|
prepare: clean prepare_builddir
|
|
|
|
prepare_newlines:
|
|
@echo "Removing windows newlines"
|
|
@find $(SOURCEDIR) -name \*.inc -exec $(DOS2UNIX) "{}" \;
|
|
@find $(SOURCEDIR) -name \*.sp -exec $(DOS2UNIX) "{}" \;
|
|
@find $(SMINCLUDES) -name \*.inc -exec $(DOS2UNIX) "{}" \;
|
|
@find $(ZRINCLUDES) -name \*.inc -exec $(DOS2UNIX) "{}" \;
|
|
|
|
prepare_builddir:
|
|
@mkdir -p $(BUILDDIR)
|
|
|
|
%.smx: %.sp
|
|
$(VERSIONDUMP)
|
|
$(SPCOMP) -w241 -i$(SOURCEDIR) -i$(SMINCLUDES) -i$(ZRINCLUDES) -o$(BUILDDIR)/$@ $<
|
|
|
|
clean:
|
|
@rm -fr $(BUILDDIR)
|