###########################################
#
# makefile for LD48 2004 project
# theme: infection
# game: zombiepox
#
###########################################
#
###########################################


# output filename
OUTPUT = zombiepox.exe

# output location
OUTPUT_DIR = .

# compiler
CC = g++

# compiler flags
CFLAGS = \
	-O2\
	-fomit-frame-pointer\
	-ffast-math\
	-funroll-loops\
	-W\
	-Wall\
	-D__GTHREAD_HIDE_WIN32API\
	-DALLEGRO_STATICLINK\
	-pedantic

# linker flags
LFLAGS = \
	-laldmb \
	-ldumb \
	-lalleg_s \
	-lgdi32 \
	-lole32 \
	-ldinput \
	-lddraw \
	-ldxguid \
	-lwinmm \
	-ldsound \
	-mwindows \
	-s


# o-files
OBJ_DIR = ./obj

ALL_OBJ = 	main.o \
			CItem.o \
			CTile.o \
			CMap.o \
			CActor.o \
			hisc.o \
			soundbox.o

# merge o-files and prepend path
OBJS = $(addprefix $(OBJ_DIR)/, $(ALL_OBJ)) res.o

# compile cpp to o
$(OBJ_DIR)/%.o: ./src/%.cpp
	$(CC) $(CFLAGS) -c $< -o $@


# main rule
$(OUTPUT): $(OBJS)
	$(CC) $(OBJS) -o $(OUTPUT_DIR)/$@ $(LFLAGS)


# resource file
RES_DIR = res
RES_FILE = $(RES_DIR)/ld48.rc

# resource rule
res.o : $(RES_FILE)
	windres $(RES_FILE) -o $@

# UPX rule
upx : $(OUTPUT)
	upx $(OUTPUT)



