tools/debugger/gdbsx: Fix and cleanup makefiles

gdbsx/:
  - Make use of subdir facility for the "clean" target.
  - No need to remove the *.a, they aren't in this dir.
  - Avoid calling "distclean" in subdirs as "distclean" targets do only
    call "clean", and the "clean" also runs "clean" in subdirs.
  - Avoid the need to make "gx_all.a" and "xg_all.a" in the "all"
    recipe by forcing make to check for update of "xg/xg_all.a" and
    "gx/gx_all.a" by having "FORCE" as prerequisite. Now, when making
    "gdbsx", make will recurse even when both *.a already exist.
  - List target in $(TARGETS).

gdbsx/*/:
  - Fix dependency on *.h.
  - Remove some dead code.
  - List targets in $(TARGETS).
  - Remove "build" target.
  - Cleanup "clean" targets.
  - remove comments about the choice of "ar" instead of "ld"
  - Use "$(AR)" instead of plain "ar".

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
Release-acked-by: Henry Wang <Henry.Wang@arm.com>
This commit is contained in:
Anthony PERARD authored and Andrew Cooper committed 2022-10-14 16:16:54 +01:00
1 parent 197f612b77
commit 3a206abcd7
3 files changed
+24 -36

No files matched your search

+10 -10
View File
@@ -1,20 +1,20 @@
XEN_ROOT = $(CURDIR)/../../..
include ./Rules.mk
SUBDIRS-y += gx
SUBDIRS-y += xg
TARGETS := gdbsx
.PHONY: all
all:
$(MAKE) -C gx
$(MAKE) -C xg
$(MAKE) gdbsx
all: $(TARGETS)
.PHONY: clean
clean:
rm -f xg_all.a gx_all.a gdbsx
set -e; for d in xg gx; do $(MAKE) -C $$d clean; done
clean: subdirs-clean
rm -f $(TARGETS)
.PHONY: distclean
distclean: clean
set -e; for d in xg gx; do $(MAKE) -C $$d distclean; done
.PHONY: install
install: all
@@ -28,7 +28,7 @@ uninstall:
gdbsx: gx/gx_all.a xg/xg_all.a
$(CC) $(LDFLAGS) -o $@ $^
xg/xg_all.a:
xg/xg_all.a: FORCE
$(MAKE) -C xg
gx/gx_all.a:
gx/gx_all.a: FORCE
$(MAKE) -C gx
+7 -8
View File
@@ -2,21 +2,20 @@ XEN_ROOT = $(CURDIR)/../../../..
include ../Rules.mk
GX_OBJS := gx_comm.o gx_main.o gx_utils.o gx_local.o
GX_HDRS := $(wildcard *.h)
TARGETS := gx_all.a
.PHONY: all
all: gx_all.a
all: $(TARGETS)
.PHONY: clean
clean:
rm -rf gx_all.a *.o .*.d
rm -f *.o $(TARGETS) $(DEPS_RM)
.PHONY: distclean
distclean: clean
#%.o: %.c $(GX_HDRS) Makefile
# $(CC) -c $(CFLAGS) -o $@ $<
gx_all.a: $(GX_OBJS) Makefile $(GX_HDRS)
ar cr $@ $(GX_OBJS) # problem with ld using -m32
gx_all.a: $(GX_OBJS) Makefile
$(AR) cr $@ $(GX_OBJS)
-include $(DEPS_INCLUDE)
+7 -18
View File
@@ -1,35 +1,24 @@
XEN_ROOT = $(CURDIR)/../../../..
include ../Rules.mk
XG_HDRS := xg_public.h
XG_OBJS := xg_main.o
CFLAGS += -D__XEN_TOOLS__
CFLAGS += $(CFLAGS_xeninclude)
TARGETS := xg_all.a
.PHONY: all
all: build
all: $(TARGETS)
.PHONY: build
build: xg_all.a $(XG_HDRS) $(XG_OBJS) Makefile
# build: mk-symlinks xg_all.a $(XG_HDRS) $(XG_OBJS) Makefile
# build: mk-symlinks xg_all.a
xg_all.a: $(XG_OBJS) Makefile $(XG_HDRS)
ar cr $@ $(XG_OBJS) # problems using -m32 in ld
# $(LD) -b elf32-i386 $(LDFLAGS) -r -o $@ $^
# $(CC) -m32 -c -o $@ $^
# xg_main.o: xg_main.c Makefile $(XG_HDRS)
#$(CC) -c $(CFLAGS) -o $@ $<
# %.o: %.c $(XG_HDRS) Makefile -- doesn't work as it won't overwrite Rules.mk
#%.o: %.c -- doesn't recompile when .c changed
xg_all.a: $(XG_OBJS) Makefile
$(AR) cr $@ $(XG_OBJS)
.PHONY: clean
clean:
rm -rf xen xg_all.a $(XG_OBJS) .*.d
rm -f $(TARGETS) $(XG_OBJS) $(DEPS_RM)
.PHONY: distclean
distclean: clean
-include $(DEPS_INCLUDE)
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.