Link to home
Start Free TrialLog in
Avatar of Olivier Marchetta
Olivier MarchettaFlag for United Kingdom of Great Britain and Northern Ireland

asked on

Quake 2 Gladiator and Lithium 2 compilation

I would like to know how much work is needed and how expert a developper should be in C/C++ to merge and compile two projects together.
This is for the game Quake II from ID Software, with the source code available freely.
One project is a bot mod (Gladiator from Mr Elusive), to add bots in a hosted multiplayer game, and the second project is a multiplayer game modification named Lithium 2.
Source code is available for both modifications, and the bot mod documentation indicates that the source can be modified to include any server modification.
So I would like to merge both projects and compile it.

At this stage, I would like to know what is the feasibility of this. I've seen old servers running with these projects combined.
The server game modification (Lithium) source is here: https://github.com/quake2lithium/quake2lithium.github.io/blob/master/downloads/Lithium%20Mod/li2mod-1.31-src.zip
And the bot modification is here: https://github.com/earth-metal/ugladq2
Avatar of MURUGESAN N
MURUGESAN N
Flag of India image

@Olivier MARCHETTA
>> how expert a developper should be in C/C++ to merge
I am writing only my comment :)

Very good if developer know the following:
1. gdb.exe at cygwin
2. gdb/dbx at Linux SunOS HP-UX AIX and UNIX
3. not required => c++11 c++12  c++13...c++17 => however very much nice if known
4. Makefile (to compile across platforms)
    macros => to be used inside Makefile including -DCYGWIN_NT -DLinux -DAIX
Sample Makefile ( I am writing only sample here)
binary name being murugesan_openssl_google
all:
    @if [ -f 29181622.c ];\
    then\
        grep "main" 29181622.c >/dev/null 2>&1;\
        if [ 0 -eq $$? ];\
        then\
            if [ ! -f murugesan_openssl_google ];\
            then\
                echo g++ -D$$(uname -s) 29181622.c -o murugesan_openssl_google;\
                g++ -D$$(uname -s) 29181622.c -o murugesan_openssl_google;\
            else\
                ls -ltr murugesan_openssl_google 29181622.c |\
                tail -1 |\
                grep murugesan_openssl_google >/dev/null 2>&1;\
                if [ 0 -ne $$? ];\
                then\
                    echo g++ -D$$(uname -s) 29181622.c -o murugesan_openssl_google;\
                    g++ -D$$(uname -s) 29181622.c -o murugesan_openssl_google;\
                else\
                    echo "murugesan_openssl_google binary is up to date";\
                fi;\
            fi;\
        else\
            echo "29181622.c not having main function.";\
        fi;\
    else\
        echo "29181622.c No such file";\
    fi
clean:
    @CLEANED="";\
    if [ -f murugesan_openssl_google ];\
    then\
        echo rm -f murugesan_openssl_google;\
        rm -f murugesan_openssl_google;\
        CLEANED=$$?;\
    fi;\
    if [ -z "$$CLEANED" ];\
    then\
        echo "make clean is up to date";\
    fi

Open in new window

At pasted code
replace => "    " spaces to tab

Sample I tried at localhost:
$ make
g++ -DLinux 29181622.c -o murugesan_openssl_google
$ make
murugesan_openssl_google binary is up to date
$ make clean
rm -f murugesan_openssl_google
$ make clean
make clean is up to date
5. good in object oriented
6. procedure oriented
(C++ and C) lot of questions available at google.
7. good in knowledge transfer across the team.
Avatar of Olivier Marchetta

ASKER

Thank you for the answer. How many days of work would you estimate for this work?
@Olivier MARCHETTA 
it depends:
I am writing only example:
1. number of team mates
2. number of C C++ file count
3. how the code has been written
#if defined (LINUX)
// related code
#else
#error ....
#endif
4. how developer good at testing => no need on advanced testing at least unit testing
We have transferred C C++ from AIX/SunOS/Linux/HP-UX only one application to windows using cygwin for 1.5 months.
Since I knew testing completed that within 1.5 month.
>> download open source compiled tested and released (including release mode without debug mode *.pdb and *.cs files) during 2003 and 2004.
Few of our team mates tried vlc.exe they have completed 30% within that 1.5 month before 2008.
5. Hence the time depends on the strength of the team mates and related good communication(including knowledg e transfer)  across the team mates and the world.
If completed on time provide rewards to the team instead of single person.
I would need a better answer than just "it depends".
I have two C++ projects for a game, one can include the other to compile (and was designed for this).
I would like to find a freelancer to compile this code for me.
I don't need a full team like described above, just a passionate C dev and I need to know (roughly) if that's a half a day job, or more.
And how much should I propose, in term of money, to a C dev to compile this code for me. And also where I can find developpers for this kind of job.
Avatar of phoffric
phoffric

@MURUGESAN,

 I understand where you're coming from when you say, "it depends".

Since you are the expert for this question, and apparently know or are familiar with one of the two applications, just give an estimate for how long you would take to do this problem.

One developer may take a couple days to develop and fully test his solution, while another less experienced developer might take a month.

If you are not familiar with these applications, then provide your best estimate for coming up to speed and understanding them before trying to integrate them. And in this case you'll have two estimates. One is a learning curve and the other is doing the job
@Olivier MARCHETTA 

If I am there I feel to provide 1.5 months 19 (Excludng Saturday and sunday) However I may include weekends based on team work calculation.
However .5 month for testing.
Reason
I have done those things during 2008.
Reason for mentioning 1.5 months ( i do not know the application not even seen single lines of code)
Above lines do not mean that I am going to do.
I am writing only estimation.
>> two C++ projects for a game,
first project => 1.5 months
second project 1 month
testing => .5 + .5
Total approximation => 3.5 months (it can be reduced to 2.75 months based on team work, knowledge transfer and working on weekends for first project.)
This may increase/decrease the month/days/weeks based on previous works.

@phoffric
I like your comment :) reducing my tension a lot :) :) :).

ASKER CERTIFIED SOLUTION
Avatar of David Johnson, CD
David Johnson, CD
Flag of Canada image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Hi David. Yes this is a hobby project but I haven't done any C++ before.
The first step is as I understand to learn how to compile the code as it is.
I will maybe close this question an give it a try, and if I get any compilation error open a question here.
As you mentionned the code is quite old, I don't even know if I can use Visual Studio?
I will close the question.
@Olivier MARCHETTA 
most welcome.
>> compilation error open a question here
Instead of posting all errors at a time,
post 1 error
if resolved, post next error (for helpers at experts-exchange to help you).
https://www.tutorialspoint.com/cplusplus/index.htm
given above url since I learned html javascript during 2003 using https://www.w3schools.com/html
Due to my vision problem viewed your zip file only now.
Downloaded that and compiled using cygwin on windows.

murugesan_openssl_at_google@127.0.0.1 /cygdrive/m/experts_exchange/29181622/li2mod-1.31-src [ 0 ]
$ /usr/bin/make
gcc -O3 -fPIC -o p_client.o -c p_client.c
gcc -O3 -fPIC -o g_cmds.o -c g_cmds.c
gcc -O3 -fPIC -o g_combat.o -c g_combat.c
gcc -O3 -fPIC -o g_func.o -c g_func.c
gcc -O3 -fPIC -o g_items.o -c g_items.c
gcc -O3 -fPIC -o g_main.o -c g_main.c
gcc -O3 -fPIC -o g_misc.o -c g_misc.c
gcc -O3 -fPIC -o g_phys.o -c g_phys.c
gcc -O3 -fPIC -o g_save.o -c g_save.c
gcc -O3 -fPIC -o g_spawn.o -c g_spawn.c
gcc -O3 -fPIC -o g_target.o -c g_target.c
gcc -O3 -fPIC -o g_trigger.o -c g_trigger.c
gcc -O3 -fPIC -o g_turret.o -c g_turret.c
gcc -O3 -fPIC -o g_utils.o -c g_utils.c
gcc -O3 -fPIC -o g_weapon.o -c g_weapon.c
gcc -O3 -fPIC -o m_move.o -c m_move.c
gcc -O3 -fPIC -o p_hud.o -c p_hud.c
gcc -O3 -fPIC -o p_trail.o -c p_trail.c
gcc -O3 -fPIC -o p_view.o -c p_view.c
gcc -O3 -fPIC -o p_weapon.o -c p_weapon.c
gcc -O3 -fPIC -o q_shared.o -c q_shared.c
gcc -O3 -fPIC -o g_svcmds.o -c g_svcmds.c
gcc -O3 -fPIC -o g_chase.o -c g_chase.c
gcc -O3 -fPIC -o lithium.o -c lithium.c
gcc -O3 -fPIC -o l_display.o -c l_display.c
gcc -O3 -fPIC -o l_fragtrak.o -c l_fragtrak.c
gcc -O3 -fPIC -o l_gslog.o -c l_gslog.c
gcc -O3 -fPIC -o l_hook.o -c l_hook.c
gcc -O3 -fPIC -o l_mapqueue.o -c l_mapqueue.c
gcc -O3 -fPIC -o l_nocamp.o -c l_nocamp.c
gcc -O3 -fPIC -o l_obit.o -c l_obit.c
gcc -O3 -fPIC -o l_pack.o -c l_pack.c
gcc -O3 -fPIC -o l_rune.o -c l_rune.c
gcc -O3 -fPIC -o l_var.o -c l_var.c
gcc -O3 -fPIC -o l_menu.o -c l_menu.c
gcc -O3 -fPIC -o l_admin.o -c l_admin.c
gcc -O3 -fPIC -o l_vote.o -c l_vote.c
gcc -O3 -fPIC -o l_net.o -c l_net.c
gcc -O3 -fPIC -o net.o -c net.c
gcc -O3 -fPIC -o g_ctf.o -c g_ctf.c
gcc -O3 -fPIC -o l_hscore.o -c l_hscore.c
gcc -O3 -fPIC -o zbotcheck.o -c zbotcheck.c
gcc -O3 -fPIC -o strl.o -c strl.c
gcc -O3 -shared -o lithium/gamei386.so p_client.o g_cmds.o g_combat.o g_func.o g_items.o g_main.o g_misc.o g_phys.o g_save.o g_spawn.o g_target.o g_trigger.o g_turret.o g_utils.o g_weapon.o m_move.o p_hud.o p_trail.o p_view.o p_weapon.o q_shared.o g_svcmds.o g_chase.o lithium.o l_display.o l_fragtrak.o l_gslog.o l_hook.o l_mapqueue.o l_nocamp.o l_obit.o l_pack.o l_rune.o l_var.o l_menu.o l_admin.o l_vote.o l_net.o net.o g_ctf.o l_hscore.o zbotcheck.o strl.o
murugesan_openssl_at_google@127.0.0.1 /cygdrive/m/experts_exchange/29181622/li2mod-1.31-src [ 0 ]
$
murugesan_openssl_at_google@127.0.0.1 /cygdrive/m/experts_exchange/29181622/li2mod-1.31-src [ 0 ]
$ /usr/bin/make
make: 'lithium/gamei386.so' is up to date.
@Olivier MARCHETTA
Source: Makefile

To compile at all operating systems,
replace
gcc to related compiler at required OS
xlC/gcc/cc
@Olivier MARCHETTA

I made few changes at given Makefile.
Before copying my Makefile take a backup of your Makefile
           cp -ip Makefile Makefile.Original

Here goes current difference:
$ make
make: 'lithium/gamei386.so' is up to date.
$ make clean -f Makefile.Original
rm -f p_client.o g_cmds.o g_combat.o g_func.o g_items.o g_main.o g_misc.o g_phys.o g_save.o g_spawn.o g_target.o g_trigger.o g_turret.o g_utils.o g_weapon.o m_move.o p_hud.o p_trail.o p_view.o p_weapon.o q_shared.o g_svcmds.o g_chase.o lithium.o l_display.o l_fragtrak.o l_gslog.o l_hook.o l_mapqueue.o l_nocamp.o l_obit.o l_pack.o l_rune.o l_var.o l_menu.o l_admin.o l_vote.o l_net.o net.o g_ctf.o l_hscore.o zbotcheck.o strl.o
$ make clean -f Makefile.Original
rm -f p_client.o g_cmds.o g_combat.o g_func.o g_items.o g_main.o g_misc.o g_phys.o g_save.o g_spawn.o g_target.o g_trigger.o g_turret.o g_utils.o g_weapon.o m_move.o p_hud.o p_trail.o p_view.o p_weapon.o q_shared.o g_svcmds.o g_chase.o lithium.o l_display.o l_fragtrak.o l_gslog.o l_hook.o l_mapqueue.o l_nocamp.o l_obit.o l_pack.o l_rune.o l_var.o l_menu.o l_admin.o l_vote.o l_net.o net.o g_ctf.o l_hscore.o zbotcheck.o strl.o
$ make clean -f Makefile
make clean is up to date

Open in new window


Remove the blank lines
Remove double space
Replaced double space or tabs to single space or tab.
Written my comments using upper case
>> REPLACE DOUBLE SPACE TO TAB OR SINGLE SPACE
You can view using diff command.
Given Makefile creating only shared object file => lithium/gamei386.so
If required we can change this to .dll or .so or .sl based on related operating system.
Replacing:
SHLIBEXT=so
With:
SHLIBEXT=dll
OR
SHLIBEXT=sl
at required OS.
I am trying the same here => Phoffric is viewing
:)
@Phoffric
>> I need your comment for my message I have sent to you ?
I will write my comment after 20 minutes approximately :)
@Olivier MARCHETTA
I tried to have a Makefile to be used across the platforms.

Sample output:
$ make clean
make clean is up to date
$ make AIX
make not supported at AIX
$ make CYGWIN_NT
make p_client.o g_cmds.o g_combat.o g_func.o g_items.o g_main.o g_misc.o g_phys.o g_save.o g_spawn.o g_target.o g_trigger.o g_turret.o g_utils.o g_weapon.o m_move.o p_hud.o p_trail.o p_view.o p_weapon.o q_shared.o g_svcmds.o g_chase.o lithium.o l_display.o l_fragtrak.o l_gslog.o l_hook.o l_mapqueue.o l_nocamp.o l_obit.o l_pack.o l_rune.o l_var.o l_menu.o l_admin.o l_vote.o l_net.o net.o g_ctf.o l_hscore.o zbotcheck.o strl.o
make[1]: Entering directory '/cygdrive/m/experts_exchange/29181622/li2mod-1.31-src'
gcc -O3 -fPIC -c p_client.c -o p_client.o
gcc -O3 -fPIC -c g_cmds.c -o g_cmds.o
gcc -O3 -fPIC -c g_combat.c -o g_combat.o
gcc -O3 -fPIC -c g_func.c -o g_func.o
gcc -O3 -fPIC -c g_items.c -o g_items.o
gcc -O3 -fPIC -c g_main.c -o g_main.o
gcc -O3 -fPIC -c g_misc.c -o g_misc.o
gcc -O3 -fPIC -c g_phys.c -o g_phys.o
gcc -O3 -fPIC -c g_save.c -o g_save.o
gcc -O3 -fPIC -c g_spawn.c -o g_spawn.o
gcc -O3 -fPIC -c g_target.c -o g_target.o
gcc -O3 -fPIC -c g_trigger.c -o g_trigger.o
gcc -O3 -fPIC -c g_turret.c -o g_turret.o
gcc -O3 -fPIC -c g_utils.c -o g_utils.o
gcc -O3 -fPIC -c g_weapon.c -o g_weapon.o
gcc -O3 -fPIC -c m_move.c -o m_move.o
gcc -O3 -fPIC -c p_hud.c -o p_hud.o
gcc -O3 -fPIC -c p_trail.c -o p_trail.o
gcc -O3 -fPIC -c p_view.c -o p_view.o
gcc -O3 -fPIC -c p_weapon.c -o p_weapon.o
gcc -O3 -fPIC -c q_shared.c -o q_shared.o
gcc -O3 -fPIC -c g_svcmds.c -o g_svcmds.o
gcc -O3 -fPIC -c g_chase.c -o g_chase.o
gcc -O3 -fPIC -c lithium.c -o lithium.o
gcc -O3 -fPIC -c l_display.c -o l_display.o
gcc -O3 -fPIC -c l_fragtrak.c -o l_fragtrak.o
gcc -O3 -fPIC -c l_gslog.c -o l_gslog.o
gcc -O3 -fPIC -c l_hook.c -o l_hook.o
gcc -O3 -fPIC -c l_mapqueue.c -o l_mapqueue.o
gcc -O3 -fPIC -c l_nocamp.c -o l_nocamp.o
gcc -O3 -fPIC -c l_obit.c -o l_obit.o
gcc -O3 -fPIC -c l_pack.c -o l_pack.o
gcc -O3 -fPIC -c l_rune.c -o l_rune.o
gcc -O3 -fPIC -c l_var.c -o l_var.o
gcc -O3 -fPIC -c l_menu.c -o l_menu.o
gcc -O3 -fPIC -c l_admin.c -o l_admin.o
gcc -O3 -fPIC -c l_vote.c -o l_vote.o
gcc -O3 -fPIC -c l_net.c -o l_net.o
gcc -O3 -fPIC -c net.c -o net.o
gcc -O3 -fPIC -c g_ctf.c -o g_ctf.o
gcc -O3 -fPIC -c l_hscore.c -o l_hscore.o
gcc -O3 -fPIC -c zbotcheck.c -o zbotcheck.o
gcc -O3 -fPIC -c strl.c -o strl.o
make[1]: Leaving directory '/cygdrive/m/experts_exchange/29181622/li2mod-1.31-src'
gcc -O3 -shared p_client.o g_cmds.o g_combat.o g_func.o g_items.o g_main.o g_misc.o g_phys.o g_save.o g_spawn.o g_target.o g_trigger.o g_turret.o g_utils.o g_weapon.o m_move.o p_hud.o p_trail.o p_view.o p_weapon.o q_shared.o g_svcmds.o g_chase.o lithium.o l_display.o l_fragtrak.o l_gslog.o l_hook.o l_mapqueue.o l_nocamp.o l_obit.o l_pack.o l_rune.o l_var.o l_menu.o l_admin.o l_vote.o l_net.o net.o g_ctf.o l_hscore.o zbotcheck.o strl.o -o lithium/gamei386.dll
$ make CYGWIN_NT
lithium/gamei386.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows
lithium/gamei386.dll is up to date
$ make HP-UX
make not supported at HP-UX
$ make SunOS
make not supported at SunOS
$ make UNIX
make not supported at UNIX
$ make VAR
make not supported at VAR
$ make "search -> murugesan openssl -> at google => just for fun to reduce COVID-19 for the readers :)"
make: *** No rule to make target 'search -> murugesan openssl -> at google => just for fun to reduce COVID-19 for the readers :)'.  Stop.
$ make
make[1]: Entering directory '/cygdrive/m/experts_exchange/29181622/li2mod-1.31-src'
lithium/gamei386.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows
lithium/gamei386.dll is up to date
make[1]: Leaving directory '/cygdrive/m/experts_exchange/29181622/li2mod-1.31-src'

Open in new window


$ make clean
rm -f p_client.o
rm -f g_cmds.o
rm -f g_combat.o
rm -f g_func.o
rm -f g_items.o
rm -f g_main.o
rm -f g_misc.o
rm -f g_phys.o
rm -f g_save.o
rm -f g_spawn.o
rm -f g_target.o
rm -f g_trigger.o
rm -f g_turret.o
rm -f g_utils.o
rm -f g_weapon.o
rm -f m_move.o
rm -f p_hud.o
rm -f p_trail.o
rm -f p_view.o
rm -f p_weapon.o
rm -f q_shared.o
rm -f g_svcmds.o
rm -f g_chase.o
rm -f lithium.o
rm -f l_display.o
rm -f l_fragtrak.o
rm -f l_gslog.o
rm -f l_hook.o
rm -f l_mapqueue.o
rm -f l_nocamp.o
rm -f l_obit.o
rm -f l_pack.o
rm -f l_rune.o
rm -f l_var.o
rm -f l_menu.o
rm -f l_admin.o
rm -f l_vote.o
rm -f l_net.o
rm -f net.o
rm -f g_ctf.o
rm -f l_hscore.o
rm -f zbotcheck.o
rm -f strl.o
rm -f lithium/gamei386.dll
$ make clean
make clean is up to date

Open in new window

>> The extension of the uploaded file is not in the list of accepted extensions.
Since experts-exchange not allowing Makefile hence attaching Makefile.txt

$ diff Makefile.txt Makefile.Original
0a1
> #
1a3
> #
2a5
> #
3a7
> #
4a9
> #
6c11
< # release.
---
> # release.  
8a14
> #
11,13c17,19
< # In g_local.h (around line 828), you must change the
< # REPLACE DOUBLE SPACE TO TAB OR SINGLE SPACE.
< #	typedef struct g_client_s { ... } gclient_t;
---
> #
> # In g_local.h (around line 828), you must change the 
> #    typedef struct g_client_s { ... } gclient_t;
15c21
< #	struct g_client_s { ... };
---
> #    struct g_client_s { ... };
18c24,25
< # m_player.h has a Ctrl-Z at the end (damn DOS editors). Remove it or
---
> #
> # m_player.h has a Ctrl-Z at the end (damn DOS editors).  Remove it or
20,26c27,33
< # Note that the source in q2source_12_11.zip is for version 3.05. To
< # get it to run with Linux 3.10 change the following:
< # SOURCE: game.h
< # REPLACE:
< #	#define GAME_API_VERSION 1
< # WITH:
< #	#define GAME_API_VERSION 2
---
> #
> # Note that the source in q2source_12_11.zip is for version 3.05.  To
> # get it to run with Linux 3.10, change the following in game.h:
> #    #define    GAME_API_VERSION        1
> # change it to:
> #    #define    GAME_API_VERSION        2
> 
28a36
> 
31c39
< #use CLFAGS to enable debugging and not to use during release mode.
---
> #use these when debugging 
32a41
> 
34c43
< 	CFLAGS+=-DNEED_STRLCAT -DNEED_STRLCPY
---
> CFLAGS+=-DNEED_STRLCAT -DNEED_STRLCPY
35a45
> 
38a49
> 
41a53
> 
42a55
> SHLIBEXT=so
45,46c58,61
< # Better to use -c $< -o $@ instead of using -o $@ -c $<
< DO_CC=$(CC) $(CFLAGS) $(SHLIBCFLAGS) -c $< -o $@
---
> 
> DO_CC=$(CC) $(CFLAGS) $(SHLIBCFLAGS) -o $@ -c $<
> 
> #############################################################################
48a64,65
> #############################################################################
> 
50d66
< 	@echo "$(DO_CC)";\
51a68
> 
61,131c78,83
< # Remove the space at end of each lines
< all:
< 	@OS=$$(uname -s | sed "s/\-[0-9]\.[0-9]//;");\
< 	if	[ "VAR"		= "$$OS" ] ||\
< 		[ "UNIX"	= "$$OS" ] ||\
< 		[ "SunOS"	= "$$OS" ] ||\
< 		[ "Linux"	= "$$OS" ] ||\
< 		[ "HP-UX"	= "$$OS" ] ||\
< 		[ "CYGWIN_NT"	= "$$OS" ] ||\
< 		[ "AIX"		= "$$OS" ];\
< 	then\
< 		make $$OS;\
< 	else\
< 		echo "Update Makefile to diplay required output using Makefile for $$OS";\
< 		exit 1;\
< 	fi;
< # I have written OS at reverse sorted order.
< VAR:
< 	@echo "make not supported at $(MAKECMDGOALS)"
< UNIX:
< 	@echo "make not supported at $(MAKECMDGOALS)"
< SunOS:
< 	@echo "make not supported at $(MAKECMDGOALS)"
< HP-UX:
< 	@echo "make not supported at $(MAKECMDGOALS)"
< AIX:
< 	@echo "make not supported at $(MAKECMDGOALS)"
< CYGWIN_NT:
< 	@OS=$$(uname -s | sed "s/\-[0-9]\.[0-9]//;");\
< 	if [ "$$OS" != "CYGWIN_NT" ];\
< 	then\
< 		echo "Compile this program at CYGWIN_NT Operating system instead of compiling at $$OS";\
< 		exit 2;\
< 	fi;\
< 	SHLIBEXT=dll;\
< 	if [ ! -f lithium/game$(ARCH).$$SHLIBEXT ];\
< 	then\
< 		echo make $(GAME_OBJS);\
< 		make $(GAME_OBJS);\
< 		echo "$(CC) $(CFLAGS) $(SHLIBLDFLAGS) $(GAME_OBJS) -o lithium/game$(ARCH).$$SHLIBEXT";\
< 		$(CC) $(CFLAGS) $(SHLIBLDFLAGS) $(GAME_OBJS) -o lithium/game$(ARCH).$$SHLIBEXT;\
< 	else\
< 		file lithium/game$(ARCH).$$SHLIBEXT;\
< 		echo lithium/game$(ARCH).$$SHLIBEXT is up to date;\
< 	fi
< Linux:
< 	@OS=$$(uname -s | sed "s/\-[0-9]\.[0-9]//;");\
< 	if [ "$$OS" != "Linux" ];\
< 	then\
< 		echo "Compile this program at Linux Operating system instead of compiling at $$OS";\
< 		exit 2;\
< 	fi;\
< 	SHLIBEXT=so;\
< 	if [ ! -f lithium/game$(ARCH).$$SHLIBEXT ];\
< 	then\
< 		echo make $(GAME_OBJS);\
< 		make $(GAME_OBJS);\
< 		echo "$(CC) $(CFLAGS) $(SHLIBLDFLAGS) $(GAME_OBJS) -o lithium/game$(ARCH).$$SHLIBEXT";\
< 		$(CC) $(CFLAGS) $(SHLIBLDFLAGS) $(GAME_OBJS) -o lithium/game$(ARCH).$$SHLIBEXT;\
< 	else\
< 		file lithium/game$(ARCH).$$SHLIBEXT 2>&1 |\
< 		grep "Windows" >/dev/null 2>&1;\
< 		if [ 0 -eq $$? ] && [ "Linux" != "$$OS" ];\
< 		then\
< 			file lithium/game$(ARCH).$$SHLIBEXT;\
< 			echo "lithium/game$(ARCH).$$SHLIBEXT file related to Windows";\
< 			echo "Hence re-compile the same at Linux OS";\
< 		else\
< 			echo lithium/game$(ARCH).$$SHLIBEXT is up to date;\
< 		fi;\
< 	fi
---
> 
> lithium/game$(ARCH).$(SHLIBEXT): $(GAME_OBJS) 
> 	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(GAME_OBJS)
> 
> 
> #############################################################################
132a85,86
> #############################################################################
> 
134,166c88,89
< 	@OS=$$(uname -s | sed "s/\-[0-9]\.[0-9]//;");\
< 	UPTO_DATE="";\
< 	LIBFILE=$$(ls -tr lithium/game$(ARCH).* 2>/dev/null);\
< 	if [ -z "$$$$LIBFILE" ];\
< 	then\
< 		for GAMEOBJFILES in $(GAME_OBJS);\
< 		do\
< 			if [ -f "$$GAMEOBJFILES" ];\
< 			then\
< 				echo rm -f $$GAMEOBJFILES;\
< 				rm -f $$GAMEOBJFILES;\
< 				UPTO_DATE="$$?";\
< 			fi;\
< 		done;\
< 		if [ "" = "$$UPTO_DATE" ];\
< 		then\
< 			echo "make clean is up to date";\
< 		fi;\
< 	else\
< 		for GAMEOBJFILES in $(GAME_OBJS) "$$LIBFILE";\
< 		do\
< 			if [ -f "$$GAMEOBJFILES" ];\
< 			then\
< 				echo "rm -f $$GAMEOBJFILES";\
< 				rm -f $$GAMEOBJFILES;\
< 				UPTO_DATE="$$?";\
< 			fi;\
< 		done;\
< 		if [ "" = "$$UPTO_DATE" ];\
< 		then\
< 			echo "make clean is up to date";\
< 		fi;\
< 	fi
---
> 	rm -f $(GAME_OBJS)
> 
168d90
< 	@echo "gcc -MM $(GAME_OBJS:.o=.c)";\
169a92,93
> 
> #############################################################################
170a95,96
> #############################################################################
> 
194c120
< g_svcmds.o: g_svcmds.c g_svcmds.c q_shared.h
\ No newline at end of file
---
> g_svcmds.o: g_svcmds.c g_svcmds.c q_shared.h

Open in new window

Makefile.txt
Logging out now for others to view this query :)
Written above statement only for fun :)))
Thank you MURUGESAN N , I will try that.

>> I will try that.
try that and post if any error you are facing.
>> Thank you MURUGESAN N
Currently I am writing wc till the error getting resolved :)
@Olivier MARCHETTA
I have viewed
>> And the bot modification is here: https://github.com/earth-metal/ugladq2
now
trying compilation at Linux(mounted)
I will post my comment after 10/20 minutes.
murugesan_openssl@127.0.0.1 /home/murugesan_openssl/experts_exchange/29181622/ugladq2-master/ugladq2-master/ugladq2-master [ 0 ]
$ cp -ip Makefile Makefile.Original
murugesan_openssl@127.0.0.1 /home/murugesan_openssl/experts_exchange/29181622/ugladq2-master/ugladq2-master/ugladq2-master [ 0 ]
$ vi Makefile
murugesan_openssl@127.0.0.1 /home/murugesan_openssl/experts_exchange/29181622/ugladq2-master/ugladq2-master/ugladq2-master [ 0 ]
$ make clean
rm -f src/bl_cmd.o
rm -f src/bl_botcfg.o
rm -f src/bl_debug.o
rm -f src/bl_main.o
rm -f src/bl_redirgi.o
rm -f src/bl_spawn.o
rm -f src/dm_ball_rogue.o
rm -f src/dm_tag_rogue.o
rm -f src/g_ai.o
rm -f src/g_arena.o
rm -f src/g_ch.o
rm -f src/g_chase.o
rm -f src/g_cmds.o
rm -f src/g_combat.o
rm -f src/g_ctf.o
rm -f src/g_func.o
rm -f src/g_items.o
rm -f src/g_log.o
rm -f src/g_main.o
rm -f src/g_misc.o
rm -f src/g_monster.o
rm -f src/g_newai_rogue.o
rm -f src/g_newdm_rogue.o
rm -f src/g_newfnc_rogue.o
rm -f src/g_newtarg_rogue.o
rm -f src/g_newtrig_rogue.o
rm -f src/g_newweap_rogue.o
rm -f src/g_phys.o
rm -f src/g_save.o
rm -f src/g_spawn.o
rm -f src/g_sphere_rogue.o
rm -f src/g_svcmds.o
rm -f src/g_target.o
rm -f src/g_trigger.o
rm -f src/g_turret.o
rm -f src/g_utils.o
rm -f src/g_weapon.o
rm -f src/m_actor.o
rm -f src/m_berserk.o
rm -f src/m_boss2.o
rm -f src/m_boss3.o
rm -f src/m_boss31.o
rm -f src/m_boss32.o
rm -f src/m_boss5_xatrix.o
rm -f src/m_brain.o
rm -f src/m_carrier_rogue.o
rm -f src/m_chick.o
rm -f src/m_fixbot_xatrix.o
rm -f src/m_flash.o
rm -f src/m_flipper.o
rm -f src/m_float.o
rm -f src/m_flyer.o
rm -f src/m_gekk_xatrix.o
rm -f src/m_gladb_xatrix.o
rm -f src/m_gladiator.o
rm -f src/m_gunner.o
rm -f src/m_hover.o
rm -f src/m_infantry.o
rm -f src/m_insane.o
rm -f src/m_medic.o
rm -f src/m_move.o
rm -f src/m_move2_rogue.o
rm -f src/m_mutant.o
rm -f src/m_parasite.o
rm -f src/m_soldier.o
rm -f src/m_stalker_rogue.o
rm -f src/m_supertank.o
rm -f src/m_tank.o
rm -f src/m_turret_rogue.o
rm -f src/m_widow2_rogue.o
rm -f src/m_widow_rogue.o
rm -f src/p_botmenu.o
rm -f src/p_client.o
rm -f src/p_hud.o
rm -f src/p_lag.o
rm -f src/p_menu.o
rm -f src/p_menulib.o
rm -f src/p_trail.o
rm -f src/p_view.o
rm -f src/p_weapon.o
rm -f src/q_shared.o
murugesan_openssl@127.0.0.1 /home/murugesan_openssl/experts_exchange/29181622/ugladq2-master/ugladq2-master/ugladq2-master [ 0 ]
$ make clean
make clean is up to date
murugesan_openssl@127.0.0.1 /home/murugesan_openssl/experts_exchange/29181622/ugladq2-master/ugladq2-master/ugladq2-master [ 0 ]
$ make
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/bl_cmd.o -c src/bl_cmd.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/bl_botcfg.o -c src/bl_botcfg.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/bl_debug.o -c src/bl_debug.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/bl_main.o -c src/bl_main.c
src/bl_main.c:830: warning: 'callee_pop_aggregate_return' attribute directive ignored
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/bl_redirgi.o -c src/bl_redirgi.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/bl_spawn.o -c src/bl_spawn.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/dm_ball_rogue.o -c src/dm_ball_rogue.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/dm_tag_rogue.o -c src/dm_tag_rogue.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_ai.o -c src/g_ai.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_arena.o -c src/g_arena.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_ch.o -c src/g_ch.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_chase.o -c src/g_chase.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_cmds.o -c src/g_cmds.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_combat.o -c src/g_combat.c
src/g_combat.c:1051:15: warning: no newline at end of file
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_ctf.o -c src/g_ctf.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_func.o -c src/g_func.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_items.o -c src/g_items.c
src/g_items.c:2800: warning: initialization from incompatible pointer type
src/g_items.c:2823: warning: initialization from incompatible pointer type
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_log.o -c src/g_log.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_main.o -c src/g_main.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_misc.o -c src/g_misc.c
src/g_misc.c:2364:15: warning: no newline at end of file
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_monster.o -c src/g_monster.c
src/g_monster.c:1138:15: warning: no newline at end of file
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_newai_rogue.o -c src/g_newai_rogue.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_newdm_rogue.o -c src/g_newdm_rogue.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_newfnc_rogue.o -c src/g_newfnc_rogue.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_newtarg_rogue.o -c src/g_newtarg_rogue.c
src/g_newtarg_rogue.c:356:15: warning: no newline at end of file
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_newtrig_rogue.o -c src/g_newtrig_rogue.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_newweap_rogue.o -c src/g_newweap_rogue.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_phys.o -c src/g_phys.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_save.o -c src/g_save.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_spawn.o -c src/g_spawn.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_sphere_rogue.o -c src/g_sphere_rogue.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_svcmds.o -c src/g_svcmds.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_target.o -c src/g_target.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_trigger.o -c src/g_trigger.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_turret.o -c src/g_turret.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_utils.o -c src/g_utils.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/g_weapon.o -c src/g_weapon.c
src/g_weapon.c:1511:16: warning: no newline at end of file
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_actor.o -c src/m_actor.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_berserk.o -c src/m_berserk.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_boss2.o -c src/m_boss2.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_boss3.o -c src/m_boss3.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_boss31.o -c src/m_boss31.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_boss32.o -c src/m_boss32.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_boss5_xatrix.o -c src/m_boss5_xatrix.c
src/m_boss5_xatrix.c:711:16: warning: no newline at end of file
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_brain.o -c src/m_brain.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_carrier_rogue.o -c src/m_carrier_rogue.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_chick.o -c src/m_chick.c
src/m_chick.c:924:16: warning: no newline at end of file
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_fixbot_xatrix.o -c src/m_fixbot_xatrix.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_flash.o -c src/m_flash.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_flipper.o -c src/m_flipper.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_float.o -c src/m_float.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_flyer.o -c src/m_flyer.c
src/m_flyer.c: In function 'SP_monster_kamikaze':
src/m_flyer.c:808: warning: assignment from incompatible pointer type
src/m_flyer.c:817:15: warning: no newline at end of file
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_gekk_xatrix.o -c src/m_gekk_xatrix.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_gladb_xatrix.o -c src/m_gladb_xatrix.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_gladiator.o -c src/m_gladiator.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_gunner.o -c src/m_gunner.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_hover.o -c src/m_hover.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_infantry.o -c src/m_infantry.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_insane.o -c src/m_insane.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_medic.o -c src/m_medic.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_move.o -c src/m_move.c
src/m_move.c:572:15: warning: no newline at end of file
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_move2_rogue.o -c src/m_move2_rogue.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_mutant.o -c src/m_mutant.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_parasite.o -c src/m_parasite.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_soldier.o -c src/m_soldier.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_stalker_rogue.o -c src/m_stalker_rogue.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_supertank.o -c src/m_supertank.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_tank.o -c src/m_tank.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_turret_rogue.o -c src/m_turret_rogue.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_widow2_rogue.o -c src/m_widow2_rogue.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/m_widow_rogue.o -c src/m_widow_rogue.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/p_botmenu.o -c src/p_botmenu.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/p_client.o -c src/p_client.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/p_hud.o -c src/p_hud.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/p_lag.o -c src/p_lag.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/p_menu.o -c src/p_menu.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/p_menulib.o -c src/p_menulib.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/p_trail.o -c src/p_trail.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/p_view.o -c src/p_view.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/p_weapon.o -c src/p_weapon.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fPIC -o src/q_shared.o -c src/q_shared.c
gcc -Dstricmp=strcasecmp -DC_ONLY -m32 -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -falign-loops=2 -falign-jumps=2 -falign-functions=2 -shared -o gamei386.so src/bl_cmd.o src/bl_botcfg.o src/bl_debug.o src/bl_main.o src/bl_redirgi.o src/bl_spawn.o src/dm_ball_rogue.o src/dm_tag_rogue.o src/g_ai.o src/g_arena.o src/g_ch.o src/g_chase.o src/g_cmds.o src/g_combat.o src/g_ctf.o src/g_func.o src/g_items.o src/g_log.o src/g_main.o src/g_misc.o src/g_monster.o src/g_newai_rogue.o src/g_newdm_rogue.o src/g_newfnc_rogue.o src/g_newtarg_rogue.o src/g_newtrig_rogue.o src/g_newweap_rogue.o src/g_phys.o src/g_save.o src/g_spawn.o src/g_sphere_rogue.o src/g_svcmds.o src/g_target.o src/g_trigger.o src/g_turret.o src/g_utils.o src/g_weapon.o src/m_actor.o src/m_berserk.o src/m_boss2.o src/m_boss3.o src/m_boss31.o src/m_boss32.o src/m_boss5_xatrix.o src/m_brain.o src/m_carrier_rogue.o src/m_chick.o src/m_fixbot_xatrix.o src/m_flash.o src/m_flipper.o src/m_float.o src/m_flyer.o src/m_gekk_xatrix.o src/m_gladb_xatrix.o src/m_gladiator.o src/m_gunner.o src/m_hover.o src/m_infantry.o src/m_insane.o src/m_medic.o src/m_move.o src/m_move2_rogue.o src/m_mutant.o src/m_parasite.o src/m_soldier.o src/m_stalker_rogue.o src/m_supertank.o src/m_tank.o src/m_turret_rogue.o src/m_widow2_rogue.o src/m_widow_rogue.o src/p_botmenu.o src/p_client.o src/p_hud.o src/p_lag.o src/p_menu.o src/p_menulib.o src/p_trail.o src/p_view.o src/p_weapon.o src/q_shared.o
murugesan_openssl@127.0.0.1 /home/murugesan_openssl/experts_exchange/29181622/ugladq2-master/ugladq2-master/ugladq2-master [ 0 ]
$ make
make: `gamei386.so' is up to date.

Open in new window

At above output
I have replaced my user name to => murugesan_openssl
my ip to 127.0.0.1
my home directory to /home/murugesan_openssl/
I have renamed Makefile => Makefile.txt when uploading
$ diff Makefile Makefile.Original
1c1
< # REMOVED BLANK LINES HAVING ONLY #
---
> #
3a4,5
> #
>
9a12
>
14c17
< # REMOVED BLANK LINES
---
>
18a22
>
24a29
>
26d30
< # REPLACED IFEQ ENDIF LIKE A PROGRAMMER AND REPLACED DOUBLE SPACE TO TABS.
28c32
<       SHLIBEXT=x86.dll
---
>  SHLIBEXT=x86.dll
30,34c34,38
<       ifeq ($(CC), i686-w64-mingw32-gcc)
<               SHLIBEXT=x86.dll
<       else
<               SHLIBEXT=i386.so
<       endif
---
>  ifeq ($(CC), i686-w64-mingw32-gcc)
>   SHLIBEXT=x86.dll
>  else
>   SHLIBEXT=i386.so
>  endif
37a42
>
38a44
>
42a49
>
44a52
>
61a70
>
63a73,74
>
>
65c76
< # MISC. HANDLE rm IF OBJ FILES ARE PRESENT ELSE DISPLAY CLEAN IS UP TO DATE.
---
> # MISC
66a78
>
68,81c80,81
<       @UPTODATE="";\
<       for CLEANFILES in $(GAME_OBJS);\
<       do\
<               if [ -f "$$CLEANFILES" ];\
<               then\
<                       echo "rm -f $$CLEANFILES";\
<                       rm -f $$CLEANFILES;\
<                       UPTODATE=$$?;\
<               fi;\
<       done;\
<       if [ -z "$$UPTODATE" ];\
<       then\
<               echo "make clean is up to date";\
<       fi
---
>       -rm -f $(GAME_OBJS)
>
83a84,85
>
>
86c88,92
< # From "make depend"
\ No newline at end of file
---
>
> #
> # From "make depend"
> #
>

Open in new window


Attaching updated Makefile for ugladq2-master
Reason for updates:
1. I did make at cygwin
2. after that using make at Linux
so it has to re-compile *.o files again at Linux
3. make install
$ make install
Before using make install use:
make

Open in new window

Inside given Makefile here
you can replace:
for CLEANFILES in $(GAME_OBJS) game$(SHLIBEXT)
with:
for CLEANFILES in $(GAME_OBJS) game$(SHLIBEXT) ../game$(SHLIBEXT)
based on requirement and deployment guide you are having.
Makefile.txt