Single Binary Support: Initial Commit
[keystone-rtos/ibl.git] / src / util / single-bin / build / Makefile
1 ###############################################################################
2 # Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
3 ###############################################################################
5 CC               = gcc
6 AR               = ar
8 ###############################################################################
9 # Set host specific default options
10 ###############################################################################
11 LD_OPTS =
12 C_OPTS =
14 #RT_LIB = $(C_DIR)/lib/libc.a
15 C_OPTS += -O2
17 #LNK_OPTS += -i$(C_DIR)/lib -c $(RT_LIB)
18 LNK_OPTS +=
20 ###############################################################################
21 # List of modules and their files
22 ###############################################################################
24 IBLCFG_EXE = iblConfig.out
25 FILES  = \
26          iblConfig.c \
27          device.c \
28          device.h \
29          types.h \
31 OBJ_DIR = ./obj
32 VPATH = ../iblcfg
33 CLIB_INC = $(C_DIR)/include/
35 HEADERS = $(filter %.h, $(FILES))
36 INCL = -I$(CLIB_INC) $(patsubst %,-I%,$(VPATH))
37 TARGET_TEMP = $(patsubst %,-D%,$(TARGET))
38 DEFINE_TARGET = $(patsubst %,%_TARGET,$(TARGET_TEMP))
40 OBJS = $(patsubst %.c,$(OBJ_DIR)/%.obj,$(filter %.c, $(FILES)))
42 ###############################################################################
43 # Normal make process                                                         
44 ###############################################################################
46 $(IBLCFG_EXE): $(OBJS)
47         $(CC) $(C_OPTS) $(OBJS) $(LNK_OPTS) -o $@
48         cp $@ $@.dbg 
50 $(OBJ_DIR)/%.obj: %.c $(HEADERS) $(OBJ_DIR)/.created
51         $(CC) -c $(C_OPTS) $(INCL) $(DEFINE_TARGET) $< -o $@
53 $(OBJ_DIR)/.created:
54         mkdir -p $(OBJ_DIR)
55         touch $(OBJ_DIR)/.created
58 ###############################################################################
59 # Cleanup                                                                     
60 ###############################################################################
61 clean:
62         -rm -rf ./obj/
63         -rm -rf $(IBLCFG_EXE)
64         -rm -rf *.dbg
65         -rm -rf *.out
66         -rm -rf *.bin