SubDir TOP src ;

PROGRAM = program$(SUFEXE) ;

SRCS = angle.c
	background.c
	backpack.c
	brush.c
	bullet.c
	camera.c
	candela.c
	chat.c
	client.c
	common.c
	config.c
	container.c
	coro.c
	cursor.c
	editor.c
	explosion.c
	fps.c
	game-state.c
	game.c
        gettime.c
	gizmo.c
	hud.c
	input.c
	lobby.c
	loft.c
	lux.c
	main.c
	map-save.c
	map.c
	maxmin.c
	meat.c
	network.c
	packet-backpack.c
	packet-bullet.c
	packet-candela.c
	packet-candy.c
	packet-container.c
	packet-editor.c
	packet-explosion.c
	packet-gizmo.c
	packet-input.c
	packet-map.c
	packet-pickup.c
	packet-player.c
	packet-server.c
	packet-starts.c
	particle.c
	pickup.c
	player.c
	region.c
	robot.c
	robots/00grunt.c
	robots/01dwarf.c
	robots/02miser.c
	score.c
	server.c
	smoke.c
	sound.c
	sprite.c
	start-loc.c
	stats-container.c
	stats-gizmo.c
	stats-meat.c
	stats-particle.c
	stats-pickup.c
	stats-smoke.c
	step.c
	strlcpy.c
	sv-commands.c
	sv-internal.c
	texdraw.c
	universal.c
	weapon-pick.c
	weapon.c ;

TEXTFACE_SRCS0 =
	sv-prompt.c
	sv-status.c
	sv-textface.c ;

MENU_SRCS0 =
	lobby-client.c
	lobby-server.c
	menu-connect.c
	menu-create.c
	menu-play.c
	menu-root.c
	menu-runner.c
	widget.c ;

##--------------------------------------------------------------

if ( $(WITH_CURSES) = 0 ) {
  TEXTFACE_SRCS = ;
}
else {
  TEXTFACE_SRCS = textface/$(TEXTFACE_SRCS0) ;
}

MENU_SRCS = menu/$(MENU_SRCS0) ;

##--------------------------------------------------------------

CCFLAGS += $(ALLEG_CCFLAGS) ;
HDRS = $(TOP)/include $(AGL_HDRS) $(HAWKNL_HDRS) ;

DEPENDS $(PROGRAM) : $(AGL_DEPS) $(HAWKNL_DEPS) ;
LINKLIBS on $(PROGRAM) = $(AGL_LIBS) $(HAWKNL_LIBS) $(ALLEG_LIBS)
	$(CURSES_LIBS) $(CORO_LIBS) ;

rule Main
{
  # Place target in TOP, objects in TOP/obj.
  local LOCATE_TARGET = $(TOP) ;
  MainFromObjects $(<) : $(>:S=$(SUFOBJ)) ;

  LOCATE_TARGET = $(TOP)/obj ;
  Objects $(>) ;
}
Main program : $(SRCS) $(MENU_SRCS) $(TEXTFACE_SRCS) ;
