# Base Makefile by newage
# Para compilar poner la direccion propia del devKit de arm
DEVKITARM = ...
# Directorios de librerias estaticas ---------------------
DIRKKC = ./kkcore/
# Directorio de archivos objeto ---------------------------
OBJDIR = ./.obj/
OBJDIRKKC = $(DIRKKC).obj/
# Herramientas --------------------------------------------
ARM_ASM = $(DEVKITARM)bin/arm-elf-as
#----------------------------------------------------------
ARM_CC = $(DEVKITARM)bin/arm-elf-gcc
ARM_CPP = $(DEVKITARM)bin/arm-elf-g++
ARM_LD = $(DEVKITARM)bin/arm-elf-ld # No es necesario
ARM_AR = $(DEVKITARM)bin/arm-elf-ar
#----------------------------------------------------------
CC = gcc
CPP = g++
LD = ld # El gcc ya nos ahorra el trabajo de llamar a ld
AR = ar
#----------------------------------------------------------
EXTRA_CC = -ansi -Wall `sdl-config --cflags` \
-I"$(DIRKKC)include" -DPC -g #gdb
EXTRA_CPP = -ansi -Wall `sdl-config --cflags` \
-I"$(DIRKKC)include" -DPC -g #gdb
EXTRA_LD = -L"/usr/lib" -L"$(DIRKKC)" \
-lSDL -lSDL_image
#----------------------------------------------------------
EXTRA_CPP_N = -ansi -I"$(DIRKKC)include"
#----------------------------------------------------------
LD_STATIC = -lkkcore
EXTRA_AR = rcs
#-----------------------------------------------------------
VISOR = less
#-----------------------------------------------------------
default: all
#-----------------------------------------------------------
# Crea el directorio para los archivos objeto
$(OBJDIR):
mkdir $(OBJDIR)
$(OBJDIRKKC):
mkdir $(OBJDIRKKC)
#-----------------------------------------------------------
allarm: $(OBJDIR) $(OBJDIRKKC)
@# Aun no disponible
#----------------------------------------------------------------------
all: $(OBJDIR) $(OBJDIRKKC)
# Compilamos el codigo en CPP
@# ----------------------------------------------------------------
$(CPP) -c $(DIRKKC)tinyxml.cpp -o $(OBJDIRKKC)imagen.o $(EXTRA_CPP_N)
$(CPP) -c $(DIRKKC)tinyxmlparser.cpp -o $(OBJDIRKKC)imagen.o $(EXTRA_CPP_N)
$(CPP) -c $(DIRKKC)tinyxmlerror.cpp -o $(OBJDIRKKC)tinyxmlerror.o $(EXTRA_CPP_N)
$(CPP) -c $(DIRKKC)tinystr.cpp -o $(OBJDIRKKC)tinystr.o $(EXTRA_CPP_N)
@echo ! Compilado tinyxml
@echo
@# ----------------------------------------------------------------
$(CPP) -c $(DIRKKC)imagen.cpp -o $(OBJDIRKKC)imagen.o $(EXTRA_CPP)
$(CPP) -c $(DIRKKC)spripar.cpp -o $(OBJDIRKKC)spripar.o $(EXTRA_CPP)
$(CPP) -c $(DIRKKC)gamerunner.cpp -o $(OBJDIRKKC)gamerunner.o $(EXTRA_CPP)
@echo ! Compilada librería core de atlantis
@echo
@# ----------------------------------------------------------------
$(CPP) -c main.cpp -o $(OBJDIR)main.o $(EXTRA_CPP)
@echo ! Compilado atlantis
# Hacemos Link de todo
@echo
@echo ! Haciendo link de todos los objetos
$(AR) $(EXTRA_AR) $(DIRKKC)libkkcore.a $(OBJDIRKKC)*.o
$(CC) -o higo $(EXTRA_LD) $(OBJDIR)*.o $(LD_STATIC)
@echo
@echo ! Programa construido satisfactoriamente
@echo ! Pruebe: make gdb. Para depurar con insight
#----------------------------------------------------------------------
run: higo
# Ejecutamos el programa
@xterm -e ./higo
#----------------------------------------------------------
gdb: higo
# Ejecutamos el programa
@insight higo
#----------------------------------------------------------
clean:
rm $(OBJDIR)*.o
rm $(OBJDIRKKC)*.o
#----------------------------------------------------------
Marcadores