mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-22 21:47:22 +00:00
devicemodel: Makefile: clean up/refactor some code
- Put version.h, vmcfg_config.h, .config into DM_OBJDIR like what's already done in hypervisor and tools, it does not have to stay in source or else a extra entry in .gitignore is needed. - Change some implicit targets to explicit targets, include: vmcfg_header -> $(DM_OBJDIR)/include/vmcfg_config.h $(PROGRAM) -> $(DM_OBJDIR)/$(PROGRAM) then $(DM_OBJDIR)/include/vmcfg_config.h would be depended by $(DM_OBJDIR)/%.o without the need involving in a extra implicit target vmcfg_header. (And it's not set in .PHONY) - These header targets vmcfg_config.h and version.h should be depended by $(DM_OBJDIR)/%.o target instead of by all target, and this is done since they are in HEADERS now. - Drop redundant clean commands and fix some bad styled coding, like multiple blanks in a line. Tracked-On: #1599 Signed-off-by: Ming Liu <liu.ming50@gmail.com>
This commit is contained in:
parent
df5336c9fb
commit
62a42d5f5a
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,4 +1,3 @@
|
|||||||
devicemodel/include/version.h
|
|
||||||
doc/doxygen
|
doc/doxygen
|
||||||
doc/_build
|
doc/_build
|
||||||
doc/tools
|
doc/tools
|
||||||
|
@ -22,6 +22,7 @@ CFLAGS += -fpie
|
|||||||
|
|
||||||
CFLAGS += -I$(BASEDIR)/include
|
CFLAGS += -I$(BASEDIR)/include
|
||||||
CFLAGS += -I$(BASEDIR)/include/public
|
CFLAGS += -I$(BASEDIR)/include/public
|
||||||
|
CFLAGS += -I$(DM_OBJDIR)/include
|
||||||
CFLAGS += -I$(TOOLS_OUT)
|
CFLAGS += -I$(TOOLS_OUT)
|
||||||
|
|
||||||
GCC_MAJOR=$(shell echo __GNUC__ | $(CC) -E -x c - | tail -n 1)
|
GCC_MAJOR=$(shell echo __GNUC__ | $(CC) -E -x c - | tail -n 1)
|
||||||
@ -137,8 +138,12 @@ SRCS += vmcfg/apl-mrb/vm1/vm1.c
|
|||||||
|
|
||||||
OBJS := $(patsubst %.c,$(DM_OBJDIR)/%.o,$(SRCS))
|
OBJS := $(patsubst %.c,$(DM_OBJDIR)/%.o,$(SRCS))
|
||||||
|
|
||||||
|
VERSION_H := $(DM_OBJDIR)/include/version.h
|
||||||
|
VMCFG_CONFIG_H := $(DM_OBJDIR)/include/vmcfg_config.h
|
||||||
|
|
||||||
HEADERS := $(shell find $(BASEDIR) -name '*.h')
|
HEADERS := $(shell find $(BASEDIR) -name '*.h')
|
||||||
HEADERS += $(BASEDIR)/include/vmcfg_config.h
|
HEADERS += $(VERSION_H) $(VMCFG_CONFIG_H)
|
||||||
|
|
||||||
DISTCLEAN_OBJS := $(shell find $(BASEDIR) -name '*.o')
|
DISTCLEAN_OBJS := $(shell find $(BASEDIR) -name '*.o')
|
||||||
|
|
||||||
PROGRAM := acrn-dm
|
PROGRAM := acrn-dm
|
||||||
@ -148,31 +153,26 @@ SAMPLES_MRB := $(wildcard samples/apl-mrb/*)
|
|||||||
|
|
||||||
BIOS_BIN := $(wildcard bios/*)
|
BIOS_BIN := $(wildcard bios/*)
|
||||||
|
|
||||||
all: include/version.h vmcfg_header $(PROGRAM)
|
all: $(DM_OBJDIR)/$(PROGRAM)
|
||||||
@echo -n ""
|
@echo -n ""
|
||||||
|
|
||||||
vmcfg_header:
|
$(VMCFG_CONFIG_H):
|
||||||
make -C $(BASEDIR)/vmcfg $(BASEDIR)/include/vmcfg_config.h BASEDIR=$(BASEDIR)
|
make -C $(BASEDIR)/vmcfg $@ BASEDIR=$(BASEDIR) DM_OBJDIR=$(DM_OBJDIR)
|
||||||
|
|
||||||
$(PROGRAM): $(OBJS)
|
$(DM_OBJDIR)/$(PROGRAM): $(OBJS)
|
||||||
$(CC) -o $(DM_OBJDIR)/$@ $(CFLAGS) $(LDFLAGS) $^ $(LIBS)
|
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $^ $(LIBS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(OBJS)
|
|
||||||
rm -f include/version.h
|
|
||||||
rm -f $(OBJS)
|
|
||||||
rm -rf $(DM_OBJDIR)
|
rm -rf $(DM_OBJDIR)
|
||||||
if test -f $(PROGRAM); then rm $(PROGRAM); fi
|
|
||||||
|
|
||||||
distclean:
|
distclean:
|
||||||
rm -f $(DISTCLEAN_OBJS)
|
rm -f $(DISTCLEAN_OBJS)
|
||||||
rm -f include/version.h
|
|
||||||
rm -f $(OBJS)
|
|
||||||
rm -rf $(DM_OBJDIR)
|
rm -rf $(DM_OBJDIR)
|
||||||
rm -f tags TAGS cscope.files cscope.in.out cscope.out cscope.po.out GTAGS GPATH GRTAGS GSYMS
|
rm -f tags TAGS cscope.files cscope.in.out cscope.out cscope.po.out GTAGS GPATH GRTAGS GSYMS
|
||||||
|
|
||||||
include/version.h:
|
$(VERSION_H):
|
||||||
touch include/version.h
|
mkdir -p $(DM_OBJDIR)/include
|
||||||
|
touch $(VERSION_H)
|
||||||
if [ "$(DM_BUILD_VERSION)"x = x -o "$(DM_BUILD_TAG)"x = x ];then\
|
if [ "$(DM_BUILD_VERSION)"x = x -o "$(DM_BUILD_TAG)"x = x ];then\
|
||||||
COMMIT=`git rev-parse --verify --short HEAD 2>/dev/null`;\
|
COMMIT=`git rev-parse --verify --short HEAD 2>/dev/null`;\
|
||||||
DIRTY=`git diff-index --name-only HEAD`;\
|
DIRTY=`git diff-index --name-only HEAD`;\
|
||||||
@ -184,18 +184,18 @@ include/version.h:
|
|||||||
fi;\
|
fi;\
|
||||||
TIME=`date "+%Y-%m-%d %H:%M:%S"`;\
|
TIME=`date "+%Y-%m-%d %H:%M:%S"`;\
|
||||||
USER=`id -u -n`; \
|
USER=`id -u -n`; \
|
||||||
echo "/*" > include/version.h; \
|
echo "/*" > $(VERSION_H); \
|
||||||
sed 's/^/ * /' ../LICENSE >> include/version.h;\
|
sed 's/^/ * /' ../LICENSE >> $(VERSION_H);\
|
||||||
echo " */" >> include/version.h;\
|
echo " */" >> $(VERSION_H);\
|
||||||
echo "" >> include/version.h;\
|
echo "" >> $(VERSION_H);\
|
||||||
echo "#define DM_MAJOR_VERSION $(MAJOR_VERSION)" >> include/version.h;\
|
echo "#define DM_MAJOR_VERSION $(MAJOR_VERSION)" >> $(VERSION_H);\
|
||||||
echo "#define DM_MINOR_VERSION $(MINOR_VERSION)" >> include/version.h;\
|
echo "#define DM_MINOR_VERSION $(MINOR_VERSION)" >> $(VERSION_H);\
|
||||||
echo "#define DM_EXTRA_VERSION "\"$(EXTRA_VERSION)\""" >> include/version.h;\
|
echo "#define DM_EXTRA_VERSION "\"$(EXTRA_VERSION)\""" >> $(VERSION_H);\
|
||||||
echo "#define DM_FULL_VERSION "\"$(FULL_VERSION)\""" >> include/version.h;\
|
echo "#define DM_FULL_VERSION "\"$(FULL_VERSION)\""" >> $(VERSION_H);\
|
||||||
echo "#define DM_DAILY_TAG "\""$$DAILY_TAG"\""" >> include/version.h;\
|
echo "#define DM_DAILY_TAG "\""$$DAILY_TAG"\""" >> $(VERSION_H);\
|
||||||
echo "#define DM_BUILD_VERSION "\""$$PATCH"\""" >> include/version.h;\
|
echo "#define DM_BUILD_VERSION "\""$$PATCH"\""" >> $(VERSION_H);\
|
||||||
echo "#define DM_BUILD_TIME "\""$$TIME"\""" >> include/version.h;\
|
echo "#define DM_BUILD_TIME "\""$$TIME"\""" >> $(VERSION_H);\
|
||||||
echo "#define DM_BUILD_USER "\""$$USER"\""" >> include/version.h
|
echo "#define DM_BUILD_USER "\""$$USER"\""" >> $(VERSION_H)
|
||||||
|
|
||||||
$(DM_OBJDIR)/%.o: %.c $(HEADERS)
|
$(DM_OBJDIR)/%.o: %.c $(HEADERS)
|
||||||
[ ! -e $@ ] && mkdir -p $(dir $@); \
|
[ ! -e $@ ] && mkdir -p $(dir $@); \
|
||||||
|
@ -1,20 +1,22 @@
|
|||||||
$(eval $(call check_dep_exec,menuconfig,MENUCONFIG_DEPS))
|
$(eval $(call check_dep_exec,menuconfig,MENUCONFIG_DEPS))
|
||||||
|
|
||||||
export KCONFIG_CONFIG := $(BASEDIR)/vmcfg/.config
|
export KCONFIG_CONFIG := $(DM_OBJDIR)/vmcfg/.config
|
||||||
|
|
||||||
.PHONY: oldconfig
|
.PHONY: oldconfig
|
||||||
oldconfig:
|
oldconfig:
|
||||||
|
mkdir -p $(dir $(KCONFIG_CONFIG))
|
||||||
@python3 $(BASEDIR)/../scripts/kconfig/silentoldconfig.py Kconfig $(KCONFIG_CONFIG)
|
@python3 $(BASEDIR)/../scripts/kconfig/silentoldconfig.py Kconfig $(KCONFIG_CONFIG)
|
||||||
|
|
||||||
%_defconfig:
|
%_defconfig:
|
||||||
|
mkdir -p $(dir $(KCONFIG_CONFIG))
|
||||||
@python3 $(BASEDIR)/../scripts/kconfig/defconfig.py Kconfig $(BASEDIR)/vmcfg/config/$@ $(KCONFIG_CONFIG)
|
@python3 $(BASEDIR)/../scripts/kconfig/defconfig.py Kconfig $(BASEDIR)/vmcfg/config/$@ $(KCONFIG_CONFIG)
|
||||||
|
|
||||||
$(KCONFIG_CONFIG): oldconfig
|
$(KCONFIG_CONFIG): oldconfig
|
||||||
|
|
||||||
$(BASEDIR)/include/vmcfg_config.h: $(KCONFIG_CONFIG)
|
$(DM_OBJDIR)/include/vmcfg_config.h: $(KCONFIG_CONFIG)
|
||||||
echo @mkdir -p $(dir $@)
|
echo @mkdir -p $(dir $@)
|
||||||
@mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
@python3 $(BASEDIR)/../scripts/kconfig/generate_header.py Kconfig $< $@
|
@python3 $(BASEDIR)/../scripts/kconfig/generate_header.py Kconfig $< $@
|
||||||
|
|
||||||
menuconfig: $(MENUCONFIG_DEPS) $(HV_OBJDIR)/$(HV_CONFIG)
|
menuconfig: $(MENUCONFIG_DEPS) $(HV_OBJDIR)/$(HV_CONFIG) $(KCONFIG_CONFIG)
|
||||||
@python3 $(shell which menuconfig) Kconfig
|
@python3 $(shell which menuconfig) Kconfig $(KCONFIG_CONFIG)
|
||||||
|
Loading…
Reference in New Issue
Block a user