Makefile and INSTALL doc changes
This commit is contained in:
33
INSTALL.linux-static
Normal file
33
INSTALL.linux-static
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
Compile on older container to get binary that runs on older OS too (SDL doesn't compile on older than 20.04):
|
||||||
|
docker run -v .:/SDLRousku -it --rm ubuntu:20.04
|
||||||
|
On Linux, install the packages listed at
|
||||||
|
https://github.com/libsdl-org/SDL/blob/main/docs/README-linux.md#build-dependencies
|
||||||
|
|
||||||
|
in addition apt install xdd nasm libwayland-dev
|
||||||
|
|
||||||
|
mkdir vendored
|
||||||
|
cd vendored
|
||||||
|
git clone https://github.com/libsdl-org/SDL.git
|
||||||
|
cd SDL
|
||||||
|
cmake -S . -B build -DBUILD_SHARED_LIBS=OFF
|
||||||
|
cmake --build build
|
||||||
|
|
||||||
|
git clone https://github.com/libsdl-org/SDL_image.git
|
||||||
|
cd SDL_image/external
|
||||||
|
./download.sh
|
||||||
|
cd ..
|
||||||
|
cmake -S . -B build -DBUILD_SHARED_LIBS=OFF -DSDLIMAGE_VENDORED=ON -DCMAKE_PREFIX_PATH=../SDL/build
|
||||||
|
cmake --build build
|
||||||
|
|
||||||
|
git clone https://github.com/libsdl-org/SDL_ttf.git
|
||||||
|
cd SDL_ttf/external/
|
||||||
|
./download.sh
|
||||||
|
cd ..
|
||||||
|
cmake -S . -B build -DBUILD_SHARED_LIBS=OFF -DSDLTTF_VENDORED=ON -DCMAKE_PREFIX_PATH=../SDL/build
|
||||||
|
cmake --build build
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
AppImage:
|
||||||
|
make install DESTDIR=AppDir
|
||||||
|
appimage-builder
|
||||||
@@ -120,3 +120,6 @@ package() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
------------------------------------
|
------------------------------------
|
||||||
|
|
||||||
|
x86_64-w64-mingw32-make -f Makefile.mingw
|
||||||
|
x86_64-w64-mingw32-strip Rousku.exe
|
||||||
|
|||||||
23
Makefile
23
Makefile
@@ -8,7 +8,7 @@ NEW_DIALOG_OBJECTS = Dialog Item Button Checkbox DropDownList Scrollbar Listbox
|
|||||||
OBJECTS=main Animal Sound $(addprefix NewDialogs/,$(NEW_DIALOG_OBJECTS))
|
OBJECTS=main Animal Sound $(addprefix NewDialogs/,$(NEW_DIALOG_OBJECTS))
|
||||||
EXECUTABLE=Rousku
|
EXECUTABLE=Rousku
|
||||||
|
|
||||||
all: $(EXECUTABLE)
|
all: embed_data.h menu_png.h $(EXECUTABLE)
|
||||||
|
|
||||||
$(EXECUTABLE): $(OBJECTS:%=%.o)
|
$(EXECUTABLE): $(OBJECTS:%=%.o)
|
||||||
$(CXX) $^ $(LDFLAGS) -o $@
|
$(CXX) $^ $(LDFLAGS) -o $@
|
||||||
@@ -20,6 +20,25 @@ $(EXECUTABLE): $(OBJECTS:%=%.o)
|
|||||||
$(CXX) $(CXXFLAGS) $< -o $@
|
$(CXX) $(CXXFLAGS) $< -o $@
|
||||||
$(CXX) -MM $(CXXFLAGS) $*.cpp > $*.d
|
$(CXX) -MM $(CXXFLAGS) $*.cpp > $*.d
|
||||||
|
|
||||||
|
embed_data.h:
|
||||||
|
@echo "Generating embed_data.h..."
|
||||||
|
@{ \
|
||||||
|
find skin -name "*.png"; \
|
||||||
|
find skin -name "*.wav"; \
|
||||||
|
find skin -name "*.tsk"; \
|
||||||
|
} | while read n; do \
|
||||||
|
xxd -i "$$n"; \
|
||||||
|
done > embed_data.h
|
||||||
|
|
||||||
|
menu_png.h:
|
||||||
|
xxd -i menu.png > menu_png.h
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm `find . -name "*.o"` `find . -name "*.d"` $(EXECUTABLE)
|
rm `find . -name "*.o"` `find . -name "*.d"` embed_data.h menu_png.h $(EXECUTABLE)
|
||||||
|
|
||||||
|
install:
|
||||||
|
mkdir -p $(DESTDIR)/usr/bin/
|
||||||
|
cp $(EXECUTABLE) $(DESTDIR)/usr/bin/$(EXECUTABLE)
|
||||||
|
mkdir -p $(DESTDIR)/usr/share/icons/
|
||||||
|
cp skin/Tavallinen/paikka/1.png $(DESTDIR)/usr/share/icons/rousku.png
|
||||||
|
|||||||
45
Makefile.linux-static
Normal file
45
Makefile.linux-static
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
CXX=g++
|
||||||
|
|
||||||
|
# needs "override" because x86_64-w64-mingw32-make sets these as cmdline parameters
|
||||||
|
override CXXFLAGS += -c -Wall -Ivendored/SDL/include -Ivendored/SDL_image/include -Ivendored/SDL_ttf/include
|
||||||
|
#override LDFLAGS += $(shell pkg-config --libs sdl3 sdl3-ttf sdl3-image)
|
||||||
|
override LDFLAGS += -Wl,-Bstatic vendored/SDL/build/libSDL3.a vendored/SDL_image/build/libSDL3_image.a vendored/SDL_ttf/build/libSDL3_ttf.a -Wl,-Bdynamic -lpthread -ldl -static-libgcc -static-libstdc++
|
||||||
|
|
||||||
|
NEW_DIALOG_OBJECTS = Dialog Item Button Checkbox DropDownList Scrollbar Listbox Frame DlgDropDownList DlgMainMenu
|
||||||
|
OBJECTS=main Animal Sound $(addprefix NewDialogs/,$(NEW_DIALOG_OBJECTS))
|
||||||
|
EXECUTABLE=Rousku
|
||||||
|
|
||||||
|
all: embed_data.h menu_png.h $(EXECUTABLE)
|
||||||
|
|
||||||
|
$(EXECUTABLE): $(OBJECTS:%=%.o)
|
||||||
|
$(CXX) $^ $(LDFLAGS) -o $@
|
||||||
|
|
||||||
|
# pull in dependency info for *existing* .o files
|
||||||
|
-include $(OBJECTS:%=%.d)
|
||||||
|
|
||||||
|
%.o: %.cpp
|
||||||
|
$(CXX) $(CXXFLAGS) $< -o $@
|
||||||
|
$(CXX) -MM $(CXXFLAGS) $*.cpp > $*.d
|
||||||
|
|
||||||
|
embed_data.h:
|
||||||
|
@echo "Generating embed_data.h..."
|
||||||
|
@{ \
|
||||||
|
find skin -name "*.png"; \
|
||||||
|
find skin -name "*.wav"; \
|
||||||
|
find skin -name "*.tsk"; \
|
||||||
|
} | while read n; do \
|
||||||
|
xxd -i "$$n"; \
|
||||||
|
done > embed_data.h
|
||||||
|
|
||||||
|
menu_png.h:
|
||||||
|
xxd -i menu.png > menu_png.h
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
||||||
|
rm `find . -name "*.o"` `find . -name "*.d"` embed_data.h menu_png.h $(EXECUTABLE)
|
||||||
|
|
||||||
|
install:
|
||||||
|
mkdir -p $(DESTDIR)/usr/bin/
|
||||||
|
cp $(EXECUTABLE) $(DESTDIR)/usr/bin/$(EXECUTABLE)
|
||||||
|
mkdir -p $(DESTDIR)/usr/share/icons/
|
||||||
|
cp skin/Tavallinen/paikka/1.png $(DESTDIR)/usr/share/icons/rousku.png
|
||||||
Reference in New Issue
Block a user