From TetrisWiki
Revision as of 16:08, 26 January 2008 by *>Tepples (Reverted edits by (Talk); changed back to last version by DIGITAL)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Umm... Yeah

I'm me.

Take a look at my idea for a hybrid rotation system if you want to see just how crazy I am.

Theory portal: At some point, I would to have a proper portal to all of the theory-related pages on the wiki. When I have more time, though. Right now, I think the main ones of interest are these:

And some forum threads

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
# 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 -DHAS_FPU
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

	$(LD) $(LDFLAGS) $^ $(MUSICLIBS) $(LDLIBS) -o $@

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

	make -f gbamakefile $@

	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

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

Based on the makefile for 0.36 and available under the GPL. Creating a diff against the makefile in 0.36 and hen applying it to any future version should create a makefile that should work with that version, in case the makefile changes. The main changes are that it no longer tries to include an icon, so all references to the icon resource file and to windres.exe are removed. It also changes the executable name and the folder used for object files, and removes an option from the linker phase that is only necessary when compiling in Windows.

I will look to update this for 0.39 when I switch to Linux next (probably tonight).