BuildSystem: Rewrite port compilation system
Now ports define some environment variables, and call a unified bash script that handles configuration, recompilation and installation. If a port uses non-configure buildsystem, port script can also specify custom build and install step.
This commit is contained in:
2
ports/doom/.gitignore
vendored
2
ports/doom/.gitignore
vendored
@@ -1,2 +0,0 @@
|
||||
doomgeneric/
|
||||
doom1.wad
|
||||
@@ -1 +0,0 @@
|
||||
This is a port of doomgeneric. You will need doom wad to play. Copy the wad file into sysroot and use the -iwad argument to specify wad location.
|
||||
@@ -1,33 +1,17 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash ../install.sh
|
||||
|
||||
if [ -z $BANAN_ARCH ]; then
|
||||
echo "You must set the BANAN_ARCH environment variable" >&2
|
||||
exit 1
|
||||
fi
|
||||
NAME='doom'
|
||||
VERSION='git'
|
||||
DOWNLOAD_URL="https://github.com/ozkl/doomgeneric.git#613f870b6fa83ede448a247de5a2571092fa729d"
|
||||
|
||||
if [ -z $BANAN_SYSROOT ]; then
|
||||
echo "You must set the BANAN_ARCH environment variable" >&2
|
||||
exit 1
|
||||
fi
|
||||
build() {
|
||||
if [ ! -f doom1.wad ]; then
|
||||
wget https://distro.ibiblio.org/slitaz/sources/packages/d/doom1.wad || exit 1
|
||||
fi
|
||||
make --directory doomgeneric --file Makefile.banan_os -j$(nproc) || exit 1
|
||||
}
|
||||
|
||||
cd $(dirname $(realpath $0))
|
||||
|
||||
if [ ! -d "doomgeneric" ]; then
|
||||
git clone https://github.com/ozkl/doomgeneric.git
|
||||
cd doomgeneric
|
||||
git checkout 613f870b6fa83ede448a247de5a2571092fa729d
|
||||
for patch in ../patches/*; do
|
||||
git am "$patch"
|
||||
done
|
||||
cd ..
|
||||
|
||||
grep -qxF doom ../installed || echo doom >> ../installed
|
||||
fi
|
||||
|
||||
if [ ! -f doom1.wad ]; then
|
||||
wget https://distro.ibiblio.org/slitaz/sources/packages/d/doom1.wad
|
||||
fi
|
||||
|
||||
make --directory doomgeneric/doomgeneric --file Makefile.banan_os -j $(nproc)
|
||||
cp "doomgeneric/doomgeneric/build-${BANAN_ARCH}/doomgeneric" "${BANAN_SYSROOT}/bin/doom"
|
||||
cp doom1.wad $BANAN_SYSROOT/home/user/
|
||||
install() {
|
||||
cp doomgeneric/build/doom "${BANAN_SYSROOT}/bin/" || exit 1
|
||||
cp ./doom1.wad "$BANAN_SYSROOT/home/user/" || exit 1
|
||||
}
|
||||
|
||||
@@ -29,16 +29,16 @@ index 0000000..0878148
|
||||
+ VB=@
|
||||
+endif
|
||||
+
|
||||
+CC=$(BANAN_TOOLCHAIN_PREFIX)/bin/$(BANAN_ARCH)-banan_os-gcc
|
||||
+CXX=$(BANAN_TOOLCHAIN_PREFIX)/bin/$(BANAN_ARCH)-banan_os-g++
|
||||
+CC=$(BANAN_ARCH)-banan_os-gcc
|
||||
+CXX=$(BANAN_ARCH)-banan_os-g++
|
||||
+CFLAGS+=-O3 -Wall -DNORMALUNIX -DLINUX -DSNDSERV -D_DEFAULT_SOURCE
|
||||
+CXXFLAGS+=$(CFLAGS) --std=c++20
|
||||
+LDFLAGS+=
|
||||
+LIBS+=-lgui -linput -lstdc++
|
||||
+
|
||||
+# subdirectory for objects
|
||||
+OBJDIR=build-$(BANAN_ARCH)
|
||||
+OUTPUT=$(OBJDIR)/doomgeneric
|
||||
+OBJDIR=build
|
||||
+OUTPUT=$(OBJDIR)/doom
|
||||
+
|
||||
+SRC_DOOM = dummy.o am_map.o doomdef.o doomstat.o dstrings.o d_event.o d_items.o d_iwad.o d_loop.o d_main.o d_mode.o d_net.o f_finale.o f_wipe.o g_game.o hu_lib.o hu_stuff.o info.o i_cdmus.o i_endoom.o i_joystick.o i_scale.o i_sound.o i_system.o i_timer.o memio.o m_argv.o m_bbox.o m_cheat.o m_config.o m_controls.o m_fixed.o m_menu.o m_misc.o m_random.o p_ceilng.o p_doors.o p_enemy.o p_floor.o p_inter.o p_lights.o p_map.o p_maputl.o p_mobj.o p_plats.o p_pspr.o p_saveg.o p_setup.o p_sight.o p_spec.o p_switch.o p_telept.o p_tick.o p_user.o r_bsp.o r_data.o r_draw.o r_main.o r_plane.o r_segs.o r_sky.o r_things.o sha1.o sounds.o statdump.o st_lib.o st_stuff.o s_sound.o tables.o v_video.o wi_stuff.o w_checksum.o w_file.o w_main.o w_wad.o z_zone.o w_file_stdc.o i_input.o i_video.o doomgeneric.o doomgeneric_banan_os.o
|
||||
+OBJS += $(addprefix $(OBJDIR)/, $(SRC_DOOM))
|
||||
|
||||
Reference in New Issue
Block a user