blob: c0bb73a5200446acdb2d060d5147bbf4f80a0bc8 [file] [log] [blame]
# *****************************************************************************
# * Copyright (c) 2004, 2008 IBM Corporation
# * All rights reserved.
# * This program and the accompanying materials
# * are made available under the terms of the BSD License
# * which accompanies this distribution, and is available at
# * http://www.opensource.org/licenses/bsd-license.php
# *
# * Contributors:
# * IBM Corporation - initial implementation
# ****************************************************************************/
TOP=$(shell pwd)
export TOP
include $(TOP)/make.rules
OBJS = kernel/kernel.o oflib/oflib.o libc/libc-glue.o app/app.o
.PHONY : subdirs clean depend mrproper
CLIENTLIBS = $(LIBCMNDIR)/libelf.a $(LIBCMNDIR)/libc.a
all: .depend subdirs
$(MAKE) client
client : $(OBJS) $(CLIENTLIBS)
$(LD) $(LDFLAGS) -o $@ -Tclient.lds $(OBJS) $(CLIENTLIBS)
cp $@ $@.unstripped
$(STRIP) --strip-unneeded $@
client.dis: client
$(OBJDUMP) -DSsx client.unstripped > $@
sec-client : subdirs $(OBJS) $(LIBCMNDIR)/libc.a
$(LD) $(LDFLAGS) -o $@ -Tsec-client.lds $(OBJS) $(LIBCMNDIR)/libc.a
subdirs :
@for dir in $(dir $(OBJS)); do \
$(MAKE) -C $$dir || exit 1; \
done
$(LIBCMNDIR)/%.a:
$(MAKE) -C $(LIBCMNDIR) $(@:$(LIBCMNDIR)/%.a=%)
clean:
@for dir in $(dir $(OBJS)); do \
$(MAKE) -C $$dir clean; \
done
rm -f $(OBJS) client diag netboot sec-client net-diag \
*.dis client.unstripped fpga-client
mrproper : clean
$(MAKE) -C app mrproper
$(MAKE) -C libc mrproper
$(MAKE) -C kernel mrproper
$(MAKE) -C oflib mrproper
find -name .*.bak | xargs rm -rf
$(RM) .depend
distclean: mrproper
depend .depend:
$(MAKE) -C app depend
$(MAKE) -C libc depend
$(MAKE) -C kernel depend
$(MAKE) -C oflib depend
touch .depend