83 lines
2.0 KiB
Bash
83 lines
2.0 KiB
Bash
#!/bin/sh
|
|
# Linux packaging script by insofaras
|
|
#
|
|
# Usage:
|
|
#
|
|
# * Put all the .txt, .ttf, etc stuff in TEMPLATE_DIR and it'll get copied over
|
|
# (including the 3rd party folder)
|
|
#
|
|
# * Put the makefile (included at the end of this file) in the dir above 4coder/code
|
|
#
|
|
# * Change the other dir variables as appropriate
|
|
#
|
|
|
|
TEMPLATE_DIR="$HOME/Desktop/4coder/release_template/"
|
|
CODE_DIR="$HOME/Desktop/4coder"
|
|
TMP_DIR="/tmp/4coder"
|
|
OUT_ZIP="$HOME/Desktop/4coder-linux.zip"
|
|
|
|
mkdir -p "$TMP_DIR"
|
|
|
|
pushd "$CODE_DIR"
|
|
|
|
make clean
|
|
make release32
|
|
cp -r "${TEMPLATE_DIR}" "$TMP_DIR/32"
|
|
cp ./4ed ./4ed_app.so ./code/4coder_*.h ./code/4coder_*.cpp "$TMP_DIR/32/"
|
|
|
|
make clean
|
|
make release
|
|
cp -r "${TEMPLATE_DIR}" "$TMP_DIR/64"
|
|
cp ./4ed ./4ed_app.so ./code/4coder_*.h ./code/4coder_*.cpp "$TMP_DIR/64/"
|
|
|
|
make clean
|
|
|
|
cat << EOF > "$TMP_DIR/readme.txt"
|
|
This is a linux 4coder release.
|
|
Brought to you by Mr4thDimention and insofaras.
|
|
|
|
Enjoy!
|
|
EOF
|
|
|
|
pushd "$TMP_DIR/.."
|
|
zip -r "$OUT_ZIP" "$(basename $TMP_DIR)"
|
|
popd
|
|
|
|
rm -rf "$TMP_DIR"
|
|
|
|
popd
|
|
|
|
echo "Created linux 4coder package: $OUT_ZIP"
|
|
|
|
exit
|
|
|
|
## The makefile, copy it into a file called "makefile" one dir above the code/ dir.
|
|
|
|
CPP_FILES := $(wildcard *.cpp) $(wildcard **/*.cpp)
|
|
H_FILES := $(wildcard *.h) $(wildcard **/*.h)
|
|
WARNINGS := -Wno-write-strings
|
|
PLAT_LINKS := -L/usr/local/lib -lX11 -lpthread -lm -lrt -lGL -ldl
|
|
FLAGS := -fPIC -fno-threadsafe-statics -pthread
|
|
|
|
all: 4ed_app.so 4ed
|
|
|
|
4ed_app.so: $(CPP_FILES) $(H_FILES)
|
|
g++ $(WARNINGS) $(FLAGS) -std=gnu++0x -shared code/4ed_app_target.cpp -iquoteforeign -o 4ed_app.so
|
|
|
|
4ed: $(CPP_FILES) $(H_FILES)
|
|
g++ $(WARNINGS) $(FLAGS) -std=gnu++0x code/linux_4ed.cpp -iquoteforeign $(PLAT_LINKS) -o $@
|
|
|
|
clean:
|
|
$(RM) -f 4ed_app.so 4ed
|
|
|
|
release: FLAGS += -U_FORTIFY_SOURCE -fno-stack-protector -Wl,--wrap=memcpy code/linux_release_compat.c -Wl,-s
|
|
release: 4ed_app.so 4ed
|
|
strip -R .comment $^
|
|
|
|
release32: FLAGS += -U_FORTIFY_SOURCE -fno-stack-protector -Wl,-s -m32
|
|
release32: 4ed_app.so 4ed
|
|
strip -R .comment $^
|
|
|
|
.PHONY: clean release release32
|
|
|