Makefile revision 7c478bd95313f5f23a4c958a745db2134aa03244
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering#
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering# CDDL HEADER START
c2f1db8f83618e60dcded8303d14656d7d26b436Shawn Landden#
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering# The contents of this file are subject to the terms of the
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering# Common Development and Distribution License, Version 1.0 only
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering# (the "License"). You may not use this file except in compliance
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering# with the License.
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering#
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering# or http://www.opensolaris.org/os/licensing.
5430f7f2bc7330f3088b894166bf3524a067e3d8Lennart Poettering# See the License for the specific language governing permissions
5430f7f2bc7330f3088b894166bf3524a067e3d8Lennart Poettering# and limitations under the License.
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering#
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering# When distributing Covered Code, include this CDDL HEADER in each
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering# If applicable, add the following below this CDDL HEADER, with the
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering# fields enclosed by brackets "[]" replaced with your own identifying
5430f7f2bc7330f3088b894166bf3524a067e3d8Lennart Poettering# information: Portions Copyright [yyyy] [name of copyright owner]
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering#
5430f7f2bc7330f3088b894166bf3524a067e3d8Lennart Poettering# CDDL HEADER END
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering#
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering#
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering# Use is subject to license terms.
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering#
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering# ident "%Z%%M% %I% %E% SMI"
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering
81527be142678057215665be66e4b3c8306a7ab3Lennart PoetteringPROGS= pcom acom dcom tpcom dispsyms
81527be142678057215665be66e4b3c8306a7ab3Lennart PoetteringLDLIBS= -lelf
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poettering$(VAR_POUND_2)tpcom := LDLIBS += -lthread
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart PoetteringOBJS= $(PROGS:%=%.o)
6fe391c56d3f4231576ccc9d62d2000f37640a92Zbigniew Jędrzejewski-Szmek
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poettering.KEEP_STATE:
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poettering
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poetteringall: libobj.a .WAIT $(PROGS)
a963990ff4ebc7908d3cf82bbd8cf34a42d57b7fLennart Poettering
a963990ff4ebc7908d3cf82bbd8cf34a42d57b7fLennart Poetteringlibobj.a: $(OBJS)
a963990ff4ebc7908d3cf82bbd8cf34a42d57b7fLennart Poettering ar -r $@ $(OBJS)
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poettering
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poettering%.o: %.c
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poettering $(CC) $(CPPFLAGS) $(CFLAGS) -c $<
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poettering mcs -d -a "ELF demo: object comment: $@" $@
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poettering
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering%: %.o
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering $(CC) $(CFLAGS) -o $@ $< $(LDLIBS)
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poettering mcs -d -a "ELF demo: executable comment: $@" $@
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poettering
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poetteringtest: test1 test2 test3 test4 test5 test6
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poettering
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poetteringtest1: pcom FRC
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering @ echo ""
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering @ echo "<<< Test 1 >>>"
4fd052aede13eb3041277c54ac2f5dee6e6c29cfFrederic Crozat @ echo "Print comments of pcom"
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering pcom pcom
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poettering @ echo
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poettering @ echo "Print comments from archive libobj.a"
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering pcom libobj.a
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poetteringtest2: dcom pcom FRC
a3eb665e0c12df35e807611582e7332ebed325b1Lennart Poettering @ echo ""
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poettering @ echo "<<< Test 2 >>>"
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poettering @ echo "Delete the comment section from pcom"
a3eb665e0c12df35e807611582e7332ebed325b1Lennart Poettering TMPDIR= dcom pcom
a3eb665e0c12df35e807611582e7332ebed325b1Lennart Poettering pcom pcom
a3eb665e0c12df35e807611582e7332ebed325b1Lennart Poettering
a87247dd5dc3892f858e920d09b16cc2a8b9b3c4Lennart Poetteringtest3: pcom acom test2 FRC
a3eb665e0c12df35e807611582e7332ebed325b1Lennart Poettering @ echo ""
a3eb665e0c12df35e807611582e7332ebed325b1Lennart Poettering @ echo "<<< Test 3 >>>"
a3eb665e0c12df35e807611582e7332ebed325b1Lennart Poettering @ echo "update comments from pcom and then print them out."
a87247dd5dc3892f858e920d09b16cc2a8b9b3c4Lennart Poettering acom "Newly Updated Comments" pcom
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poettering pcom pcom
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poettering
a963990ff4ebc7908d3cf82bbd8cf34a42d57b7fLennart Poetteringtest4: acom pcom test3 FRC
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart Poettering @ echo ""
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering @ echo "<<< Test 4 >>>"
6866780115a7c0af034f287d965f4bf6b02c1e6dZbigniew Jędrzejewski-Szmek @ echo "Append to the comment section of pcom."
6866780115a7c0af034f287d965f4bf6b02c1e6dZbigniew Jędrzejewski-Szmek acom "This comment has been appended" pcom
6866780115a7c0af034f287d965f4bf6b02c1e6dZbigniew Jędrzejewski-Szmek pcom pcom
6866780115a7c0af034f287d965f4bf6b02c1e6dZbigniew Jędrzejewski-Szmek
6866780115a7c0af034f287d965f4bf6b02c1e6dZbigniew Jędrzejewski-Szmektest5: $(PROGS) FRC
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering @ echo ""
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering @ echo "<<< Test 5 >>>"
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering @ echo "Relabel the new utilities using the new utilities."
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering TMPDIR= dcom $(PROGS)
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering cp acom acom.safe
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering acom.safe "libelf Demonstration Tools" $(PROGS)
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering pcom $(PROGS)
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering $(RM) acom.safe
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering
a963990ff4ebc7908d3cf82bbd8cf34a42d57b7fLennart Poetteringtest6: dispsyms FRC
a963990ff4ebc7908d3cf82bbd8cf34a42d57b7fLennart Poettering @ echo ""
a963990ff4ebc7908d3cf82bbd8cf34a42d57b7fLennart Poettering @ echo "<<< Test 6 >>>"
a963990ff4ebc7908d3cf82bbd8cf34a42d57b7fLennart Poettering @ echo "Display symbols in dispsyms itself."
a963990ff4ebc7908d3cf82bbd8cf34a42d57b7fLennart Poettering dispsyms dispsyms | egrep -v "LOCL|ABS|SECT|UNDEF"
a963990ff4ebc7908d3cf82bbd8cf34a42d57b7fLennart Poettering
a963990ff4ebc7908d3cf82bbd8cf34a42d57b7fLennart Poetteringtest-extra: tpcom FRC
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering @ echo ""
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering @ echo "<<< Test-extra >>>"
7827b1a10f4dfe2c6771b515f28f7ae22e0ae039Lennart Poettering @ echo "Using the threaded tpcom, go through and examine all"
897395791f53064d8c9a18cf6b6567404fbedf15Lennart Poettering @ echo "libraries in /lib. This is an output intensive test."
7827b1a10f4dfe2c6771b515f28f7ae22e0ae039Lennart Poettering tpcom /lib/lib*.so.?
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering
16e9f408fa9a9626059bdd6c89dc175e06b9e976Lennart Poetteringclean: FRC
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering $(RM) $(OBJS) $(PROGS) libobj.a core
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering
cbdca8525b4f36297cb9e5cb090a9648763ed1bfLennart PoetteringFRC:
f39e126e990869e33a002763ec02aa0aeb06214aLennart Poettering