User:Lardarse: Difference between revisions

From TetrisWiki
Jump to navigation Jump to search
*>Lardarse
No edit summary
*>Lardarse
Updated makefile to 0.36 after it was noticed that CFLAGS was missing an option compared to the latest version.
Line 24: Line 24:


EXE := lj
EXE := lj
CFLAGS := -Wall -O2 -std=gnu99 -DWITH_REPLAY=1
CFLAGS := -Wall -O2 -std=gnu99 -DWITH_REPLAY=1 -DHAS_FPU
CC := gcc
CC := gcc
LD := gcc
LD := gcc
Line 72: Line 72:
</pre>
</pre>


Based on the makefile for 0.34a and available under the GPL. 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.
Based on the makefile for 0.36 and available under the GPL. 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 unnecessary option from the linker phase.

Revision as of 20:23, 24 May 2007

Umm... Yeah

I'm me

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

$(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.36 and available under the GPL. 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 unnecessary option from the linker phase.