blobwarsAttrition/common.mk

71 lines
2.5 KiB
Makefile

VERSION = 0.7
REVISION = $(shell git rev-list HEAD 2>/dev/null | wc -l)
LOCALE_MO = $(patsubst %.po,%.mo,$(wildcard locale/*.po))
SEARCHPATH += src
SEARCHPATH += src/combat
SEARCHPATH += src/entities
SEARCHPATH += src/entities/blobs
SEARCHPATH += src/entities/boss
SEARCHPATH += src/entities/bullets
SEARCHPATH += src/entities/cannons
SEARCHPATH += src/entities/decoration
SEARCHPATH += src/entities/evilBlobs
SEARCHPATH += src/entities/eyeDroids
SEARCHPATH += src/entities/items
SEARCHPATH += src/entities/misc
SEARCHPATH += src/entities/structures
SEARCHPATH += src/entities/traps
SEARCHPATH += src/game
SEARCHPATH += src/hub
SEARCHPATH += src/json
SEARCHPATH += src/system
SEARCHPATH += src/test
SEARCHPATH += src/util
SEARCHPATH += src/widgets
SEARCHPATH += src/world
vpath %.c $(SEARCHPATH)
vpath %.h $(SEARCHPATH)
DEPS += defs.h structs.h
_OBJS += atlas.o aquaBlob.o
_OBJS += battery.o blaze.o bob.o boss.o blobBoss.o bullet.o
_OBJS += camera.o cannon.o cardReader.o cell.o cherry.o combat.o controls.o consumable.o
_OBJS += debris.o destructable.o door.o draw.o
_OBJS += effects.o ending.o entities.o entity.o entityFactory.o exit.o explosions.o eyeDroid.o eyeDroidCommander.o evilBlob.o
_OBJS += fleshChunk.o frost.o
_OBJS += game.o grenade.o grenadeBlob.o grenadeDroid.o
_OBJS += heart.o horizontalDoor.o horizontalLaserTrap.o hub.o hud.o
_OBJS += i18n.o init.o infoPoint.o input.o io.o item.o items.o itemPad.o
_OBJS += cJSON.o
_OBJS += key.o keycard.o
_OBJS += laser.o laserBlob.o laserDroid.o laserTrap.o lift.o lookup.o
_OBJS += machineGunBlob.o machineGunDroid.o main.o map.o maths.o mia.o missile.o
_OBJS += objectives.o options.o
_OBJS += particles.o player.o plasmaBlob.o plasmaDroid.o pistolBlob.o pistolDroid.o postMission.o powerPoint.o powerPool.o pressurePlate.o pushBlock.o
_OBJS += quadtree.o
_OBJS += radar.o
_OBJS += savepng.o shotgunBlob.o shotgunDroid.o sound.o spreadGunBlob.o spreadGunDroid.o sprites.o stats.o structures.o
_OBJS += tankCommander.o tankTrack.o teeka.o teleporter.o text.o textures.o title.o transition.o triggers.o trophies.o
_OBJS += unit.o util.o
_OBJS += weapons.o weaponPickup.o widgets.o world.o worldLoader.o worldSaver.o worldTest.o
OBJS = $(patsubst %,$(OUT)/%,$(_OBJS))
# top-level rule to create the program.
all: $(PROG) $(LOCALE_MO)
# compiling other source files.
$(OUT)/%.o: %.c %.h $(DEPS)
@mkdir -p $(OUT)
$(CC) $(CFLAGS) $(CXXFLAGS) -c -o $@ $<
%.mo: %.po
msgfmt -c -o $@ $<
# cleaning everything that can be automatically recreated with "make".
clean:
$(RM) $(OBJS) $(PROG) $(LOCALE_MO)