Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
134 user(s) are online (118 user(s) are browsing Forums)

Members: 1
Guests: 133

Mr_byte, more...

Support us!

Headlines

 
  Register To Post  

(1) 2 3 4 ... 6 »
Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Not too shy to talk
Not too shy to talk


See User information
Hi all

Currently I am trying to compile Vanilla-Conquer for AmigaOS4 (Open Source Version of C&C) on Cygwin64-Cross-Compiler on new forthcoming SDK for OS4.

Recently Vanilla-Conquer was ported to MorphOS. BeWorld was kind enough to share his makefile.mos

This is the makefile for mos.

TARGET         vanillatd
TARGET2        
vanillara
AMIGADATE 
= $(shell date +"%-d.%-m.%Y")
VERSION 1.0R1
CXX        
ppc-morphos-g++-11

CXXFLAGS     
= -O2 -noixemul -std=gnu++11 -Wall -fcheck-new -fsigned-char -DNDEBUG -D__BIG_ENDIAN__ -DMEGAMAPS -DENGLISH -DFIXIT_FAST_LOAD -DSDL2_BUILD -DOPENAL_BUILD -DTRUE_FALSE_DEFINED -D__AMIGA__ -DNOMINMAX -fpermissive -Wno-narrowing -D__AMIGAVER__=\"$(VERSION)\"  -D__AMIGADATE__=\"$(AMIGADATE)\"
CXXFLAGS    += -I/usr/local/include/SDL2 -I/usr/local/include/AL  -I/usr/local/include -I./common -I./
CXXLIBS        = -noixemul -L/usr/local/lib -lopenal -lSDL2 -lm -lc -lpthread
STRIP 
ppc-morphos-strip

OBJS_COMMON        
common/gitinfo.o common/_diptabl.o common/alloc.o common/auduncmp.o common/b64pipe.o common/b64straw.o common/base64.o common/bfiofile.o common/blowfish.o common/blowpipe.o common/blwstraw.o common/buff.o common/buffer.o common/buffglbl.o common/ccfile.o common/cdfile.o common/cliprect.o common/combuf.o common/control.o common/crc.o common/crew.o common/cstraw.o common/connect.o common/debugstring.o common/delay.o common/dipthong.o common/drawbuff.o common/drawline.o common/drawmisc.o common/face.o common/fading.o common/field.o common/file.o common/filepcx.o common/fixed.o common/font.o common/gadget.o common/getshape.o common/graphicsviewport.o common/hsv.o common/iff.o common/ini.o common/int.o common/internet.o common/irandom.o common/keybuff.o common/keyframe.o common/lcw.o common/lcwpipe.o common/lcwstraw.o common/linear.o common/link.o common/load.o common/memrev.o common/misc.o common/mixfile.o common/mp.o common/newdel.o common/packet.o common/palette.o common/palettec.o common/paths.o common/pipe.o common/pk.o common/pkpipe.o common/pkstraw.o common/ramfile.o common/random.o common/rawfile.o common/readline.o common/rect.o common/rgb.o common/rndstraw.o common/settings.o common/sha.o common/shape.o common/shapipe.o common/shastraw.o common/soscodec.o common/stamp.o common/straw.o common/timer.o common/timerdwn.o common/tobuff.o common/toggle.o common/vector.o common/winasm.o common/windows.o common/winhide.o common/winstub.o common/wsa.o common/xordelta.o common/xpipe.o common/xstraw.o common/file_posix.o common/paths_posix.o common/framelimit.o common/gbuffer.o common/interpal.o common/ipxaddr.o common/tcpip.o common/tcpip_null.o common/unvqbuff.o common/vqaconfig.o common/vqadrawer.o common/vqaloader.o common/vqapalette.o common/vqatask.o common/vqaver.o common/wsproto.o common/wspudp.o common/wwkeyboard.o common/wwmouse.o common/soundio_openal.o common/vqaaudio_openal.o common/video_sdl2.o

OBJS_TIBDAWN 
tiberiandawn/aadata.o \
    tiberiandawn
/abstract.o \
    tiberiandawn
/adata.o \
    tiberiandawn
/aircraft.o \
    tiberiandawn
/anim.o \
    tiberiandawn
/audio.o \
    tiberiandawn
/base.o \
    tiberiandawn
/bbdata.o \
    tiberiandawn
/bdata.o \
    tiberiandawn
/building.o \
    tiberiandawn
/bullet.o \
    tiberiandawn
/cargo.o \
    tiberiandawn
/ccini.o \
    tiberiandawn
/cdata.o \
    tiberiandawn
/cell.o \
    tiberiandawn
/checkbox.o \
    tiberiandawn
/cheklist.o \
    tiberiandawn
/colrlist.o \
    tiberiandawn
/combat.o \
    tiberiandawn
/confdlg.o \
    tiberiandawn
/conquer.o \
    tiberiandawn
/const.o \
    tiberiandawn
/coord.o \
    tiberiandawn
/credits.o \
    tiberiandawn
/debug.o \
    tiberiandawn
/dial8.o \
    tiberiandawn
/dialog.o \
    tiberiandawn
/display.o \
    tiberiandawn
/door.o \
    tiberiandawn
/drive.o \
    tiberiandawn
/drop.o \
    tiberiandawn
/edit.o \
    tiberiandawn
/ending.o \
    tiberiandawn
/event.o \
    tiberiandawn
/expand.o \
    tiberiandawn
/facing.o \
    tiberiandawn
/factory.o \
    tiberiandawn
/findpath.o \
    tiberiandawn
/flasher.o \
    tiberiandawn
/fly.o \
    tiberiandawn
/foot.o \
    tiberiandawn
/fuse.o \
    tiberiandawn
/gamedlg.o \
    tiberiandawn
/gauge.o \
    tiberiandawn
/globals.o \
    tiberiandawn
/goptions.o \
    tiberiandawn
/gscreen.o \
    tiberiandawn
/hdata.o \
    tiberiandawn
/heap.o \
    tiberiandawn
/help.o \
    tiberiandawn
/house.o \
    tiberiandawn
/iconset.o \
    tiberiandawn
/idata.o \
    tiberiandawn
/infantry.o \
    tiberiandawn
/init.o \
    tiberiandawn
/intro.o \
    tiberiandawn
/iomap.o \
    tiberiandawn
/ioobj.o \
    tiberiandawn
/ipx.o \
    tiberiandawn
/ipx95.o \
    tiberiandawn
/ipxconn.o \
    tiberiandawn
/ipxgconn.o \
    tiberiandawn
/ipxmgr.o \
    tiberiandawn
/jshell.o \
    tiberiandawn
/layer.o \
    tiberiandawn
/lib.o \
    tiberiandawn
/list.o \
    tiberiandawn
/loaddlg.o \
    tiberiandawn
/logic.o \
    tiberiandawn
/map.o \
    tiberiandawn
/mapeddlg.o \
    tiberiandawn
/mapedit.o \
    tiberiandawn
/mapedplc.o \
    tiberiandawn
/mapedsel.o \
    tiberiandawn
/mapedtm.o \
    tiberiandawn
/mapsel.o \
    tiberiandawn
/menus.o \
    tiberiandawn
/miscasm.o \
    tiberiandawn
/mission.o \
    tiberiandawn
/monoc.o \
    tiberiandawn
/mouse.o \
    tiberiandawn
/mplayer.o \
    tiberiandawn
/msgbox.o \
    tiberiandawn
/msglist.o \
    tiberiandawn
/netdlg.o \
    tiberiandawn
/noseqcon.o \
    tiberiandawn
/nulldlg.o \
    tiberiandawn
/object.o \
    tiberiandawn
/odata.o \
    tiberiandawn
/options.o \
    tiberiandawn
/overlay.o \
    tiberiandawn
/power.o \
    tiberiandawn
/profile.o \
    tiberiandawn
/queue.o \
    tiberiandawn
/radar.o \
    tiberiandawn
/radio.o \
    tiberiandawn
/reinf.o \
    tiberiandawn
/rules.o \
    tiberiandawn
/saveload.o \
    tiberiandawn
/scenario.o \
    tiberiandawn
/scenarioini.o \
    tiberiandawn
/score.o \
    tiberiandawn
/scroll.o \
    tiberiandawn
/sdata.o \
    tiberiandawn
/shapebtn.o \
    tiberiandawn
/sidebar.o \
    tiberiandawn
/slider.o \
    tiberiandawn
/smudge.o \
    tiberiandawn
/sounddlg.o \
    tiberiandawn
/special.o \
    tiberiandawn
/startup.o \
    tiberiandawn
/stats.o \
    tiberiandawn
/super.o \
    tiberiandawn
/tab.o \
    tiberiandawn
/tarcom.o \
    tiberiandawn
/target.o \
    tiberiandawn
/tdata.o \
    tiberiandawn
/team.o \
    tiberiandawn
/teamtype.o \
    tiberiandawn
/techno.o \
    tiberiandawn
/template.o \
    tiberiandawn
/terrain.o \
    tiberiandawn
/textbtn.o \
    tiberiandawn
/theme.o \
    tiberiandawn
/trigger.o \
    tiberiandawn
/turret.o \
    tiberiandawn
/txtlabel.o \
    tiberiandawn
/udata.o \
    tiberiandawn
/unit.o \
    tiberiandawn
/visudlg.o \
    tiberiandawn
/winstub.

OBJS_REDALERT 
\
    redalert
/aadata.o \
    redalert
/abstract.o \
    redalert
/adata.o \
    redalert
/aircraft.o \
    redalert
/anim.o \
    redalert
/audio.o \
    redalert
/bar.o \
    redalert
/base.o \
    redalert
/bbdata.o \
    redalert
/bdata.o \
    redalert
/bench.o \
    redalert
/bigcheck.o \
    redalert
/building.o \
    redalert
/bullet.o \
    redalert
/cargo.o \
    redalert
/carry.o \
    redalert
/ccini.o \
    redalert
/ccptr.o \
    redalert
/cdata.o \
    redalert
/cell.o \
    redalert
/checkbox.o \
    redalert
/cheklist.o \
    redalert
/colrlist.o \
    redalert
/combat.o \
    redalert
/confdlg.o \
    redalert
/conquer.o \
    redalert
/const.o \
    redalert
/coord.o \
    redalert
/crate.o \
    redalert
/credits.o \
    redalert
/debug.o \
    redalert
/dial8.o \
    redalert
/dialog.o \
    redalert
/dibfile.o \
    redalert
/dibutil.o \
    redalert
/display.o \
    redalert
/door.o \
    redalert
/drive.o \
    redalert
/drop.o \
    redalert
/edit.o \
    redalert
/egos.o \
    redalert
/ending.o \
    redalert
/event.o \
    redalert
/expand.o \
    redalert
/face.o \
    redalert
/facing.o \
    redalert
/factory.o \
    redalert
/findpath.o \
    redalert
/flasher.o \
    redalert
/fly.o \
    redalert
/foot.o \
    redalert
/fuse.o \
    redalert
/gamedlg.o \
    redalert
/gauge.o \
    redalert
/globals.o \
    redalert
/goptions.o \
    redalert
/gscreen.o \
    redalert
/hdata.o \
    redalert
/heap.o \
    redalert
/help.o \
    redalert
/house.o \
    redalert
/iconlist.o \
    redalert
/iconset.o \
    redalert
/idata.o \
    redalert
/infantry.o \
    redalert
/init.o \
    redalert
/intro.o \
    redalert
/iomap.o \
    redalert
/ioobj.o \
    redalert
/ipx.o \
    redalert
/ipx95.o \
    redalert
/ipxconn.o \
    redalert
/ipxgconn.o \
    redalert
/ipxmgr.o \
    redalert
/jshell.o \
    redalert
/layer.o \
    redalert
/list.o \
    redalert
/loaddlg.o \
    redalert
/logic.o \
    redalert
/map.o \
    redalert
/mapeddlg.o \
    redalert
/mapedit.o \
    redalert
/mapedplc.o \
    redalert
/mapedsel.o \
    redalert
/mapedtm.o \
    redalert
/mapsel.o \
    redalert
/menus.o \
    redalert
/miscasm.o \
    redalert
/mission.o \
    redalert
/monoc.o \
    redalert
/mouse.o \
    redalert
/mplayer.o \
    redalert
/msgbox.o \
    redalert
/msglist.o \
    redalert
/netdlg.o \
    redalert
/nulldlg.o \
    redalert
/object.o \
    redalert
/odata.o \
    redalert
/options.o \
    redalert
/overlay.o \
    redalert
/power.o \
    redalert
/profile.o \
    redalert
/queue.o \
    redalert
/radar.o \
    redalert
/radio.o \
    redalert
/rawolapi.o \
    redalert
/reinf.o \
    redalert
/rules.o \
    redalert
/saveload.o \
    redalert
/scenario.o \
    redalert
/score.o \
    redalert
/scroll.o \
    redalert
/sdata.o \
    redalert
/seditdlg.o \
    redalert
/sendfile.o \
    redalert
/session.o \
    redalert
/shapebtn.o \
    redalert
/sidebar.o \
    redalert
/slider.o \
    redalert
/smudge.o \
    redalert
/sounddlg.o \
    redalert
/special.o \
    redalert
/startup.o \
    redalert
/statbtn.o \
    redalert
/stats.o \
    redalert
/super.o \
    redalert
/tab.o \
    redalert
/taction.o \
    redalert
/target.o \
    redalert
/tdata.o \
    redalert
/team.o \
    redalert
/teamtype.o \
    redalert
/techno.o \
    redalert
/template.o \
    redalert
/terrain.o \
    redalert
/tevent.o \
    redalert
/textbtn.o \
    redalert
/theme.o \
    redalert
/tooltip.o \
    redalert
/tracker.o \
    redalert
/trigger.o \
    redalert
/trigtype.o \
    redalert
/txtlabel.o \
    redalert
/udata.o \
    redalert
/unit.o \
    redalert
/vdata.o \
    redalert
/version.o \
    redalert
/vessel.o \
    redalert
/visudlg.o \
    redalert
/vortex.o \
    redalert
/warhead.o \
    redalert
/weapon.o \
    redalert
/winstub.o \
    redalert
/wol_cgam.o \
    redalert
/wol_chat.o \
    redalert
/wol_dnld.o \
    redalert
/wol_gsup.o \
    redalert
/wol_logn.o \
    redalert
/wol_main.o \
    redalert
/wol_opt.o \
    redalert
/wolapiob.o \
    redalert
/woledit.o \
    redalert
/wolstrng.o

OBJS1 
= $(OBJS_COMMON) $(OBJS_TIBDAWN)
OBJS2 = $(OBJS_COMMON) $(OBJS_REDALERT)

all: $(TARGET)

$(
TARGET): $(OBJS1)
    $(
CXX) $(CXXFLAGS) -$@ $^ $(CXXLIBS)
    $(
STRIP) --strip-all $(TARGET) -$(TARGET).strip

$(TARGET2): $(OBJS2)
    $(
CXX) $(CXXFLAGS) -$@ $^ $(CXXLIBS)
    $(
STRIP) --strip-all $(TARGET2) -$(TARGET2).strip

clean
:
    
rm -$(OBJS_COMMON) $(OBJS_TIBDAWN)
    
rm -$(TARGET) $(TARGET).$(TARGET).strip
    rm 
-$(TARGET2) $(TARGET2).$(TARGET2).strip

dump
:
    
ppc-morphos-objdump --disassemble-all --reloc $(TARGET) >$(TARGET).s


And I modified makefile for AmigaOS4

TARGET         vanillatd
TARGET2        
vanillara
AMIGADATE 
04-07-22
VERSION 
1.0R1
CXX        
ppc-amigaos-g++

CXXFLAGS     = -O2 -std=gnu++11 -Wall -fcheck-new -fsigned-char -DNDEBUG -D__BIG_ENDIAN__ -DMEGAMAPS -DENGLISH -DFIXIT_FAST_LOAD -DSDL2_BUILD -DOPENAL_BUILD -DTRUE_FALSE_DEFINED -D__AMIGA__ -DNOMINMAX -fpermissive -Wno-narrowing -D__AMIGAVER__=\"$(VERSION)\"  -D__AMIGADATE__=\"$(AMIGADATE)\"
CXXFLAGS    += -I/usr/local/amiga/ppc-amigaos/SDK/Local/newlib/include/SDL2 -I/usr/local/amiga/ppc-amigaos/SDK/Local/newlib/include/AL  -I/usr/local/amiga/ppc-amigaos/SDK/Local/include -I./common -I./
CXXLIBS        = -L/usr/local/amiga/ppc-amigaos/SDK/Local/lib -lopenal -lSDL2 -lm -lc -lpthread
STRIP 
ppc-amigaos-strip

OBJS_COMMON        
common/_diptabl.o common/alloc.o common/auduncmp.o common/b64pipe.o common/b64straw.o common/base64.o common/bfiofile.o common/blowfish.o common/blowpipe.o common/blwstraw.o common/buff.o common/buffer.o common/buffglbl.o common/ccfile.o common/cdfile.o common/cliprect.o common/combuf.o common/control.o common/crc.o common/crew.o common/cstraw.o common/connect.o common/debugstring.o common/delay.o common/dipthong.o common/drawbuff.o common/drawline.o common/drawmisc.o common/face.o common/fading.o common/field.o common/file.o common/filepcx.o common/fixed.o common/font.o common/gadget.o common/getshape.o common/graphicsviewport.o common/hsv.o common/iff.o common/ini.o common/int.o common/internet.o common/irandom.o common/keybuff.o common/keyframe.o common/lcw.o common/lcwpipe.o common/lcwstraw.o common/linear.o common/link.o common/load.o common/memrev.o common/misc.o common/mixfile.o common/mp.o common/newdel.o common/packet.o common/palette.o common/palettec.o common/paths.o common/pipe.o common/pk.o common/pkpipe.o common/pkstraw.o common/ramfile.o common/random.o common/rawfile.o common/readline.o common/rect.o common/rgb.o common/rndstraw.o common/settings.o common/sha.o common/shape.o common/shapipe.o common/shastraw.o common/soscodec.o common/stamp.o common/straw.o common/timer.o common/timerdwn.o common/tobuff.o common/toggle.o common/vector.o common/winasm.o common/windows.o common/winhide.o common/winstub.o common/wsa.o common/xordelta.o common/xpipe.o common/xstraw.o common/file_posix.o common/paths_posix.o common/framelimit.o common/gbuffer.o common/interpal.o common/ipxaddr.o common/tcpip.o common/tcpip_null.o common/unvqbuff.o common/vqaconfig.o common/vqadrawer.o common/vqaloader.o common/vqapalette.o common/vqatask.o common/vqaver.o common/wsproto.o common/wspudp.o common/wwkeyboard.o common/wwmouse.o common/soundio_openal.o common/vqaaudio_openal.o common/video_sdl2.o

OBJS_TIBDAWN 
tiberiandawn/aadata.o \
    tiberiandawn
/abstract.o \
    tiberiandawn
/adata.o \
    tiberiandawn
/aircraft.o \
    tiberiandawn
/anim.o \
    tiberiandawn
/audio.o \
    tiberiandawn
/base.o \
    tiberiandawn
/bbdata.o \
    tiberiandawn
/bdata.o \
    tiberiandawn
/building.o \
    tiberiandawn
/bullet.o \
    tiberiandawn
/cargo.o \
    tiberiandawn
/ccini.o \
    tiberiandawn
/cdata.o \
    tiberiandawn
/cell.o \
    tiberiandawn
/checkbox.o \
    tiberiandawn
/cheklist.o \
    tiberiandawn
/colrlist.o \
    tiberiandawn
/combat.o \
    tiberiandawn
/confdlg.o \
    tiberiandawn
/conquer.o \
    tiberiandawn
/const.o \
    tiberiandawn
/coord.o \
    tiberiandawn
/credits.o \
    tiberiandawn
/debug.o \
    tiberiandawn
/dial8.o \
    tiberiandawn
/dialog.o \
    tiberiandawn
/display.o \
    tiberiandawn
/door.o \
    tiberiandawn
/drive.o \
    tiberiandawn
/drop.o \
    tiberiandawn
/edit.o \
    tiberiandawn
/ending.o \
    tiberiandawn
/event.o \
    tiberiandawn
/expand.o \
    tiberiandawn
/facing.o \
    tiberiandawn
/factory.o \
    tiberiandawn
/findpath.o \
    tiberiandawn
/flasher.o \
    tiberiandawn
/fly.o \
    tiberiandawn
/foot.o \
    tiberiandawn
/fuse.o \
    tiberiandawn
/gamedlg.o \
    tiberiandawn
/gauge.o \
    tiberiandawn
/globals.o \
    tiberiandawn
/goptions.o \
    tiberiandawn
/gscreen.o \
    tiberiandawn
/hdata.o \
    tiberiandawn
/heap.o \
    tiberiandawn
/help.o \
    tiberiandawn
/house.o \
    tiberiandawn
/iconset.o \
    tiberiandawn
/idata.o \
    tiberiandawn
/infantry.o \
    tiberiandawn
/init.o \
    tiberiandawn
/intro.o \
    tiberiandawn
/iomap.o \
    tiberiandawn
/ioobj.o \
    tiberiandawn
/ipx.o \
    tiberiandawn
/ipx95.o \
    tiberiandawn
/ipxconn.o \
    tiberiandawn
/ipxgconn.o \
    tiberiandawn
/ipxmgr.o \
    tiberiandawn
/jshell.o \
    tiberiandawn
/layer.o \
    tiberiandawn
/lib.o \
    tiberiandawn
/list.o \
    tiberiandawn
/loaddlg.o \
    tiberiandawn
/logic.o \
    tiberiandawn
/map.o \
    tiberiandawn
/mapeddlg.o \
    tiberiandawn
/mapedit.o \
    tiberiandawn
/mapedplc.o \
    tiberiandawn
/mapedsel.o \
    tiberiandawn
/mapedtm.o \
    tiberiandawn
/mapsel.o \
    tiberiandawn
/menus.o \
    tiberiandawn
/miscasm.o \
    tiberiandawn
/mission.o \
    tiberiandawn
/monoc.o \
    tiberiandawn
/mouse.o \
    tiberiandawn
/mplayer.o \
    tiberiandawn
/msgbox.o \
    tiberiandawn
/msglist.o \
    tiberiandawn
/netdlg.o \
    tiberiandawn
/noseqcon.o \
    tiberiandawn
/nulldlg.o \
    tiberiandawn
/object.o \
    tiberiandawn
/odata.o \
    tiberiandawn
/options.o \
    tiberiandawn
/overlay.o \
    tiberiandawn
/power.o \
    tiberiandawn
/profile.o \
    tiberiandawn
/queue.o \
    tiberiandawn
/radar.o \
    tiberiandawn
/radio.o \
    tiberiandawn
/reinf.o \
    tiberiandawn
/rules.o \
    tiberiandawn
/saveload.o \
    tiberiandawn
/scenario.o \
    tiberiandawn
/scenarioini.o \
    tiberiandawn
/score.o \
    tiberiandawn
/scroll.o \
    tiberiandawn
/sdata.o \
    tiberiandawn
/shapebtn.o \
    tiberiandawn
/sidebar.o \
    tiberiandawn
/slider.o \
    tiberiandawn
/smudge.o \
    tiberiandawn
/sounddlg.o \
    tiberiandawn
/special.o \
    tiberiandawn
/startup.o \
    tiberiandawn
/stats.o \
    tiberiandawn
/super.o \
    tiberiandawn
/tab.o \
    tiberiandawn
/tarcom.o \
    tiberiandawn
/target.o \
    tiberiandawn
/tdata.o \
    tiberiandawn
/team.o \
    tiberiandawn
/teamtype.o \
    tiberiandawn
/techno.o \
    tiberiandawn
/template.o \
    tiberiandawn
/terrain.o \
    tiberiandawn
/textbtn.o \
    tiberiandawn
/theme.o \
    tiberiandawn
/trigger.o \
    tiberiandawn
/turret.o \
    tiberiandawn
/txtlabel.o \
    tiberiandawn
/udata.o \
    tiberiandawn
/unit.o \
    tiberiandawn
/visudlg.o \
    tiberiandawn
/winstub.

OBJS_REDALERT 
\
    redalert
/aadata.o \
    redalert
/abstract.o \
    redalert
/adata.o \
    redalert
/aircraft.o \
    redalert
/anim.o \
    redalert
/audio.o \
    redalert
/bar.o \
    redalert
/base.o \
    redalert
/bbdata.o \
    redalert
/bdata.o \
    redalert
/bench.o \
    redalert
/bigcheck.o \
    redalert
/building.o \
    redalert
/bullet.o \
    redalert
/cargo.o \
    redalert
/carry.o \
    redalert
/ccini.o \
    redalert
/ccptr.o \
    redalert
/cdata.o \
    redalert
/cell.o \
    redalert
/checkbox.o \
    redalert
/cheklist.o \
    redalert
/colrlist.o \
    redalert
/combat.o \
    redalert
/confdlg.o \
    redalert
/conquer.o \
    redalert
/const.o \
    redalert
/coord.o \
    redalert
/crate.o \
    redalert
/credits.o \
    redalert
/debug.o \
    redalert
/dial8.o \
    redalert
/dialog.o \
    redalert
/dibfile.o \
    redalert
/dibutil.o \
    redalert
/display.o \
    redalert
/door.o \
    redalert
/drive.o \
    redalert
/drop.o \
    redalert
/edit.o \
    redalert
/egos.o \
    redalert
/ending.o \
    redalert
/event.o \
    redalert
/expand.o \
    redalert
/face.o \
    redalert
/facing.o \
    redalert
/factory.o \
    redalert
/findpath.o \
    redalert
/flasher.o \
    redalert
/fly.o \
    redalert
/foot.o \
    redalert
/fuse.o \
    redalert
/gamedlg.o \
    redalert
/gauge.o \
    redalert
/globals.o \
    redalert
/goptions.o \
    redalert
/gscreen.o \
    redalert
/hdata.o \
    redalert
/heap.o \
    redalert
/help.o \
    redalert
/house.o \
    redalert
/iconlist.o \
    redalert
/iconset.o \
    redalert
/idata.o \
    redalert
/infantry.o \
    redalert
/init.o \
    redalert
/intro.o \
    redalert
/iomap.o \
    redalert
/ioobj.o \
    redalert
/ipx.o \
    redalert
/ipx95.o \
    redalert
/ipxconn.o \
    redalert
/ipxgconn.o \
    redalert
/ipxmgr.o \
    redalert
/jshell.o \
    redalert
/layer.o \
    redalert
/list.o \
    redalert
/loaddlg.o \
    redalert
/logic.o \
    redalert
/map.o \
    redalert
/mapeddlg.o \
    redalert
/mapedit.o \
    redalert
/mapedplc.o \
    redalert
/mapedsel.o \
    redalert
/mapedtm.o \
    redalert
/mapsel.o \
    redalert
/menus.o \
    redalert
/miscasm.o \
    redalert
/mission.o \
    redalert
/monoc.o \
    redalert
/mouse.o \
    redalert
/mplayer.o \
    redalert
/msgbox.o \
    redalert
/msglist.o \
    redalert
/netdlg.o \
    redalert
/nulldlg.o \
    redalert
/object.o \
    redalert
/odata.o \
    redalert
/options.o \
    redalert
/overlay.o \
    redalert
/power.o \
    redalert
/profile.o \
    redalert
/queue.o \
    redalert
/radar.o \
    redalert
/radio.o \
    redalert
/rawolapi.o \
    redalert
/reinf.o \
    redalert
/rules.o \
    redalert
/saveload.o \
    redalert
/scenario.o \
    redalert
/score.o \
    redalert
/scroll.o \
    redalert
/sdata.o \
    redalert
/seditdlg.o \
    redalert
/sendfile.o \
    redalert
/session.o \
    redalert
/shapebtn.o \
    redalert
/sidebar.o \
    redalert
/slider.o \
    redalert
/smudge.o \
    redalert
/sounddlg.o \
    redalert
/special.o \
    redalert
/startup.o \
    redalert
/statbtn.o \
    redalert
/stats.o \
    redalert
/super.o \
    redalert
/tab.o \
    redalert
/taction.o \
    redalert
/target.o \
    redalert
/tdata.o \
    redalert
/team.o \
    redalert
/teamtype.o \
    redalert
/techno.o \
    redalert
/template.o \
    redalert
/terrain.o \
    redalert
/tevent.o \
    redalert
/textbtn.o \
    redalert
/theme.o \
    redalert
/tooltip.o \
    redalert
/tracker.o \
    redalert
/trigger.o \
    redalert
/trigtype.o \
    redalert
/txtlabel.o \
    redalert
/udata.o \
    redalert
/unit.o \
    redalert
/vdata.o \
    redalert
/version.o \
    redalert
/vessel.o \
    redalert
/visudlg.o \
    redalert
/vortex.o \
    redalert
/warhead.o \
    redalert
/weapon.o \
    redalert
/winstub.o \
    redalert
/wol_cgam.o \
    redalert
/wol_chat.o \
    redalert
/wol_dnld.o \
    redalert
/wol_gsup.o \
    redalert
/wol_logn.o \
    redalert
/wol_main.o \
    redalert
/wol_opt.o \
    redalert
/wolapiob.o \
    redalert
/woledit.o \
    redalert
/wolstrng.o

OBJS1 
= $(OBJS_COMMON) $(OBJS_TIBDAWN)
OBJS2 = $(OBJS_COMMON) $(OBJS_REDALERT)

all: $(TARGET)

$(
TARGET): $(OBJS1)
    $(
CXX) $(CXXFLAGS) -$@ $^ $(CXXLIBS)
    $(
STRIP) --strip-all $(TARGET) -$(TARGET).strip

$(TARGET2): $(OBJS2)
    $(
CXX) $(CXXFLAGS) -$@ $^ $(CXXLIBS)
    $(
STRIP) --strip-all $(TARGET2) -$(TARGET2).strip

clean
:
    
rm -$(OBJS_COMMON) $(OBJS_TIBDAWN)
    
rm -$(TARGET) $(TARGET).$(TARGET).strip
    rm 
-$(TARGET2) $(TARGET2).$(TARGET2).strip

dump
:
    
ppc-amigaos-objdump --disassemble-all --reloc $(TARGET) >$(TARGET).s


I am able to compile and link some sources, but compiler halts with this error

common/paths_posix.cppIn function ‘const string& {anonymous}::User_Home():
common/paths_posix.cpp:66:40error‘_SC_GETPW_R_SIZE_MAX’ was not declared in this scope
   66 
|                 long bufsize sysconf(_SC_GETPW_R_SIZE_MAX);
      |                                        ^~~~~~~~~~~~~~~~~~~~
common/paths_posix.cpp:66:32error‘sysconf’ was not declared in this scopedid you mean ‘sscanf’?
   
66 |                 long bufsize sysconf(_SC_GETPW_R_SIZE_MAX);
      |                                ^~~~~~~
      |                                
sscanf
common
/paths_posix.cpp:65:31warningunused variable ‘pwd’ [-Wunused-variable]
   
65 |                 struct passwd pwd;
      |                               ^~~
common/paths_posix.cppIn function ‘std::string {anonymous}::Get_Posix_Default(const char*, const char*):
common/paths_posix.cpp:104:22error‘snprintf’ is not a member of ‘std’did you mean ‘sprintf’?
  
104 |                 std::snprintf(buffer,
      |                      ^~~~~~~~
      |                      
sprintf
common
/paths_posix.cppIn member function ‘const charPathsClass::Program_Path():
common/paths_posix.cpp:134:14warningunused variable ‘buffer’ [-Wunused-variable]
  
134 |         char buffer[PATH_MAX];
      |              ^~~~~~
common/paths_posix.cppIn function ‘charrealpath(const char*, char*):
common/paths_posix.cpp:284:24warningISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
  
284 |                 return "";
      |                        ^~
common/paths_posix.cppAt global scope:
common/paths_posix.cpp:97:17warning‘std::string {anonymous}::Get_Posix_Default(const char*, const char*)’ defined but not used [-Wunused-function]
   
97 |     std::string Get_Posix_Default(const charenv_var, const charrelative_path)
      |                 ^~~~~~~~~~~~~~~~~
make: *** [<builtin>: common/paths_posix.oError 1


Any help or suggestions are welcome.
Thanks


Edited by SinanSam460 on 2022/7/4 20:53:53
Sinan - AmigaOS4 Beta-Tester
- AmigaOne X5000
- AmigaOne A1222
- Sam460ex
Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Home away from home
Home away from home


See User information
@SinanSam460

its defined in "include/bits/confname.h"

https://code.woboq.org/qt5/include/bits/confname.h.html

so I guess you need that file.

Copyright (C) 1993-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.

what if you compiled without glibc if that's a option, we use clib not glibc on AmigaOS.

(NutsAboutAmiga)

Basilisk II for AmigaOS4
AmigaInputAnywhere
Excalibur
and other tools and apps.
Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Not too shy to talk
Not too shy to talk


See User information
@LiveForIt

I modified as follows:

CXXFLAGS     = -mcrt=newlib -std=gnu++11 -Wall -fcheck-new -fsigned-char -DNDEBUG -D__BIG_ENDIAN__ -DMEGAMAPS -DENGLISH -D_BSD_SOURCE -DSDL2_BUILD -DOPENAL_BUILD -DTRUE_FALSE_DEFINED -D__AMIGA__ -DNOMINMAX -fpermissive -Wno-narrowing -D__AMIGAVER__=\"$(VERSION)\"  -D__AMIGADATE__=\"$(AMIGADATE)\"
CXXFLAGS    += -I/usr/local/amiga/ppc-amigaos/SDK/Local/newlib/include/SDL2 -I/usr/local/amiga/ppc-amigaos/SDK/Local/newlib/include/AL  -I/usr/local/amiga/ppc-amigaos/SDK/Local/include -I./common -I./


Now I get error in latest stages:

common/paths_posix.cppIn function ‘const string& {anonymous}::User_Home():
common/paths_posix.cpp:72:40error‘_SC_GETPW_R_SIZE_MAX’ was not declared in this scope
   72 
|                 long bufsize sysconf(_SC_GETPW_R_SIZE_MAX);
      |                                        ^~~~~~~~~~~~~~~~~~~~
common/paths_posix.cpp:72:32error‘sysconf’ was not declared in this scopedid you mean ‘sscanf’?
   
72 |                 long bufsize sysconf(_SC_GETPW_R_SIZE_MAX);
      |                                ^~~~~~~
      |                                
sscanf
common
/paths_posix.cpp:71:31warningunused variable ‘pwd’ [-Wunused-variable]
   
71 |                 struct passwd pwd;
      |                               ^~~
common/paths_posix.cppIn function ‘std::string {anonymous}::Get_Posix_Default(const char*, const char*):
common/paths_posix.cpp:110:22error‘snprintf’ is not a member of ‘std’did you mean ‘sprintf’?
  
110 |                 std::snprintf(buffer,
      |                      ^~~~~~~~


and later this:
In file included from common/framelimit.cpp:10:
common/mssleep.hIn function ‘void ms_sleep(unsigned int):
common/mssleep.h:30:21erroraggregate ‘timespec ts’ has incomplete type and cannot be defined
   30 
|     struct timespec ts;
      |                     ^~
common/framelimit.cppIn function ‘void Frame_Limiter(FrameLimitFlags):
common/framelimit.cpp:60:8error‘WaitTOF’ was not declared in this scope
   60 
|        WaitTOF();   WaitTOF();
      |        ^~~~~~~
common/framelimit.cpp:63:8error‘WaitTOF’ was not declared in this scope
   63 
|        WaitTOF();
      |        ^~~~~~~

Sinan - AmigaOS4 Beta-Tester
- AmigaOne X5000
- AmigaOne A1222
- Sam460ex
Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Home away from home
Home away from home


See User information
@SinanSam460

add this to your makefile

CXXFLAGS += -D__USE_INLINE__

(you can always use #undef it in places where its not needed, or useful.)

Typically, it configures script that enables or disable features, not sure about this game, maybe some hints in files as well, some
#IFDEF or #IFNDEF or #IF !defined() stuff.

You got like 80% buildt..

You might want move paths_posix.o / .cpp to last on the build order in the makefile, this why see the amount of trouble you’re in.


Edited by LiveForIt on 2022/7/5 0:20:36
Edited by LiveForIt on 2022/7/5 0:21:15
(NutsAboutAmiga)

Basilisk II for AmigaOS4
AmigaInputAnywhere
Excalibur
and other tools and apps.
Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Just popping in
Just popping in


See User information
@SinanSam460

Download the latest afxgroups clib2, and change
-mcrt=newlib
to
-mcrt=clib2

clib2 has way better posix support than newlib

Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Home away from home
Home away from home


See User information
@SinanSam460

struct passwd is defined here.

https://www.mkssoftware.com/docs/man5/struct_passwd.5.asp

Should point out none of this has anything to do with AmigaOS, we don’t have user logins, so you might as well fake it, create few dummy functions, to make compiler happy.

create header file you can include like pwd.h:

put this in this file..

struct passwd {
    
char *pw_name;
    
char *pw_passwd;
    
uid_t pw_uid;
    
gid_t pw_gid;
    
time_t pw_change;
    
char *pw_class;
    
char *pw_gecos;
    
char *pw_dir;
    
char *pw_shell;
    
time_t pw_expire;
}; 

extern long sysconfULONG id );

enum {
_SC_GETPW_R_SIZE_MAX=1001
};


create a .cpp file like dummy_pwd.cpp

long sysconfULONG id )
{
switch (
id)
{
  case 
_SC_GETPW_R_SIZE_MAX: return 100;
  default: 
     
printf("%s:%s:%d -- bad input value not supported\n",__FILE__,__FUNCTION__,__LINE__)
     return 
0;
}


as for this "std::snprintf" change to "snprintf".
snprintf exists but its not in the std namespace..

make sure this files are included.

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <stdbool.h>

(NutsAboutAmiga)

Basilisk II for AmigaOS4
AmigaInputAnywhere
Excalibur
and other tools and apps.
Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Not too shy to talk
Not too shy to talk


See User information
Nice, this should work quite much every OS4 machine?

Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Not too shy to talk
Not too shy to talk


See User information
@all

Thanks for the suggestions.. I have installed clib and made the changes to makefile as below. And I have cloned the Github repo from stratch.

I guess it is better to solve problems one by one. Please see the first error below (apologies if solution is offered before)

I have ported several SDL2 projects before and uploaded to OS4Depot.net, but this is a big project for me..I hope we can make it with community's support.

TARGET         vanillatd
TARGET2        
vanillara
AMIGADATE 
04-07-22
VERSION 
1.0R1
CXX        
ppc-amigaos-g++

CXXFLAGS     = -mcrt=clib2 -athread=native -std=gnu++11 -Wall -fcheck-new -fsigned-char -DNDEBUG  -D__USE_INLINE__ -D__BIG_ENDIAN__ -DMEGAMAPS -DENGLISH -D_BSD_SOURCE -DSDL2_BUILD -DOPENAL_BUILD -DTRUE_FALSE_DEFINED -D__AMIGA__ -DNOMINMAX -fpermissive -Wno-narrowing -D__AMIGAVER__=\"$(VERSION)\"  -D__AMIGADATE__=\"$(AMIGADATE)\"
CXXFLAGS    += -I/usr/local/amiga/ppc-amigaos/SDK/Local/newlib/include/SDL2 -I/usr/local/amiga/ppc-amigaos/SDK/Local/newlib/include/AL  -I/usr/local/amiga/ppc-amigaos/SDK/Local/include -I./common -I./
CXXLIBS        = -L/usr/local/amiga/ppc-amigaos/SDK/Local/lib -lopenal -lSDL2 -lm -lc -lpthread
STRIP 
ppc-amigaos-strip

OBJS_COMMON        
common/_diptabl.o common/alloc.o common/auduncmp.o common/b64pipe.o common/b64straw.o common/base64.o common/bfiofile.o common/blowfish.o common/blowpipe.o common/blwstraw.o common/buff.o common/buffer.o common/buffglbl.o common/ccfile.o common/cdfile.o common/cliprect.o common/combuf.o common/control.o common/crc.o common/crew.o common/cstraw.o common/connect.o common/debugstring.o common/delay.o common/dipthong.o common/drawbuff.o common/drawline.o common/drawmisc.o common/face.o common/fading.o common/field.o common/file.o common/filepcx.o common/fixed.o common/font.o common/gadget.o common/getshape.o common/graphicsviewport.o common/hsv.o common/iff.o common/ini.o common/int.o common/internet.o common/irandom.o common/keybuff.o common/keyframe.o common/lcw.o common/lcwpipe.o common/lcwstraw.o common/linear.o common/link.o common/load.o common/memrev.o common/misc.o common/mixfile.o common/mp.o common/newdel.o common/packet.o common/palette.o common/palettec.o common/paths.o common/pipe.o common/pk.o common/pkpipe.o common/pkstraw.o common/ramfile.o common/random.o common/rawfile.o common/readline.o common/rect.o common/rgb.o common/rndstraw.o common/settings.o common/sha.o common/shape.o common/shapipe.o common/shastraw.o common/soscodec.o common/stamp.o common/straw.o common/timer.o common/timerdwn.o common/tobuff.o common/toggle.o common/vector.o common/winasm.o common/windows.o common/winhide.o common/winstub.o common/wsa.o common/xordelta.o common/xpipe.o common/xstraw.o common/file_posix.o common/paths_posix.o common/framelimit.o common/gbuffer.o common/interpal.o common/ipxaddr.o common/tcpip.o common/tcpip_null.o common/unvqbuff.o common/vqaconfig.o common/vqadrawer.o common/vqaloader.o common/vqapalette.o common/vqatask.o common/vqaver.o  common/wwmouse.o common/soundio_openal.o common/vqaaudio_openal.o common/video_sdl.o

OBJS_TIBDAWN 
tiberiandawn/aadata.o \
    tiberiandawn
/abstract.o \
    tiberiandawn
/adata.o \
    tiberiandawn
/aircraft.o \
    tiberiandawn
/anim.o \
    tiberiandawn
/audio.o \
    tiberiandawn
/base.o \
    tiberiandawn
/bbdata.o \
    tiberiandawn
/bdata.o \
    tiberiandawn
/building.o \
    tiberiandawn
/bullet.o \
    tiberiandawn
/cargo.o \
    tiberiandawn
/ccini.o \
    tiberiandawn
/cdata.o \
    tiberiandawn
/cell.o \
    tiberiandawn
/checkbox.o \
    tiberiandawn
/cheklist.o \
    tiberiandawn
/colrlist.o \
    tiberiandawn
/combat.o \
    tiberiandawn
/confdlg.o \
    tiberiandawn
/conquer.o \
    tiberiandawn
/const.o \
    tiberiandawn
/coord.o \
    tiberiandawn
/credits.o \
    tiberiandawn
/debug.o \
    tiberiandawn
/dial8.o \
    tiberiandawn
/dialog.o \
    tiberiandawn
/display.o \
    tiberiandawn
/door.o \
    tiberiandawn
/drive.o \
    tiberiandawn
/drop.o \
    tiberiandawn
/edit.o \
    tiberiandawn
/ending.o \
    tiberiandawn
/event.o \
    tiberiandawn
/expand.o \
    tiberiandawn
/facing.o \
    tiberiandawn
/factory.o \
    tiberiandawn
/findpath.o \
    tiberiandawn
/flasher.o \
    tiberiandawn
/fly.o \
    tiberiandawn
/foot.o \
    tiberiandawn
/fuse.o \
    tiberiandawn
/gamedlg.o \
    tiberiandawn
/gauge.o \
    tiberiandawn
/globals.o \
    tiberiandawn
/goptions.o \
    tiberiandawn
/gscreen.o \
    tiberiandawn
/hdata.o \
    tiberiandawn
/heap.o \
    tiberiandawn
/help.o \
    tiberiandawn
/house.o \
    tiberiandawn
/iconset.o \
    tiberiandawn
/idata.o \
    tiberiandawn
/infantry.o \
    tiberiandawn
/init.o \
    tiberiandawn
/intro.o \
    tiberiandawn
/iomap.o \
    tiberiandawn
/ioobj.o \
    tiberiandawn
/ipx.o \
    tiberiandawn
/ipx95.o \
    tiberiandawn
/ipxconn.o \
    tiberiandawn
/ipxgconn.o \
    tiberiandawn
/ipxmgr.o \
    tiberiandawn
/jshell.o \
    tiberiandawn
/layer.o \
    tiberiandawn
/lib.o \
    tiberiandawn
/list.o \
    tiberiandawn
/loaddlg.o \
    tiberiandawn
/logic.o \
    tiberiandawn
/map.o \
    tiberiandawn
/mapeddlg.o \
    tiberiandawn
/mapedit.o \
    tiberiandawn
/mapedplc.o \
    tiberiandawn
/mapedsel.o \
    tiberiandawn
/mapedtm.o \
    tiberiandawn
/mapsel.o \
    tiberiandawn
/menus.o \
    tiberiandawn
/miscasm.o \
    tiberiandawn
/mission.o \
    tiberiandawn
/monoc.o \
    tiberiandawn
/mouse.o \
    tiberiandawn
/mplayer.o \
    tiberiandawn
/msgbox.o \
    tiberiandawn
/msglist.o \
    tiberiandawn
/netdlg.o \
    tiberiandawn
/noseqcon.o \
    tiberiandawn
/nulldlg.o \
    tiberiandawn
/object.o \
    tiberiandawn
/odata.o \
    tiberiandawn
/options.o \
    tiberiandawn
/overlay.o \
    tiberiandawn
/power.o \
    tiberiandawn
/profile.o \
    tiberiandawn
/queue.o \
    tiberiandawn
/radar.o \
    tiberiandawn
/radio.o \
    tiberiandawn
/reinf.o \
    tiberiandawn
/rules.o \
    tiberiandawn
/saveload.o \
    tiberiandawn
/scenario.o \
    tiberiandawn
/scenarioini.o \
    tiberiandawn
/score.o \
    tiberiandawn
/scroll.o \
    tiberiandawn
/sdata.o \
    tiberiandawn
/shapebtn.o \
    tiberiandawn
/sidebar.o \
    tiberiandawn
/slider.o \
    tiberiandawn
/smudge.o \
    tiberiandawn
/sounddlg.o \
    tiberiandawn
/special.o \
    tiberiandawn
/startup.o \
    tiberiandawn
/stats.o \
    tiberiandawn
/super.o \
    tiberiandawn
/tab.o \
    tiberiandawn
/tarcom.o \
    tiberiandawn
/target.o \
    tiberiandawn
/tdata.o \
    tiberiandawn
/team.o \
    tiberiandawn
/teamtype.o \
    tiberiandawn
/techno.o \
    tiberiandawn
/template.o \
    tiberiandawn
/terrain.o \
    tiberiandawn
/textbtn.o \
    tiberiandawn
/theme.o \
    tiberiandawn
/trigger.o \
    tiberiandawn
/turret.o \
    tiberiandawn
/txtlabel.o \
    tiberiandawn
/udata.o \
    tiberiandawn
/unit.o \
    tiberiandawn
/visudlg.o \
    tiberiandawn
/winstub.

OBJS_REDALERT 
\
    redalert
/aadata.o \
    redalert
/abstract.o \
    redalert
/adata.o \
    redalert
/aircraft.o \
    redalert
/anim.o \
    redalert
/audio.o \
    redalert
/bar.o \
    redalert
/base.o \
    redalert
/bbdata.o \
    redalert
/bdata.o \
    redalert
/bench.o \
    redalert
/bigcheck.o \
    redalert
/building.o \
    redalert
/bullet.o \
    redalert
/cargo.o \
    redalert
/carry.o \
    redalert
/ccini.o \
    redalert
/ccptr.o \
    redalert
/cdata.o \
    redalert
/cell.o \
    redalert
/checkbox.o \
    redalert
/cheklist.o \
    redalert
/colrlist.o \
    redalert
/combat.o \
    redalert
/confdlg.o \
    redalert
/conquer.o \
    redalert
/const.o \
    redalert
/coord.o \
    redalert
/crate.o \
    redalert
/credits.o \
    redalert
/debug.o \
    redalert
/dial8.o \
    redalert
/dialog.o \
    redalert
/dibfile.o \
    redalert
/dibutil.o \
    redalert
/display.o \
    redalert
/door.o \
    redalert
/drive.o \
    redalert
/drop.o \
    redalert
/edit.o \
    redalert
/egos.o \
    redalert
/ending.o \
    redalert
/event.o \
    redalert
/expand.o \
    redalert
/face.o \
    redalert
/facing.o \
    redalert
/factory.o \
    redalert
/findpath.o \
    redalert
/flasher.o \
    redalert
/fly.o \
    redalert
/foot.o \
    redalert
/fuse.o \
    redalert
/gamedlg.o \
    redalert
/gauge.o \
    redalert
/globals.o \
    redalert
/goptions.o \
    redalert
/gscreen.o \
    redalert
/hdata.o \
    redalert
/heap.o \
    redalert
/help.o \
    redalert
/house.o \
    redalert
/iconlist.o \
    redalert
/iconset.o \
    redalert
/idata.o \
    redalert
/infantry.o \
    redalert
/init.o \
    redalert
/intro.o \
    redalert
/iomap.o \
    redalert
/ioobj.o \
    redalert
/ipx.o \
    redalert
/ipx95.o \
    redalert
/ipxconn.o \
    redalert
/ipxgconn.o \
    redalert
/ipxmgr.o \
    redalert
/jshell.o \
    redalert
/layer.o \
    redalert
/list.o \
    redalert
/loaddlg.o \
    redalert
/logic.o \
    redalert
/map.o \
    redalert
/mapeddlg.o \
    redalert
/mapedit.o \
    redalert
/mapedplc.o \
    redalert
/mapedsel.o \
    redalert
/mapedtm.o \
    redalert
/mapsel.o \
    redalert
/menus.o \
    redalert
/miscasm.o \
    redalert
/mission.o \
    redalert
/monoc.o \
    redalert
/mouse.o \
    redalert
/mplayer.o \
    redalert
/msgbox.o \
    redalert
/msglist.o \
    redalert
/netdlg.o \
    redalert
/nulldlg.o \
    redalert
/object.o \
    redalert
/odata.o \
    redalert
/options.o \
    redalert
/overlay.o \
    redalert
/power.o \
    redalert
/profile.o \
    redalert
/queue.o \
    redalert
/radar.o \
    redalert
/radio.o \
    redalert
/rawolapi.o \
    redalert
/reinf.o \
    redalert
/rules.o \
    redalert
/saveload.o \
    redalert
/scenario.o \
    redalert
/score.o \
    redalert
/scroll.o \
    redalert
/sdata.o \
    redalert
/seditdlg.o \
    redalert
/sendfile.o \
    redalert
/session.o \
    redalert
/shapebtn.o \
    redalert
/sidebar.o \
    redalert
/slider.o \
    redalert
/smudge.o \
    redalert
/sounddlg.o \
    redalert
/special.o \
    redalert
/startup.o \
    redalert
/statbtn.o \
    redalert
/stats.o \
    redalert
/super.o \
    redalert
/tab.o \
    redalert
/taction.o \
    redalert
/target.o \
    redalert
/tdata.o \
    redalert
/team.o \
    redalert
/teamtype.o \
    redalert
/techno.o \
    redalert
/template.o \
    redalert
/terrain.o \
    redalert
/tevent.o \
    redalert
/textbtn.o \
    redalert
/theme.o \
    redalert
/tooltip.o \
    redalert
/tracker.o \
    redalert
/trigger.o \
    redalert
/trigtype.o \
    redalert
/txtlabel.o \
    redalert
/udata.o \
    redalert
/unit.o \
    redalert
/vdata.o \
    redalert
/version.o \
    redalert
/vessel.o \
    redalert
/visudlg.o \
    redalert
/vortex.o \
    redalert
/warhead.o \
    redalert
/weapon.o \
    redalert
/winstub.o \
    redalert
/wol_cgam.o \
    redalert
/wol_chat.o \
    redalert
/wol_dnld.o \
    redalert
/wol_gsup.o \
    redalert
/wol_logn.o \
    redalert
/wol_main.o \
    redalert
/wol_opt.o \
    redalert
/wolapiob.o \
    redalert
/woledit.o \
    redalert
/wolstrng.o

OBJS1 
= $(OBJS_COMMON) $(OBJS_TIBDAWN)
OBJS2 = $(OBJS_COMMON) $(OBJS_REDALERT)

all: $(TARGET)

$(
TARGET): $(OBJS1)
    $(
CXX) $(CXXFLAGS) -$@ $^ $(CXXLIBS)
    $(
STRIP) --strip-all $(TARGET) -$(TARGET).strip

$(TARGET2): $(OBJS2)
    $(
CXX) $(CXXFLAGS) -$@ $^ $(CXXLIBS)
    $(
STRIP) --strip-all $(TARGET2) -$(TARGET2).strip

clean
:
    
rm -$(OBJS_COMMON) $(OBJS_TIBDAWN)
    
rm -$(TARGET) $(TARGET).$(TARGET).strip
    rm 
-$(TARGET2) $(TARGET2).$(TARGET2).strip

dump
:
    
ppc-amigaos-objdump --disassemble-all --reloc $(TARGET) >$(TARGET).s


common/ccfile.cpp:300:42:   required from here
common
/mixfile.h:756:11error‘strupr’ was not declared in this scopedid you mean ‘strstr’?
  
756 |     strupr(filename_upper);
      |     ~~~~~~^~~~~~~~~~~~~~~~
      |     
strstr
common
/mixfile.h:757:45warning‘strupr’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  
757 |     int32_t crc Calculate_CRC<TCRC>(strupr(filename_upper), int(strlen(filename_upper)));
      |                                       ~~~~~~^~~~~~~~~~~~~~~~
make: *** [<builtin>: common/ccfile.oError 1

Sinan - AmigaOS4 Beta-Tester
- AmigaOne X5000
- AmigaOne A1222
- Sam460ex
Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Not too shy to talk
Not too shy to talk


See User information
It seems I can solve this error
by replacing strupr with toupper in sources codes..

Sinan - AmigaOS4 Beta-Tester
- AmigaOne X5000
- AmigaOne A1222
- Sam460ex
Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Not too shy to talk
Not too shy to talk


See User information
It seems I can solve this error
by replacing strupr with toupper in sources codes..

Sinan - AmigaOS4 Beta-Tester
- AmigaOne X5000
- AmigaOne A1222
- Sam460ex
Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Not too shy to talk
Not too shy to talk


See User information
@all

I noticed if I try to compile original fork at

https://github.com/TheAssemblyArmada/Vanilla-Conquer

I can compile all .o files,

However since I use -clib2, I can't link SDL2 and OPEENAL

Is there a way to do this ?

ppc-amigaos-g++ -mcrt=clib2 -athread=native -std=gnu++11 -Wall -fcheck-new -fsigned-char -DNDEBUG  -D__USE_INLINE__ -D__BIG_ENDIAN__ -DMEGAMAPS -DENGLISH -D_BSD_SOURCE -DSDL2_BUILD -DOPENAL_BUILD -DTRUE_FALSE_DEFINED -D__AMIGA__ -DNOMINMAX -fpermissive -Wno-narrowing -D__AMIGAVER__=\"1.0R1\"  -D__AMIGADATE__=\"04-07-22\" -I/usr/local/amiga/ppc-amigaos/SDK/Local/newlib/include/SDL2/ -I/usr/local/amiga/ppc-amigaos/SDK/Local/newlib/include/AL/  -I/usr/local/amiga/ppc-amigaos/SDK/Local/include -I./common -I./ -o vanillatd common/_diptabl.o common/alloc.o common/auduncmp.o common/b64pipe.o common/b64straw.o common/base64.o common/bfiofile.o common/blowfish.o common/blowpipe.o common/blwstraw.o common/buff.o common/buffer.o common/buffglbl.o common/ccfile.o common/cdfile.o common/cliprect.o common/combuf.o common/control.o common/crc.o common/crew.o common/cstraw.o common/connect.o common/debugstring.o common/delay.o common/dipthong.o common/drawbuff.o common/drawline.o common/drawmisc.o common/face.o common/fading.o common/field.o common/file.o common/filepcx.o common/fixed.o common/font.o common/gadget.o common/getshape.o common/graphicsviewport.o common/hsv.o common/iff.o common/ini.o common/int.o common/internet.o common/irandom.o common/keybuff.o common/keyframe.o common/lcw.o common/lcwpipe.o common/lcwstraw.o common/linear.o common/link.o common/load.o common/memrev.o common/misc.o common/mixfile.o common/mp.o common/newdel.o common/packet.o common/palette.o common/palettec.o common/paths.o common/pipe.o common/pk.o common/pkpipe.o common/pkstraw.o common/ramfile.o common/random.o common/rawfile.o common/readline.o common/rect.o common/rgb.o common/rndstraw.o common/settings.o common/sha.o common/shape.o common/shapipe.o common/shastraw.o common/soscodec.o common/stamp.o common/straw.o common/timer.o common/timerdwn.o common/tobuff.o common/toggle.o common/vector.o common/winasm.o common/windows.o common/winhide.o common/winstub.o common/wsa.o common/xordelta.o common/xpipe.o common/xstraw.o common/file_posix.o common/paths_posix.o common/framelimit.o common/gbuffer.o common/interpal.o common/ipxaddr.o common/unvqbuff.o common/vqaconfig.o common/vqadrawer.o common/vqaloader.o common/vqapalette.o common/vqatask.o common/vqaver.o common/wsproto.o common/wwkeyboard.o common/wwmouse.o common/soundio_openal.o common/vqaaudio_openal.o common/video_sdl2.o tiberiandawn/aadata.o tiberiandawn/abstract.o tiberiandawn/adata.o tiberiandawn/aircraft.o tiberiandawn/anim.o tiberiandawn/audio.o tiberiandawn/base.o tiberiandawn/bbdata.o tiberiandawn/bdata.o tiberiandawn/building.o tiberiandawn/bullet.o tiberiandawn/cargo.o tiberiandawn/ccini.o tiberiandawn/cdata.o tiberiandawn/cell.o tiberiandawn/checkbox.o tiberiandawn/cheklist.o tiberiandawn/colrlist.o tiberiandawn/combat.o tiberiandawn/confdlg.o tiberiandawn/conquer.o tiberiandawn/const.o tiberiandawn/coord.o tiberiandawn/credits.o tiberiandawn/debug.o tiberiandawn/dial8.o tiberiandawn/dialog.o tiberiandawn/display.o tiberiandawn/door.o tiberiandawn/drive.o tiberiandawn/drop.o tiberiandawn/edit.o tiberiandawn/ending.o tiberiandawn/event.o tiberiandawn/expand.o tiberiandawn/facing.o tiberiandawn/factory.o tiberiandawn/findpath.o tiberiandawn/flasher.o tiberiandawn/fly.o tiberiandawn/foot.o tiberiandawn/fuse.o tiberiandawn/gamedlg.o tiberiandawn/gauge.o tiberiandawn/globals.o tiberiandawn/goptions.o tiberiandawn/gscreen.o tiberiandawn/hdata.o tiberiandawn/heap.o tiberiandawn/help.o tiberiandawn/house.o tiberiandawn/iconset.o tiberiandawn/idata.o tiberiandawn/infantry.o tiberiandawn/init.o tiberiandawn/intro.o tiberiandawn/iomap.o tiberiandawn/ioobj.o tiberiandawn/ipxconn.o tiberiandawn/ipxgconn.o tiberiandawn/ipxmgr.o tiberiandawn/jshell.o tiberiandawn/layer.o tiberiandawn/lib.o tiberiandawn/list.o tiberiandawn/loaddlg.o tiberiandawn/logic.o tiberiandawn/map.o tiberiandawn/mapeddlg.o tiberiandawn/mapedit.o tiberiandawn/mapedplc.o tiberiandawn/mapedsel.o tiberiandawn/mapedtm.o tiberiandawn/mapsel.o tiberiandawn/menus.o tiberiandawn/miscasm.o tiberiandawn/mission.o tiberiandawn/monoc.o tiberiandawn/mouse.o tiberiandawn/mplayer.o tiberiandawn/msgbox.o tiberiandawn/msglist.o tiberiandawn/nulldlg.o tiberiandawn/object.o tiberiandawn/odata.o tiberiandawn/options.o tiberiandawn/overlay.o tiberiandawn/power.o tiberiandawn/profile.o tiberiandawn/queue.o tiberiandawn/radar.o tiberiandawn/radio.o tiberiandawn/reinf.o tiberiandawn/rules.o tiberiandawn/saveload.o tiberiandawn/scenario.o tiberiandawn/scenarioini.o tiberiandawn/score.o tiberiandawn/scroll.o tiberiandawn/sdata.o tiberiandawn/shapebtn.o tiberiandawn/sidebar.o tiberiandawn/slider.o tiberiandawn/smudge.o tiberiandawn/sounddlg.o tiberiandawn/special.o tiberiandawn/startup.o tiberiandawn/stats.o tiberiandawn/super.o tiberiandawn/tab.o tiberiandawn/tarcom.o tiberiandawn/target.o tiberiandawn/tdata.o tiberiandawn/team.o tiberiandawn/teamtype.o tiberiandawn/techno.o tiberiandawn/template.o tiberiandawn/terrain.o tiberiandawn/textbtn.o tiberiandawn/theme.o tiberiandawn/trigger.o tiberiandawn/turret.o tiberiandawn/txtlabel.o tiberiandawn/udata.o tiberiandawn/unit.o tiberiandawn/visudlg.o tiberiandawn/winstub.-o vanillatd -L/usr/local/amiga/ppc-amigaos/SDK/Local/newlib/lib/libopenal.-L/usr/local/amiga/ppc-amigaos/SDK/Local/newlib/lib/libSDL2.-lm -lc -lpthread -lz
common
/vqaver.oIn function `_Z18VQA_DateTimeStringv':
vqaver.cpp:(.text+0x7e): undefined reference to 
`GitCommitDate'
vqaver.cpp:(.text+0x82): undefined reference to `GitCommitDate'
common/vqaver.oIn function `_Z12VQA_IDStringv':
vqaver.cpp:(.text+0xf2): undefined reference to 
`GitCommitDate'
vqaver.cpp:(.text+0xf6): undefined reference to `GitCommitDate'
common/wwkeyboard.oIn function `_ZN15WWKeyboardClass8To_ASCIIEt':
wwkeyboard.cpp:(.text+0x644): undefined reference to 
`SDL_GetModState'
common/wwkeyboard.o: In function `_ZN15WWKeyboardClass23Fill_Buffer_From_SystemEv'
:
wwkeyboard.cpp:(.text+0xddc): undefined reference to `SDL_GameControllerFromInstanceID'
wwkeyboard.cpp:(.text+0xe08): undefined reference to 
`SDL_GameControllerClose'
wwkeyboard.cpp:(.text+0xe34): undefined reference to `SDL_GameControllerOpen'
wwkeyboard.cpp:(.text+0xe94): undefined reference to `SDL_PollEvent'
common/wwkeyboard.o: In function 
`_ZN15WWKeyboardClass15Open_ControllerEv':
wwkeyboard.cpp:(.text+0xf50): undefined reference to `SDL_IsGameController'
wwkeyboard.cpp:(.text+0xf70): undefined reference to `SDL_GameControllerOpen'
wwkeyboard.cpp:(.text+0xf8c): undefined reference to 
`SDL_NumJoysticks'
common/wwkeyboard.o: In function `_ZN15WWKeyboardClass16Close_ControllerEv'
:
wwkeyboard.cpp:(.text+0xffc): undefined reference to `SDL_GameControllerGetAttached'
wwkeyboard.cpp:(.text+0x1024): undefined reference to 
`SDL_GameControllerClose'
common/wwkeyboard.o: In function `_ZN15WWKeyboardClass30Process_Controller_Axis_MotionEv'
:
wwkeyboard.cpp:(.text+0x1068): undefined reference to `SDL_GetTicks'
common/soundio_openal.o: In function 
`_Z20Maintenance_Callbackv':
soundio_openal.cpp:(.text+0x1580): undefined reference to `alGetSourcei'
soundio_openal.cpp:(.text+0x1618): undefined reference to `alSourceUnqueueBuffers'
soundio_openal.cpp:(.text+0x1648): undefined reference to 
`alBufferData'
soundio_openal.cpp:(.text+0x1664): undefined reference to `alSourceQueueBuffers'
soundio_openal.cpp:(.text+0x16ac): undefined reference to `alGetSourcei'
soundio_openal.cpp:(.text+0x1900): undefined reference to 
`alSourcef'
soundio_openal.cpp:(.text+0x1964): undefined reference to `alSourcef'
common/soundio_openal.oIn function `_Z10Audio_Initibib':
soundio_openal.cpp:(.text+0x1d58): undefined reference to 
`alcOpenDevice'
soundio_openal.cpp:(.text+0x1d80): undefined reference to `alcCreateContext'
soundio_openal.cpp:(.text+0x1dac): undefined reference to `alcMakeContextCurrent'
soundio_openal.cpp:(.text+0x1dd4): undefined reference to 
`alcCloseDevice'
soundio_openal.cpp:(.text+0x1e60): undefined reference to `alGetError'
soundio_openal.cpp:(.text+0x1e9c): undefined reference to `alGenSources'
soundio_openal.cpp:(.text+0x1ea0): undefined reference to 
`alGetError'
common/soundio_openal.o: In function `_Z9Sound_Endv'
:
soundio_openal.cpp:(.text+0x1fc0): undefined reference to `alDeleteSources'
soundio_openal.cpp:(.text+0x2014): undefined reference to 
`alcGetContextsDevice'
soundio_openal.cpp:(.text+0x2024): undefined reference to `alcMakeContextCurrent'
soundio_openal.cpp:(.text+0x2034): undefined reference to `alcDestroyContext'
soundio_openal.cpp:(.text+0x203c): undefined reference to 
`alcCloseDevice'
common/soundio_openal.o: In function `_Z11Stop_Samplei'
:
soundio_openal.cpp:(.text+0x21b0): undefined reference to `alSourceStop'
soundio_openal.cpp:(.text+0x21cc): undefined reference to 
`alGetSourcei'
soundio_openal.cpp:(.text+0x21ec): undefined reference to `alSourceUnqueueBuffers'
soundio_openal.cpp:(.text+0x2228): undefined reference to `alDeleteBuffers'
common/soundio_openal.o: In function 
`_Z13Sample_Statusi':
soundio_openal.cpp:(.text+0x2370): undefined reference to `alGetSourcei'
common/soundio_openal.oIn function `_Z22Attempt_To_Play_Bufferi':
soundio_openal.cpp:(.text+0x25e4): undefined reference to 
`alSourcePlay'
common/soundio_openal.o: In function `_Z18Play_Sample_HandlePKviisi'
:
soundio_openal.cpp:(.text+0x297c): undefined reference to `alGetSourcei'
soundio_openal.cpp:(.text+0x29c4): undefined reference to 
`alSourceStop'
soundio_openal.cpp:(.text+0x29e0): undefined reference to `alGetSourcei'
soundio_openal.cpp:(.text+0x2a00): undefined reference to `alSourceUnqueueBuffers'
soundio_openal.cpp:(.text+0x2a3c): undefined reference to 
`alDeleteBuffers'
soundio_openal.cpp:(.text+0x2a50): undefined reference to `alGenBuffers'
soundio_openal.cpp:(.text+0x2b0c): undefined reference to `alBufferData'
soundio_openal.cpp:(.text+0x2b7c): undefined reference to 
`alSourceQueueBuffers'
soundio_openal.cpp:(.text+0x2bf4): undefined reference to `alSourcef'
common/soundio_openal.oIn function `_Z13Set_Score_Voli':
soundio_openal.cpp:(.text+0x2d74): undefined reference to 
`alSourcef'
common/soundio_openal.o: In function `_Z26Start_Primary_Sound_Bufferb'
:
soundio_openal.cpp:(.text+0x3288): undefined reference to `alcProcessContext'
common/soundio_openal.o: In function 
`_Z25Stop_Primary_Sound_Bufferv':
soundio_openal.cpp:(.text+0x3308): undefined reference to `alcSuspendContext'
common/vqaaudio_openal.oIn function `_Z11Queue_Audioj':
vqaaudio_openal.cpp:(.text+0x1c4): undefined reference to 
`alIsSource'
vqaaudio_openal.cpp:(.text+0x24c): undefined reference to `alBufferData'
vqaaudio_openal.cpp:(.text+0x268): undefined reference to `alSourceQueueBuffers'
common/vqaaudio_openal.o: In function 
`_Z17VQA_AudioCallbackv':
vqaaudio_openal.cpp:(.text+0x498): undefined reference to `alIsSource'
vqaaudio_openal.cpp:(.text+0x4cc): undefined reference to `alGetSourcei'
vqaaudio_openal.cpp:(.text+0x4f4): undefined reference to 
`alSourceUnqueueBuffers'
common/vqaaudio_openal.o: In function `_Z14VQA_StartAudioP10_VQAHandle'
:
vqaaudio_openal.cpp:(.text+0x8c0): undefined reference to `alIsSource'
vqaaudio_openal.cpp:(.text+0x8fc): undefined reference to 
`alGetSourcei'
vqaaudio_openal.cpp:(.text+0x90c): undefined reference to `alSourceStop'
vqaaudio_openal.cpp:(.text+0x92c): undefined reference to `alSourceUnqueueBuffers'
vqaaudio_openal.cpp:(.text+0x958): undefined reference to 
`alDeleteSources'
vqaaudio_openal.cpp:(.text+0x96c): undefined reference to `alDeleteBuffers'
vqaaudio_openal.cpp:(.text+0x980): undefined reference to `alGenBuffers'
vqaaudio_openal.cpp:(.text+0x994): undefined reference to 
`alGenSources'
vqaaudio_openal.cpp:(.text+0xa5c): undefined reference to `alSourcef'
vqaaudio_openal.cpp:(.text+0xa6c): undefined reference to `alSourcePlay'
common/vqaaudio_openal.o: In function 
`_Z13VQA_StopAudioP10_VQAHandle':
vqaaudio_openal.cpp:(.text+0xb14): undefined reference to `alIsSource'
vqaaudio_openal.cpp:(.text+0xb58): undefined reference to `alGetSourcei'
vqaaudio_openal.cpp:(.text+0xb68): undefined reference to 
`alSourceStop'
vqaaudio_openal.cpp:(.text+0xb88): undefined reference to `alSourceUnqueueBuffers'
vqaaudio_openal.cpp:(.text+0xbb4): undefined reference to `alDeleteSources'
vqaaudio_openal.cpp:(.text+0xbc8): undefined reference to 
`alDeleteBuffers'
common/vqaaudio_openal.o: In function `_Z14VQA_PauseAudiov'
:
vqaaudio_openal.cpp:(.text+0xc6c): undefined reference to `alIsSource'
vqaaudio_openal.cpp:(.text+0xcb0): undefined reference to 
`alSourcePause'
common/vqaaudio_openal.o: In function `_Z15VQA_ResumeAudiov'
:
vqaaudio_openal.cpp:(.text+0xd3c): undefined reference to `alIsSource'
vqaaudio_openal.cpp:(.text+0xd80): undefined reference to 
`alSourcePlay'
common/video_sdl2.o: In function `_ZL24Update_HWCursor_Settingsv'
:
video_sdl2.cpp:(.text+0xc34): undefined reference to `SDL_GetRendererOutputSize'
common/video_sdl2.o: In function 
`_Z14Set_Video_Modeiii':
video_sdl2.cpp:(.text+0x11a4): undefined reference to `SDL_Init'
video_sdl2.cpp:(.text+0x11ac): undefined reference to `SDL_ShowCursor'
video_sdl2.cpp:(.text+0x1334): undefined reference to 
`SDL_CreateWindow'
video_sdl2.cpp:(.text+0x136c): undefined reference to `SDL_GetWindowPixelFormat'
video_sdl2.cpp:(.text+0x13d0): undefined reference to `SDL_GetRenderDriverInfo'
video_sdl2.cpp:(.text+0x142c): undefined reference to 
`SDL_GetNumRenderDrivers'
video_sdl2.cpp:(.text+0x146c): undefined reference to `SDL_CreateRenderer'
video_sdl2.cpp:(.text+0x14ac): undefined reference to `SDL_GetRendererInfo'
video_sdl2.cpp:(.text+0x15b0): undefined reference to 
`SDL_SetHintWithPriority'
video_sdl2.cpp:(.text+0x15c8): undefined reference to `SDL_AllocPalette'
video_sdl2.cpp:(.text+0x168c): undefined reference to `SDL_Init'
common/video_sdl2.o: In function 
`_Z23Toggle_Video_Fullscreenv':
video_sdl2.cpp:(.text+0x1748): undefined reference to `SDL_SetWindowFullscreen'
video_sdl2.cpp:(.text+0x177c): undefined reference to `SDL_SetWindowSize'
video_sdl2.cpp:(.text+0x1790): undefined reference to 
`SDL_SetWindowFullscreen'
video_sdl2.cpp:(.text+0x17a8): undefined reference to `SDL_SetWindowFullscreen'
video_sdl2.cpp:(.text+0x17d8): undefined reference to `SDL_SetWindowSize'
common/video_sdl2.o: In function 
`_Z21Set_Video_Cursor_Clipb':
video_sdl2.cpp:(.text+0x18cc): undefined reference to `SDL_SetWindowGrab'
video_sdl2.cpp:(.text+0x191c): undefined reference to `SDL_SetRelativeMouseMode'
video_sdl2.cpp:(.text+0x1960): undefined reference to 
`SDL_GetMouseState'
video_sdl2.cpp:(.text+0x1a54): undefined reference to `SDL_WarpMouseInWindow'
video_sdl2.cpp:(.text+0x1a6c): undefined reference to `SDL_SetWindowGrab'
video_sdl2.cpp:(.text+0x1a94): undefined reference to 
`SDL_SetRelativeMouseMode'
common/video_sdl2.o: In function `_Z15Get_Video_MouseRiS_'
:
video_sdl2.cpp:(.text+0x1e9c): undefined reference to `SDL_GetMouseState'
common/video_sdl2.o: In function 
`_Z16Reset_Video_Modev':
video_sdl2.cpp:(.text+0x1f84): undefined reference to `SDL_FreeCursor'
video_sdl2.cpp:(.text+0x1fbc): undefined reference to `SDL_FreeCursor'
video_sdl2.cpp:(.text+0x1ff4): undefined reference to 
`SDL_FreeSurface'
video_sdl2.cpp:(.text+0x2014): undefined reference to `SDL_DestroyRenderer'
video_sdl2.cpp:(.text+0x2030): undefined reference to `SDL_FreePalette'
video_sdl2.cpp:(.text+0x204c): undefined reference to 
`SDL_DestroyWindow'
common/video_sdl2.o: In function `_ZL15Update_HWCursorv'
:
video_sdl2.cpp:(.text+0x21f8): undefined reference to `SDL_FreeSurface'
video_sdl2.cpp:(.text+0x2228): undefined reference to 
`SDL_CreateRGBSurfaceWithFormat'
video_sdl2.cpp:(.text+0x2288): undefined reference to `SDL_CreateRGBSurfaceFrom'
video_sdl2.cpp:(.text+0x22b8): undefined reference to `SDL_SetSurfacePalette'
video_sdl2.cpp:(.text+0x22d4): undefined reference to 
`SDL_SetColorKey'
video_sdl2.cpp:(.text+0x2460): undefined reference to `SDL_FreeCursor'
video_sdl2.cpp:(.text+0x2514): undefined reference to `SDL_CreateColorCursor'
common/video_sdl2.o: In function 
`_Z14Set_DD_PalettePv':
video_sdl2.cpp:(.text+0x2774): undefined reference to `SDL_SetPaletteColors'
common/video_sdl2.oIn function `_ZN16VideoSurfaceSDL2C2Eii8GBC_Enum':
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL2C2Eii8GBC_Enum[_ZN16VideoSurfaceSDL2C5Eii8GBC_Enum]+0x164): undefined reference to 
`SDL_CreateRGBSurface'
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL2C2Eii8GBC_Enum[_ZN16VideoSurfaceSDL2C5Eii8GBC_Enum]+0x18c): undefined reference to `SDL_SetSurfacePalette'
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL2C2Eii8GBC_Enum[_ZN16VideoSurfaceSDL2C5Eii8GBC_Enum]+0x1cc): undefined reference to `SDL_CreateRGBSurfaceWithFormat'
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL2C2Eii8GBC_Enum[_ZN16VideoSurfaceSDL2C5Eii8GBC_Enum]+0x208): undefined reference to 
`SDL_CreateTexture'
common/video_sdl2.o: In function `_ZN16VideoSurfaceSDL2D2Ev'
:
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL2D2Ev[_ZN16VideoSurfaceSDL2D5Ev]+0x80): undefined reference to `SDL_FreeSurface'
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL2D2Ev[_ZN16VideoSurfaceSDL2D5Ev]+0xa0): undefined reference to 
`SDL_DestroyTexture'
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL2D2Ev[_ZN16VideoSurfaceSDL2D5Ev]+0xc8): undefined reference to `SDL_FreeSurface'
common/video_sdl2.oIn function `_ZN16VideoSurfaceSDL28LockWaitEv':
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL28LockWaitEv[_ZN16VideoSurfaceSDL28LockWaitEv]+0x24): undefined reference to 
`SDL_LockSurface'
common/video_sdl2.o: In function `_ZN16VideoSurfaceSDL26UnlockEv'
:
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL26UnlockEv[_ZN16VideoSurfaceSDL26UnlockEv]+0x24): undefined reference to `SDL_UnlockSurface'
common/video_sdl2.o: In function 
`_ZN16VideoSurfaceSDL23BltERK4RectP12VideoSurfaceS2_b':
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL23BltERK4RectP12VideoSurfaceS2_b[_ZN16VideoSurfaceSDL23BltERK4RectP12VideoSurfaceS2_b]+0x4c): undefined reference to `SDL_UpperBlit'
common/video_sdl2.oIn function `_ZN16VideoSurfaceSDL28FillRectERK4Recth':
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL28FillRectERK4Recth[_ZN16VideoSurfaceSDL28FillRectERK4Recth]+0x3c): undefined reference to 
`SDL_FillRect'
common/video_sdl2.o: In function `_ZN16VideoSurfaceSDL213RenderSurfaceEv'
:
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL213RenderSurfaceEv[_ZN16VideoSurfaceSDL213RenderSurfaceEv]+0x38): undefined reference to `SDL_UpperBlit'
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL213RenderSurfaceEv[_ZN16VideoSurfaceSDL213RenderSurfaceEv]+0x74): undefined reference to 
`SDL_SetCursor'
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL213RenderSurfaceEv[_ZN16VideoSurfaceSDL213RenderSurfaceEv]+0x9c): undefined reference to `SDL_FreeCursor'
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL213RenderSurfaceEv[_ZN16VideoSurfaceSDL213RenderSurfaceEv]+0xe0): undefined reference to `SDL_ShowCursor'
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL213RenderSurfaceEv[_ZN16VideoSurfaceSDL213RenderSurfaceEv]+0x1b4): undefined reference to 
`SDL_UpperBlit'
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL213RenderSurfaceEv[_ZN16VideoSurfaceSDL213RenderSurfaceEv]+0x1e8): undefined reference to `SDL_UpdateTexture'
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL213RenderSurfaceEv[_ZN16VideoSurfaceSDL213RenderSurfaceEv]+0x1f8): undefined reference to `SDL_RenderClear'
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL213RenderSurfaceEv[_ZN16VideoSurfaceSDL213RenderSurfaceEv]+0x220): undefined reference to 
`SDL_RenderCopy'
video_sdl2.cpp:(.text._ZN16VideoSurfaceSDL213RenderSurfaceEv[_ZN16VideoSurfaceSDL213RenderSurfaceEv]+0x230): undefined reference to `SDL_RenderPresent'
tiberiandawn/init.oIn function `_Z14Version_Numberv':
init.cpp:(.text+0x44ba): undefined reference to 
`GitTag'
init.cpp:(.text+0x44be): undefined reference to `GitTag'
init.cpp:(.text+0x44d2): undefined reference to `GitUncommittedChanges'
init.cpp:(.text+0x44d6): undefined reference to 
`GitUncommittedChanges'
init.cpp:(.text+0x44e2): undefined reference to `GitTag'
init.cpp:(.text+0x44e6): undefined reference to `GitTag'
init.cpp:(.text+0x44fa): undefined reference to 
`GitRevision'
init.cpp:(.text+0x44fe): undefined reference to `GitRevision'
init.cpp:(.text+0x4502): undefined reference to `GitUncommittedChanges'
init.cpp:(.text+0x4506): undefined reference to 
`GitUncommittedChanges'
init.cpp:(.text+0x4526): undefined reference to `GitShortSHA1'
init.cpp:(.text+0x452a): undefined reference to `GitShortSHA1'
init.cpp:(.text+0x4556): undefined reference to 
`GitUncommittedChanges'
init.cpp:(.text+0x455a): undefined reference to `GitUncommittedChanges'
init.cpp:(.text+0x457a): undefined reference to `GitShortSHA1'
init.cpp:(.text+0x457e): undefined reference to 
`GitShortSHA1'
init.cpp:(.text+0x4586): undefined reference to `GitTag'
init.cpp:(.text+0x458a): undefined reference to `GitTag'
tiberiandawn/ipxmgr.o: In function 
`_ZN15IPXManagerClass7ServiceEv':
ipxmgr.cpp:(.text+0x19f2): undefined reference to `Winsock'
ipxmgr.cpp:(.text+0x19f6): undefined reference to `Winsock'
ipxmgr.cpp:(.text+0x1a0a): undefined reference to 
`Winsock'
ipxmgr.cpp:(.text+0x1a0e): undefined reference to `Winsock'
ipxmgr.cpp:(.text+0x1c32): undefined reference to `Winsock'
tiberiandawn/ipxmgr.o:ipxmgr.cpp:(.text+0x1c36): more undefined references to 
`Winsock' follow
collect2: error: ld returned 1 exit status
make: *** [makefile.os4:315: vanillatd] Error 1

Sinan - AmigaOS4 Beta-Tester
- AmigaOne X5000
- AmigaOne A1222
- Sam460ex
Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Quite a regular
Quite a regular


See User information
Did you try moving the sdl2 link library before its dependencies? At least when I did these the linker never figured it out on its own.

Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Quite a regular
Quite a regular


See User information
Hi, I don't get why you are using
-L/usr/local/amiga/ppc-amigaos/SDK/Local/newlib/lib/libopenal.a


Shouldn't this instead be
-L/usr/local/amiga/ppc-amigaos/SDK/Local/newlib/lib/ -lopenal


I think that .a files are taken in preference too, so you don't need
-static

But I like to have that too if I can.

I would have also expected
-L/usr/local/amiga/ppc-amigaos/SDK/Local/newlib/lib/libSDL2.a

To be
-L/usr/local/amiga/ppc-amigaos/SDK/Local/newlib/lib/ -lsdl2


I may very well be missing something here!

Both those sdl2 and openal are statically built, so it should not be a problem that they were compiled with newlib...?

If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Home away from home
Home away from home


See User information
-L newlib shouldn't be used too. Things should be point out on clib2 ones directly

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Not too shy to talk
Not too shy to talk


See User information
@kas1e

But where are the clib2 version of SDL2 SDK ?

Sinan - AmigaOS4 Beta-Tester
- AmigaOne X5000
- AmigaOne A1222
- Sam460ex
Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Just popping in
Just popping in


See User information
You can solve your Git undefined reference
to add gitinfo.cpp

https://github.com/TheAssemblyArmada/V ... lla/common/gitinfo.cpp.in

// TiberianDawn.DLL and RedAlert.dll and corresponding source code is free
// software: you can redistribute it and/or modify it under the terms of
// the GNU General Public License as published by the Free Software Foundation,
// either version 3 of the License, or (at your option) any later version.

// TiberianDawn.DLL and RedAlert.dll and corresponding source code is distributed
// in the hope that it will be useful, but with permitted additional restrictions
// under Section 7 of the GPL. See the GNU General Public License in LICENSE.TXT
// distributed with this program. You should have received a copy of the
// GNU General Public License along with permitted additional restrictions
// with this program. If not, see https://github.com/electronicarts/CnC_Remastered_Collection
#include "gitinfo.h"

const char GitSHA1[] = "";
const 
char GitShortSHA1[] = "";
const 
char GitCommitDate[] = "";
const 
char GitCommitAuthorName[] = "";
const 
char GitTag[] = "";
time_t GitCommitTimeStamp 0;
bool GitUncommittedChanges false;
bool GitHaveInfo false;
int GitRevision 0;

Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Home away from home
Home away from home


See User information
@SinanSam460
Quote:

But where are the clib2 version of SDL2 SDK ?


You need to compile clib2 version of SDL2 yourself. Just be sure you installed latest afxgroup's clib2 , then download SDL2 from this place:
https://github.com/AmigaPorts/SDL-2.0/commits/main

Then add to Makefile.amigaos4 to CFLAGS add -mcrt=clib2, and "make -f Makefile.amigaos4" to compile it.

Once done, copy clib2 version of libSDL2.a to SDK/local/clib2/lib/

Same do for OpenAL : download it from Salas00's repo:
https://github.com/salass00/openal_lib

Then in openal-soft-1.20.1/makefile.amigaos4 add -mcrt=clib2, compile, and copy the same to SDK/local/clib2/lib ready libopenall.a

Then on linking stage of C&C be 100% sure you linked against those 2 ones, and not to the other ones.

There can be then some undefined references, because if may needs other clib2 libs which sdl2/openl use, like some mixer/image libs, but they on os4depot, and most of them already have clib2 versions.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Not too shy to talk
Not too shy to talk


See User information
@kas1e

Thanks I compiled both for clib2 :)

Sinan - AmigaOS4 Beta-Tester
- AmigaOne X5000
- AmigaOne A1222
- Sam460ex
Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Quite a regular
Quite a regular


See User information
@kas1e

Just for my own education. Why does it matter to use the clib2 versions if openal and sdl2 were statically made? Would this not work otherwise? Of course, a mess to be using two different c impls. Guess you could get conflicting definitions for the same c symbols if pulling in newlib too!


Edited by rjd324 on 2022/7/7 12:57:12
If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top
Re: Project : Compiling Vanilla-Conquer (C&C) for AmigaOS4 - Help needed
Not too shy to talk
Not too shy to talk


See User information
@all @beworld

Thanks for all your help..

A few minutes I was able to compile vanillatd executable for AmigaOS4.

I made no changes to any source code at @https://github.com/TheAssemblyArmada/Vanilla-Conquer

I just removed some .o files related to Winsock e.t.c,
I guess these sources have Big Endian problems solved ?

This the current makefile at the moment ? Does anyone see potential errors ?

TARGET         vanillatd
TARGET2        
vanillara
AMIGADATE 
04-07-22
VERSION 
1.0R1
CXX        
ppc-amigaos-g++

CXXFLAGS     = -mcrt=clib2 -athread=native -std=gnu++11 -Wall -fcheck-new -fsigned-char -DNDEBUG  -D__USE_INLINE__ -D__BIG_ENDIAN__ -DMEGAMAPS -DENGLISH -D_BSD_SOURCE -DSDL2_BUILD -DOPENAL_BUILD -DTRUE_FALSE_DEFINED -D__AMIGA__ -DNOMINMAX -fpermissive -Wno-narrowing -D__AMIGAVER__=\"$(VERSION)\"  -D__AMIGADATE__=\"$(AMIGADATE)\"
CXXFLAGS    += -I/usr/local/amiga/ppc-amigaos/SDK/Local/newlib/include/SDL2/ -I/usr/local/amiga/ppc-amigaos/SDK/Local/newlib/include/AL/  -I/usr/local/amiga/ppc-amigaos/SDK/Local/include -I./common -I./
CXXLIBS        = -L/usr/local/amiga/ppc-amigaos/SDK/Local/clib2/lib/ -lopenal -L/usr/local/amiga/ppc-amigaos/SDK/Local/clib2/lib/ -lSDL2 -lm -lc -lpthread 
STRIP 
ppc-amigaos-strip


OBJS_COMMON        
common/gitinfo.o common/_diptabl.o common/alloc.o common/auduncmp.o common/b64pipe.o common/b64straw.o common/base64.o common/bfiofile.o common/blowfish.o common/blowpipe.o common/blwstraw.o common/buff.o common/buffer.o common/buffglbl.o common/ccfile.o common/cdfile.o common/cliprect.o common/combuf.o common/control.o common/crc.o common/crew.o common/cstraw.o common/connect.o common/debugstring.o common/delay.o common/dipthong.o common/drawbuff.o common/drawline.o common/drawmisc.o common/face.o common/fading.o common/field.o common/file.o common/filepcx.o common/fixed.o common/font.o common/gadget.o common/getshape.o common/graphicsviewport.o common/hsv.o common/iff.o common/ini.o common/int.o common/internet.o common/irandom.o common/keybuff.o common/keyframe.o common/lcw.o common/lcwpipe.o common/lcwstraw.o common/linear.o common/link.o common/load.o common/memrev.o common/misc.o common/mixfile.o common/mp.o common/newdel.o common/packet.o common/palette.o common/palettec.o common/paths.o common/pipe.o common/pk.o common/pkpipe.o common/pkstraw.o common/ramfile.o common/random.o common/rawfile.o common/readline.o common/rect.o common/rgb.o common/rndstraw.o common/settings.o common/sha.o common/shape.o common/shapipe.o common/shastraw.o common/soscodec.o common/stamp.o common/straw.o common/timer.o common/timerdwn.o common/tobuff.o common/toggle.o common/vector.o common/winasm.o common/windows.o common/winhide.o common/winstub.o common/wsa.o common/xordelta.o common/xpipe.o common/xstraw.o common/file_posix.o common/paths_posix.o common/framelimit.o common/gbuffer.o common/interpal.o common/ipxaddr.o common/unvqbuff.o common/vqaconfig.o common/vqadrawer.o common/vqaloader.o common/vqapalette.o common/vqatask.o common/vqaver.o common/wsproto.o common/wwkeyboard.o common/wwmouse.o common/soundio_openal.o common/vqaaudio_openal.o common/video_sdl2.o

OBJS_TIBDAWN 
tiberiandawn/aadata.o \
    tiberiandawn
/abstract.o \
    tiberiandawn
/adata.o \
    tiberiandawn
/aircraft.o \
    tiberiandawn
/anim.o \
    tiberiandawn
/audio.o \
    tiberiandawn
/base.o \
    tiberiandawn
/bbdata.o \
    tiberiandawn
/bdata.o \
    tiberiandawn
/building.o \
    tiberiandawn
/bullet.o \
    tiberiandawn
/cargo.o \
    tiberiandawn
/ccini.o \
    tiberiandawn
/cdata.o \
    tiberiandawn
/cell.o \
    tiberiandawn
/checkbox.o \
    tiberiandawn
/cheklist.o \
    tiberiandawn
/colrlist.o \
    tiberiandawn
/combat.o \
    tiberiandawn
/confdlg.o \
    tiberiandawn
/conquer.o \
    tiberiandawn
/const.o \
    tiberiandawn
/coord.o \
    tiberiandawn
/credits.o \
    tiberiandawn
/debug.o \
    tiberiandawn
/dial8.o \
    tiberiandawn
/dialog.o \
    tiberiandawn
/display.o \
    tiberiandawn
/door.o \
    tiberiandawn
/drive.o \
    tiberiandawn
/drop.o \
    tiberiandawn
/edit.o \
    tiberiandawn
/ending.o \
    tiberiandawn
/event.o \
    tiberiandawn
/expand.o \
    tiberiandawn
/facing.o \
    tiberiandawn
/factory.o \
    tiberiandawn
/findpath.o \
    tiberiandawn
/flasher.o \
    tiberiandawn
/fly.o \
    tiberiandawn
/foot.o \
    tiberiandawn
/fuse.o \
    tiberiandawn
/gamedlg.o \
    tiberiandawn
/gauge.o \
    tiberiandawn
/globals.o \
    tiberiandawn
/goptions.o \
    tiberiandawn
/gscreen.o \
    tiberiandawn
/hdata.o \
    tiberiandawn
/heap.o \
    tiberiandawn
/help.o \
    tiberiandawn
/house.o \
    tiberiandawn
/iconset.o \
    tiberiandawn
/idata.o \
    tiberiandawn
/infantry.o \
    tiberiandawn
/init.o \
    tiberiandawn
/intro.o \
    tiberiandawn
/iomap.o \
    tiberiandawn
/ioobj.o \
     tiberiandawn
/ipxconn.o \
    tiberiandawn
/ipxgconn.o \
        tiberiandawn
/jshell.o \
    tiberiandawn
/layer.o \
    tiberiandawn
/lib.o \
    tiberiandawn
/list.o \
    tiberiandawn
/loaddlg.o \
    tiberiandawn
/logic.o \
    tiberiandawn
/map.o \
    tiberiandawn
/mapeddlg.o \
    tiberiandawn
/mapedit.o \
    tiberiandawn
/mapedplc.o \
    tiberiandawn
/mapedsel.o \
    tiberiandawn
/mapedtm.o \
    tiberiandawn
/mapsel.o \
    tiberiandawn
/menus.o \
    tiberiandawn
/miscasm.o \
    tiberiandawn
/mission.o \
    tiberiandawn
/monoc.o \
    tiberiandawn
/mouse.o \
    tiberiandawn
/mplayer.o \
    tiberiandawn
/msgbox.o \
    tiberiandawn
/msglist.o \
     tiberiandawn
/nulldlg.o \
    tiberiandawn
/object.o \
    tiberiandawn
/odata.o \
    tiberiandawn
/options.o \
    tiberiandawn
/overlay.o \
    tiberiandawn
/power.o \
    tiberiandawn
/profile.o \
    tiberiandawn
/queue.o \
    tiberiandawn
/radar.o \
    tiberiandawn
/radio.o \
    tiberiandawn
/reinf.o \
    tiberiandawn
/rules.o \
    tiberiandawn
/saveload.o \
    tiberiandawn
/scenario.o \
    tiberiandawn
/scenarioini.o \
    tiberiandawn
/score.o \
    tiberiandawn
/scroll.o \
    tiberiandawn
/sdata.o \
    tiberiandawn
/shapebtn.o \
    tiberiandawn
/sidebar.o \
    tiberiandawn
/slider.o \
    tiberiandawn
/smudge.o \
    tiberiandawn
/sounddlg.o \
    tiberiandawn
/special.o \
    tiberiandawn
/startup.o \
    tiberiandawn
/stats.o \
    tiberiandawn
/super.o \
    tiberiandawn
/tab.o \
    tiberiandawn
/tarcom.o \
    tiberiandawn
/target.o \
    tiberiandawn
/tdata.o \
    tiberiandawn
/team.o \
    tiberiandawn
/teamtype.o \
    tiberiandawn
/techno.o \
    tiberiandawn
/template.o \
    tiberiandawn
/terrain.o \
    tiberiandawn
/textbtn.o \
    tiberiandawn
/theme.o \
    tiberiandawn
/trigger.o \
    tiberiandawn
/turret.o \
    tiberiandawn
/txtlabel.o \
    tiberiandawn
/udata.o \
    tiberiandawn
/unit.o \
    tiberiandawn
/visudlg.o \
    tiberiandawn
/winstub.

OBJS_REDALERT 
\
    redalert
/aadata.o \
    redalert
/abstract.o \
    redalert
/adata.o \
    redalert
/aircraft.o \
    redalert
/anim.o \
    redalert
/audio.o \
    redalert
/bar.o \
    redalert
/base.o \
    redalert
/bbdata.o \
    redalert
/bdata.o \
    redalert
/bench.o \
    redalert
/bigcheck.o \
    redalert
/building.o \
    redalert
/bullet.o \
    redalert
/cargo.o \
    redalert
/carry.o \
    redalert
/ccini.o \
    redalert
/ccptr.o \
    redalert
/cdata.o \
    redalert
/cell.o \
    redalert
/checkbox.o \
    redalert
/cheklist.o \
    redalert
/colrlist.o \
    redalert
/combat.o \
    redalert
/confdlg.o \
    redalert
/conquer.o \
    redalert
/const.o \
    redalert
/coord.o \
    redalert
/crate.o \
    redalert
/credits.o \
    redalert
/debug.o \
    redalert
/dial8.o \
    redalert
/dialog.o \
    redalert
/dibfile.o \
    redalert
/dibutil.o \
    redalert
/display.o \
    redalert
/door.o \
    redalert
/drive.o \
    redalert
/drop.o \
    redalert
/edit.o \
    redalert
/egos.o \
    redalert
/ending.o \
    redalert
/event.o \
    redalert
/expand.o \
    redalert
/face.o \
    redalert
/facing.o \
    redalert
/factory.o \
    redalert
/findpath.o \
    redalert
/flasher.o \
    redalert
/fly.o \
    redalert
/foot.o \
    redalert
/fuse.o \
    redalert
/gamedlg.o \
    redalert
/gauge.o \
    redalert
/globals.o \
    redalert
/goptions.o \
    redalert
/gscreen.o \
    redalert
/hdata.o \
    redalert
/heap.o \
    redalert
/help.o \
    redalert
/house.o \
    redalert
/iconlist.o \
    redalert
/iconset.o \
    redalert
/idata.o \
    redalert
/infantry.o \
    redalert
/init.o \
    redalert
/intro.o \
    redalert
/iomap.o \
    redalert
/ioobj.o \
    redalert
/ipx.o \
    redalert
/ipx95.o \
    redalert
/ipxconn.o \
    redalert
/ipxgconn.o \
    redalert
/ipxmgr.o \
    redalert
/jshell.o \
    redalert
/layer.o \
    redalert
/list.o \
    redalert
/loaddlg.o \
    redalert
/logic.o \
    redalert
/map.o \
    redalert
/mapeddlg.o \
    redalert
/mapedit.o \
    redalert
/mapedplc.o \
    redalert
/mapedsel.o \
    redalert
/mapedtm.o \
    redalert
/mapsel.o \
    redalert
/menus.o \
    redalert
/miscasm.o \
    redalert
/mission.o \
    redalert
/monoc.o \
    redalert
/mouse.o \
    redalert
/mplayer.o \
    redalert
/msgbox.o \
    redalert
/msglist.o \
    redalert
/netdlg.o \
    redalert
/nulldlg.o \
    redalert
/object.o \
    redalert
/odata.o \
    redalert
/options.o \
    redalert
/overlay.o \
    redalert
/power.o \
    redalert
/profile.o \
    redalert
/queue.o \
    redalert
/radar.o \
    redalert
/radio.o \
    redalert
/rawolapi.o \
    redalert
/reinf.o \
    redalert
/rules.o \
    redalert
/saveload.o \
    redalert
/scenario.o \
    redalert
/score.o \
    redalert
/scroll.o \
    redalert
/sdata.o \
    redalert
/seditdlg.o \
    redalert
/sendfile.o \
    redalert
/session.o \
    redalert
/shapebtn.o \
    redalert
/sidebar.o \
    redalert
/slider.o \
    redalert
/smudge.o \
    redalert
/sounddlg.o \
    redalert
/special.o \
    redalert
/startup.o \
    redalert
/statbtn.o \
    redalert
/stats.o \
    redalert
/super.o \
    redalert
/tab.o \
    redalert
/taction.o \
    redalert
/target.o \
    redalert
/tdata.o \
    redalert
/team.o \
    redalert
/teamtype.o \
    redalert
/techno.o \
    redalert
/template.o \
    redalert
/terrain.o \
    redalert
/tevent.o \
    redalert
/textbtn.o \
    redalert
/theme.o \
    redalert
/tooltip.o \
    redalert
/tracker.o \
    redalert
/trigger.o \
    redalert
/trigtype.o \
    redalert
/txtlabel.o \
    redalert
/udata.o \
    redalert
/unit.o \
    redalert
/vdata.o \
    redalert
/version.o \
    redalert
/vessel.o \
    redalert
/visudlg.o \
    redalert
/vortex.o \
    redalert
/warhead.o \
    redalert
/weapon.o \
    redalert
/winstub.o \
    redalert
/wol_cgam.o \
    redalert
/wol_chat.o \
    redalert
/wol_dnld.o \
    redalert
/wol_gsup.o \
    redalert
/wol_logn.o \
    redalert
/wol_main.o \
    redalert
/wol_opt.o \
    redalert
/wolapiob.o \
    redalert
/woledit.o \
    redalert
/wolstrng.o

OBJS1 
= $(OBJS_COMMON) $(OBJS_TIBDAWN)
OBJS2 = $(OBJS_COMMON) $(OBJS_REDALERT)

all: $(TARGET)

$(
TARGET): $(OBJS1)
    $(
CXX) $(CXXFLAGS) -$@ $^ -$(TARGET) $(CXXLIBS

$(
TARGET2): $(OBJS2)
    $(
CXX) $(CXXFLAGS) -$@ $^ $(CXXLIBS)
    $(
STRIP) --strip-all $(TARGET2) -$(TARGET2).strip

clean
:
    
rm -$(OBJS_COMMON) $(OBJS_TIBDAWN)
    
rm -$(TARGET) $(TARGET).$(TARGET).strip
    rm 
-$(TARGET2) $(TARGET2).$(TARGET2).strip

dump
:
    
ppc-amigaos-objdump --disassemble-all --reloc $(TARGET) >$(TARGET).s



Currently I am at work (compiling Amiga stuff at the background :) ..I will check if this works on a real AmigaOS4 machine later.

Sinan - AmigaOS4 Beta-Tester
- AmigaOne X5000
- AmigaOne A1222
- Sam460ex
Go to top

  Register To Post
(1) 2 3 4 ... 6 »

 




Currently Active Users Viewing This Thread: 3 ( 0 members and 3 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project