summaryrefslogtreecommitdiffstats
path: root/bin/Makefile
blob: 5f4b88c171f69873023c09c37229fd57c0b84a80 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# -*- MakeFile -*-

# directories

LIBALX_OBJ_DIR	= $(LIBALX_DIR)/obj/

ABOUT_DIR	= $(MODULES_DIR)/about/
ABOUT_OBJ_DIR	= $(ABOUT_DIR)/obj/

CTRL_DIR	= $(MODULES_DIR)/ctrl/
CTRL_OBJ_DIR	= $(CTRL_DIR)/obj/

GAME_DIR	= $(MODULES_DIR)/game/
GAME_OBJ_DIR	= $(GAME_DIR)/obj/

MENU_DIR	= $(MODULES_DIR)/menu/
MENU_OBJ_DIR	= $(MENU_DIR)/obj/

PLAY_DIR	= $(MODULES_DIR)/player/
PLAY_OBJ_DIR	= $(PLAY_DIR)/obj/

SAVE_DIR	= $(MODULES_DIR)/save/
SAVE_OBJ_DIR	= $(SAVE_DIR)/obj/

XYZZY_DIR	= $(MODULES_DIR)/xyzzy/
XYZZY_OBJ_DIR	= $(XYZZY_DIR)/obj/

OBJ_DIR	= $(MAIN_DIR)/obj/

# dependencies
_ALL	= mine-sweeper mine-sweeper.exe

ALL	= $(BIN_NAME)

MAIN_OBJ_LIBALX	= alx_file.o alx_getnum.o alx_ncur.o alx_seed.o
MAIN_OBJ_ABOUT	= about_mod.o
MAIN_OBJ_CTRL	= ctrl_mod.o
MAIN_OBJ_GAME	= game_mod.o
MAIN_OBJ_MENU	= menu_mod.o
MAIN_OBJ_PLAY	= player_mod.o
MAIN_OBJ_SAVE	= save_mod.o
MAIN_OBJ_XYZZY	= xyzzy_mod.o

MAIN_OBJS	= $(OBJ_DIR)/main.o \
			$(patsubst %,$(LIBALX_OBJ_DIR)/%,$(MAIN_OBJ_LIBALX)) \
			$(patsubst %,$(ABOUT_OBJ_DIR)/%,$(MAIN_OBJ_ABOUT)) \
			$(patsubst %,$(CTRL_OBJ_DIR)/%,$(MAIN_OBJ_CTRL)) \
			$(patsubst %,$(GAME_OBJ_DIR)/%,$(MAIN_OBJ_GAME)) \
			$(patsubst %,$(MENU_OBJ_DIR)/%,$(MAIN_OBJ_MENU)) \
			$(patsubst %,$(PLAY_OBJ_DIR)/%,$(MAIN_OBJ_PLAY)) \
			$(patsubst %,$(SAVE_OBJ_DIR)/%,$(MAIN_OBJ_SAVE)) \
			$(patsubst %,$(XYZZY_OBJ_DIR)/%,$(MAIN_OBJ_XYZZY))


# target: dependencies
#	action

all: $(ALL)


$(BIN_NAME): $(MAIN_OBJS)
	$(Q)$(CC) $^ -o $@ $(LIBS)
	@echo  "\tBIN	$@"
	@echo  ""


clean:
	$(Q)rm -f $(_ALL)
	@echo  "Clean binaries"

################################################################################
######## End of file ###########################################################
################################################################################