66 lines
1.7 KiB
Makefile
66 lines
1.7 KiB
Makefile
# *****************************************************************************
|
|
# * 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
|