aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/Makefile
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-12-18 11:27:37 +0000
committerKeir Fraser <keir.fraser@citrix.com>2008-12-18 11:27:37 +0000
commitcea7a6cd7b6e6b95177ca9d93865041f5642b6e7 (patch)
treeadac406ac101c288e8331810a3bbc2658ce098a1 /extras/mini-os/Makefile
parent6840dfbbd0605b40b4b58a5cf2b5f5b97e1ef846 (diff)
downloadxen-cea7a6cd7b6e6b95177ca9d93865041f5642b6e7.tar.gz
xen-cea7a6cd7b6e6b95177ca9d93865041f5642b6e7.tar.bz2
xen-cea7a6cd7b6e6b95177ca9d93865041f5642b6e7.zip
Fix mini-os ia64 compilation
- Avoid nested function to avoid a trampoline. - Do not link mini-os_app.o when it is empty. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Diffstat (limited to 'extras/mini-os/Makefile')
-rw-r--r--extras/mini-os/Makefile8
1 files changed, 6 insertions, 2 deletions
diff --git a/extras/mini-os/Makefile b/extras/mini-os/Makefile
index ec24cba14a..78e0c9d527 100644
--- a/extras/mini-os/Makefile
+++ b/extras/mini-os/Makefile
@@ -93,8 +93,12 @@ endif
$(OBJ_DIR)/$(TARGET)_app.o: $(APP_OBJS) app.lds
$(LD) -r -d $(LDFLAGS) -\( $^ -\) $(APP_LDLIBS) --undefined main -o $@
-$(OBJ_DIR)/$(TARGET): links $(OBJS) $(OBJ_DIR)/$(TARGET)_app.o arch_lib
- $(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJ_DIR)/$(TARGET)_app.o $(OBJS) $(LDARCHLIB) $(LDLIBS) -o $@.o
+ifneq ($(APP_OBJS),)
+APP_O=$(OBJ_DIR)/$(TARGET)_app.o
+endif
+
+$(OBJ_DIR)/$(TARGET): links $(OBJS) $(APP_O) arch_lib
+ $(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(APP_O) $(OBJS) $(LDARCHLIB) $(LDLIBS) -o $@.o
$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start $@.o $@.o
$(LD) $(LDFLAGS) $(LDFLAGS_FINAL) $@.o $(EXTRA_OBJS) -o $@
gzip -f -9 -c $@ >$@.gz