minor updates.
[feisty_meow.git] / nucleus / makefile
1 # Top-level makefile for library, application and test components.
2
3 include variables.def
4
5 # Set default locations for the following variables.  If the build_variables
6 # have been sourced in, that takes care of setting these.
7 ifeq "$(FEISTY_MEOW_DIR)" ""
8   export FEISTY_MEOW_DIR := $(CURRENT_DIR)
9 endif
10 ifeq "$(PRODUCTION_DIR)" ""
11   export PRODUCTION_DIR = $(FEISTY_MEOW_DIR)/production
12 endif
13 ifeq "$(CLAM_DIR)" ""
14   export CLAM_DIR = $(FEISTY_MEOW_SCRIPTS)/clam
15 endif
16
17 include $(CLAM_DIR)/cpp/variables.def
18
19 PROJECT = feisty_meow_nucleus
20 TYPE = hierarchy
21 FIRST_TARGETS = do_make
22 BUILD_AFTER = library applications tools
23
24 include $(CLAM_DIR)/cpp/rules.def
25
26 do_make: start_make $(PRODUCTION_DIR)/binaries/manifest.txt end_make
27
28 start_make: show_date.start
29
30 end_make: show_date.end
31
32 $(PRODUCTION_DIR)/binaries/manifest.txt: $(PARAMETER_FILE)
33         $(HIDESH) -c '\
34 if [ ! -d "$(EXECUTABLE_DIR)" ]; then mkdir -p "$(EXECUTABLE_DIR)"; fi; \
35 if [ $$? -ne 0 ]; then \
36   echo build failure while creating executable directory.; \
37   exit 1; \
38 fi; \
39 cp -f "$(PRODUCTION_DIR)/paths.ini" "$(EXECUTABLE_DIR)"; \
40 if [ $$? -ne 0 ]; then \
41   echo build failure while copying paths initialization file.; \
42   exit 1; \
43 fi; \
44 bash $(BUILD_SCRIPTS_DIR)/wrapdoze.sh $(CLAM_BIN)/value_tagger$(EXE_END) $(PRODUCTION_DIR)/codescan.ini; \
45 if [ $$? -ne 0 ]; then \
46   echo build failure during value tagging.; \
47   exit 1; \
48 fi; \
49 bash $(BUILD_SCRIPTS_DIR)/wrapdoze.sh $(CLAM_BIN)/write_build_config$(EXE_END); \
50 if [ $$? -ne 0 ]; then \
51   echo build failure while writing config.; \
52   exit 1; \
53 fi; \
54   '
55