User:Lardarse: Difference between revisions

From TetrisWiki
Jump to navigation Jump to search
*>Lardarse
No edit summary
*>Lardarse
No edit summary
Line 14: Line 14:
* <strike>Sleep...</strike>
* <strike>Sleep...</strike>


This is the [http://en.wikipedia.org/wiki/Make makefile] that I use to get [[Lockjaw]] to compile in Linux. I am almost certain that it only works for me because I have WINE installed. The more correct way to make it work probably involves setting the correct "target" to build for...
This is the [http://en.wikipedia.org/wiki/Make makefile] that I use to get [[Lockjaw]] to compile in Linux. I am pretty sure that this will work for all Linux setups.


<pre>
<pre># Makefile for Allegro version of LOCKJAW
# Makefile for Allegro version of LOCKJAW
#
#
# Copr. 2006-2007 Damian Yerrick
# Copr. 2006-2007 Damian Yerrick
Line 36: Line 35:


EXE := lj
EXE := lj
CFLAGS := -Wall -O2 -std=gnu99 -g3
CFLAGS := -Wall -O2 -std=gnu99 -DWITH_REPLAY=1
CC := gcc
CC := gcc
LD := gcc
LD := gcc
LDFLAGS := -Wall -mwindows
LDFLAGS := -Wall -s
srcdir := src
srcdir := src
objdir := obj/win32
objdir := obj/unix


MUSICOBJS := $(objdir)/ljvorbis.o  
MUSICOBJS := $(objdir)/ljvorbis.o  
Line 48: Line 47:
LDLIBS := -ljpgal -lalleg
LDLIBS := -ljpgal -lalleg
DEPOBJS := $(objdir)/ljpc.o $(objdir)/lj.o $(objdir)/ljplay.o $(objdir)/pcjoy.o $(objdir)/gimmicks.o $(objdir)/wktables.o $(objdir)/options.o $(objdir)/debrief.o $(objdir)/macro.o $(objdir)/ljreplay.o $(objdir)/ljmusic.o $(MUSICOBJS)
DEPOBJS := $(objdir)/ljpc.o $(objdir)/lj.o $(objdir)/ljplay.o $(objdir)/pcjoy.o $(objdir)/gimmicks.o $(objdir)/wktables.o $(objdir)/options.o $(objdir)/debrief.o $(objdir)/macro.o $(objdir)/ljreplay.o $(objdir)/ljmusic.o $(MUSICOBJS)
.PHONY: clean lj.gba lj.nds


# Objects
# Objects
Line 53: Line 54:
$(EXE): $(DEPOBJS)
$(EXE): $(DEPOBJS)
$(LD) $(LDFLAGS) $^ $(MUSICLIBS) $(LDLIBS) -o $@
$(LD) $(LDFLAGS) $^ $(MUSICLIBS) $(LDLIBS) -o $@
all: $(EXE) lj.gba lj.nds
lj.gba:
make -f gbamakefile $@
lj.nds:
make -f dsmakefile $@


# Compilation rules
# Compilation rules
Line 68: Line 77:


# Cleanup rules
# Cleanup rules
.PHONY: clean


clean:
clean:
Line 75: Line 83:
</pre>
</pre>


Based on the makefile for 0.28. Available under the GPL.
Based on the makefile for 0.34a and available under the GPL.
 
'''I am going to be reinstalling Linux tonight/tommorow, and will be able to make a more accurate attempt at the makefile for Linux this weekend.'''
 
Note to self: Pasting anything with DOS line feeds in Linux is gonna make it look screwy...<br>
Note 2: grrrrrr, I keep forgetting...

Revision as of 04:45, 10 April 2007

Umm... Yeah

I'm me

TODO:

  • Add info about how to compile Lockjaw on Linux See below
  • Ask tepples if he knows how to use a .diff file He does, or at least will after a quick RTFM
  • Try to understand how the current randomizer system in LJ works
  • Find out the numbering of each piece, just in case it's not obvious...
  • Add a few randomizers (Stickless 6 memoryless, Expanded 10 memoryless, Teflon 7 bag, Teflon 7 memoryless)
  • Try to add a new option in the menu. Initially held piece: Nothing, I, J, L, O, S, T, Z, I3, L3, I2, Random of standard 7, Random of expanded 10
  • Investigate the possibility of a scoring system that can give more points for line clears with consecutive pieces, and give a bonus when the pit is cleared
  • Extract the images from the LJ icon into PNG format Done, but I don't have anywhere to upload them to...
  • Sleep...

This is the makefile that I use to get Lockjaw to compile in Linux. I am pretty sure that this will work for all Linux setups.

# Makefile for Allegro version of LOCKJAW
#
# Copr. 2006-2007 Damian Yerrick
# 
# This work 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 2 of the License, or
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

EXE := lj
CFLAGS := -Wall -O2 -std=gnu99 -DWITH_REPLAY=1
CC := gcc
LD := gcc
LDFLAGS := -Wall -s
srcdir := src
objdir := obj/unix

MUSICOBJS := $(objdir)/ljvorbis.o 
MUSICLIBS := -laldmb -ldumb -lvorbisfile -lvorbis -logg

LDLIBS := -ljpgal -lalleg
DEPOBJS := $(objdir)/ljpc.o $(objdir)/lj.o $(objdir)/ljplay.o $(objdir)/pcjoy.o $(objdir)/gimmicks.o $(objdir)/wktables.o $(objdir)/options.o $(objdir)/debrief.o $(objdir)/macro.o $(objdir)/ljreplay.o $(objdir)/ljmusic.o $(MUSICOBJS)

.PHONY: clean lj.gba lj.nds

# Objects

$(EXE): $(DEPOBJS)
	$(LD) $(LDFLAGS) $^ $(MUSICLIBS) $(LDLIBS) -o $@

all: $(EXE) lj.gba lj.nds

lj.gba:
	make -f gbamakefile $@

lj.nds:
	make -f dsmakefile $@

# Compilation rules

$(objdir)/%.o: $(srcdir)/%.c
	$(CC) $(CFLAGS) -MMD -c -o $@ $<
	@cp $(objdir)/$*.d $(objdir)/$*.P; \
	sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
	-e '/^$$/ d' -e 's/$$/ :/' < $(objdir)/$*.d >> $(objdir)/$*.P; \
	rm -f $(objdir)/$*.d

# Header dependencies

-include $(DEPOBJS:%.o=%.P)

# Cleanup rules

clean:
	-rm $(objdir)/*.o
	-rm $(objdir)/*.P

Based on the makefile for 0.34a and available under the GPL.