diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b6f3827 --- /dev/null +++ b/Makefile @@ -0,0 +1,265 @@ +NAME := avp + +# Required libraries. +DEPS := libavcodec libavformat libavutil libswscale openal +OBJS := \ + src/avp/ai_sight.o \ + src/avp/avpview.o \ + src/avp/bh_agun.o \ + src/avp/bh_ais.o \ + src/avp/bh_alien.o \ + src/avp/bh_binsw.o \ + src/avp/bh_cable.o \ + src/avp/bh_corpse.o \ + src/avp/bh_deathvol.o \ + src/avp/bh_debri.o \ + src/avp/bh_dummy.o \ + src/avp/bh_fan.o \ + src/avp/bh_far.o \ + src/avp/bh_fhug.o \ + src/avp/bh_gener.o \ + src/avp/bh_ldoor.o \ + src/avp/bh_lift.o \ + src/avp/bh_light.o \ + src/avp/bh_lnksw.o \ + src/avp/bh_ltfx.o \ + src/avp/bh_marin.o \ + src/avp/bh_mission.o \ + src/avp/bh_near.o \ + src/avp/bh_pargen.o \ + src/avp/bh_plachier.o \ + src/avp/bh_plift.o \ + src/avp/bh_pred.o \ + src/avp/bh_queen.o \ + src/avp/bh_rubberduck.o \ + src/avp/bh_selfdest.o \ + src/avp/bh_snds.o \ + src/avp/bh_spcl.o \ + src/avp/bh_swdor.o \ + src/avp/bh_track.o \ + src/avp/bh_types.o \ + src/avp/bh_videoscreen.o \ + src/avp/bh_waypt.o \ + src/avp/bh_weap.o \ + src/avp/bh_xeno.o \ + src/avp/bonusabilities.o \ + src/avp/cconvars.o \ + src/avp/cdtrackselection.o \ + src/avp/cheatmodes.o \ + src/avp/comp_map.o \ + src/avp/comp_shp.o \ + src/avp/consolelog.o \ + src/avp/davehook.o \ + src/avp/deaths.o \ + src/avp/decal.o \ + src/avp/detaillevels.o \ + src/avp/dynamics.o \ + src/avp/dynblock.o \ + src/avp/equipmnt.o \ + src/avp/extents.o \ + src/avp/gamecmds.o \ + src/avp/game.o \ + src/avp/game_statistics.o \ + src/avp/gamevars.o \ + src/avp/hmodel.o \ + src/avp/hud.o \ + src/avp/inventry.o \ + src/avp/language.o \ + src/avp/lighting.o \ + src/avp/load_shp.o \ + src/avp/los.o \ + src/avp/mempool.o \ + src/avp/messagehistory.o \ + src/avp/missions.o \ + src/avp/movement.o \ + src/avp/paintball.o \ + src/avp/particle.o \ + src/avp/pfarlocs.o \ + src/avp/pheromon.o \ + src/avp/player.o \ + src/avp/pmove.o \ + src/avp/psnd.o \ + src/avp/psndproj.o \ + src/avp/pvisible.o \ + src/avp/savegame.o \ + src/avp/scream.o \ + src/avp/secstats.o \ + src/avp/sfx.o \ + src/avp/shapes/cube.o \ + src/avp/stratdef.o \ + src/avp/support/consbind.o \ + src/avp/support/consbtch.o \ + src/avp/support/coordstr.o \ + src/avp/support/daemon.o \ + src/avp/support/indexfnt.o \ + src/avp/support/r2base.o \ + src/avp/support/r2pos666.o \ + src/avp/support/reflist.o \ + src/avp/support/refobj.o \ + src/avp/support/rentrntq.o \ + src/avp/support/scstring.o \ + src/avp/support/strtab.o \ + src/avp/support/strutil.o \ + src/avp/support/trig666.o \ + src/avp/support/wrapstr.o \ + src/avp/targeting.o \ + src/avp/track.o \ + src/avp/triggers.o \ + src/avp/weapons.o \ + src/avp/win95/avpchunk.o \ + src/avp/win95/cheat.o \ + src/avp/win95/chtcodes.o \ + src/avp/win95/d3d_hud.o \ + src/avp/win95/ddplat.o \ + src/avp/win95/endianio.o \ + src/avp/win95/ffread.o \ + src/avp/win95/ffstdio.o \ + src/avp/win95/frontend/avp_envinfo.o \ + src/avp/win95/frontend/avp_intro.o \ + src/avp/win95/frontend/avp_menudata.o \ + src/avp/win95/frontend/avp_menus.o \ + src/avp/win95/frontend/avp_mp_config.o \ + src/avp/win95/frontend/avp_userprofile.o \ + src/avp/win95/gadgets/ahudgadg.o \ + src/avp/win95/gadgets/conscmnd.o \ + src/avp/win95/gadgets/conssym.o \ + src/avp/win95/gadgets/consvar.o \ + src/avp/win95/gadgets/gadget.o \ + src/avp/win95/gadgets/hudgadg.o \ + src/avp/win95/gadgets/rootgadg.o \ + src/avp/win95/gadgets/teletype.o \ + src/avp/win95/gadgets/textexp.o \ + src/avp/win95/gadgets/textin.o \ + src/avp/win95/gadgets/t_ingadg.o \ + src/avp/win95/gadgets/trepgadg.o \ + src/avp/win95/gammacontrol.o \ + src/avp/win95/hierplace.o \ + src/avp/win95/iofocus.o \ + src/avp/win95/jsndsup.o \ + src/avp/win95/kzsort.o \ + src/avp/win95/langplat.o \ + src/avp/win95/modcmds.o \ + src/avp/win95/npcsetup.o \ + src/avp/win95/objsetup.o \ + src/avp/win95/pathchnk.o \ + src/avp/win95/platsup.o \ + src/avp/win95/pldghost.o \ + src/avp/win95/pldnet.o \ + src/avp/win95/progress_bar.o \ + src/avp/win95/projload.o \ + src/avp/win95/scrshot.o \ + src/avp/win95/strachnk.o \ + src/avp/win95/system.o \ + src/avp/win95/usr_io.o \ + src/avp/win95/vision.o \ + src/bink.o \ + src/cdplayer.o \ + src/fmv.o \ + src/frustum.o \ + src/kshape.o \ + src/map.o \ + src/mathline.o \ + src/maths.o \ + src/md5.o \ + src/mem3dc.o \ + src/mem3dcpp.o \ + src/menus.o \ + src/module.o \ + src/morph.o \ + src/net.o \ + src/object.o \ + src/oglfunc.o \ + src/openal.o \ + src/opengl.o \ + src/shpanim.o \ + src/sphere.o \ + src/stubs.o \ + src/tables.o \ + src/vdb.o \ + src/version.o \ + src/win95/animchnk.o \ + src/win95/animobs.o \ + src/win95/awbmpld.o \ + src/win95/awiffld.o \ + src/win95/awpnmld.o \ + src/win95/awtexld.o \ + src/win95/bmpnames.o \ + src/win95/chnkload.o \ + src/win95/chnktexi.o \ + src/win95/chnktype.o \ + src/win95/chunk.o \ + src/win95/chunkpal.o \ + src/win95/db.o \ + src/win95/debuglog.o \ + src/win95/dummyobjectchunk.o \ + src/win95/enumchnk.o \ + src/win95/enumsch.o \ + src/win95/envchunk.o \ + src/win95/fail.o \ + src/win95/fragchnk.o \ + src/win95/gsprchnk.o \ + src/win95/hierchnk.o \ + src/win95/huffman.o \ + src/win95/iff_ilbm.o \ + src/win95/iff.o \ + src/win95/ilbm_ext.o \ + src/win95/io.o \ + src/win95/list_tem.o \ + src/win95/ltchunk.o \ + src/win95/media.o \ + src/win95/mishchnk.o \ + src/win95/obchunk.o \ + src/win95/oechunk.o \ + src/win95/our_mem.o \ + src/win95/plat_shp.o \ + src/win95/plspecfn.o \ + src/win95/shpchunk.o \ + src/win95/sndchunk.o \ + src/win95/sprchunk.o \ + src/win95/string.o \ + src/win95/texio.o \ + src/win95/toolchnk.o \ + src/win95/txioctrl.o \ + src/win95/wpchunk.o \ + src/win95/zsp.o \ + src/files.o \ + src/winapi.o + +INCLUDE := \ + -Isrc \ + -Isrc/include \ + -Isrc/avp \ + -Isrc/avp/support \ + -Isrc/avp/win95 \ + -Isrc/avp/win95/frontend \ + -Isrc/avp/win95/gadgets \ + -Isrc/win95 + +# Optional libraries. +ifdef USE_SDL1 + DEPS += sdl + OBJS += src/main.o +else + DEPS += sdl2 + OBJS += src/main2.o +endif + +ifdef USE_GLES2 + DEPS += egl glesv2 +else + DEPS += gl +endif + +CFLAGS += $(INCLUDE) $$(pkg-config --cflags $(DEPS)) +CXXFLAGS += $(INCLUDE) $$(pkg-config --cflags $(DEPS)) +LDFLAGS += $$(pkg-config --libs $(DEPS)) + +$(NAME): $(OBJS) + $(CXX) $(OBJS) -o $(NAME) $(LDFLAGS) + +install: $(NAME) + install -d $(DESTDIR)/bin + install -m755 avp $(DESTDIR)/bin + +clean: + rm -f $(OBJS) $(NAME) diff --git a/guix.scm b/guix.scm index 300e833..32061c8 100644 --- a/guix.scm +++ b/guix.scm @@ -13,7 +13,7 @@ (gnu packages pkg-config) (gnu packages sdl) (gnu packages video) - (guix build-system cmake) + (guix build-system gnu) (guix build utils) (guix gexp) (guix git-download) @@ -34,9 +34,13 @@ (name "avp") (version (git-version source-dir)) (source (local-file source-dir #:recursive? #t #:select? (git-predicate source-dir))) - (build-system cmake-build-system) + (build-system gnu-build-system) (arguments - (list #:tests? #f)) + (list + #:tests? #f + #:make-flags #~(list "CC=gcc" (string-append "DESTDIR=" #$output)) + #:phases + #~(modify-phases %standard-phases (delete 'configure)))) (inputs (list ffmpeg mesa openal sdl2)) (native-inputs