xref: /illumos-gate/usr/src/cmd/hal/hald/Makefile (revision 5801b0f0)
118c2aff7Sartem#
218c2aff7Sartem# CDDL HEADER START
318c2aff7Sartem#
418c2aff7Sartem# The contents of this file are subject to the terms of the
518c2aff7Sartem# Common Development and Distribution License (the "License").
618c2aff7Sartem# You may not use this file except in compliance with the License.
718c2aff7Sartem#
818c2aff7Sartem# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
918c2aff7Sartem# or http://www.opensolaris.org/os/licensing.
1018c2aff7Sartem# See the License for the specific language governing permissions
1118c2aff7Sartem# and limitations under the License.
1218c2aff7Sartem#
1318c2aff7Sartem# When distributing Covered Code, include this CDDL HEADER in each
1418c2aff7Sartem# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1518c2aff7Sartem# If applicable, add the following below this CDDL HEADER, with the
1618c2aff7Sartem# fields enclosed by brackets "[]" replaced with your own identifying
1718c2aff7Sartem# information: Portions Copyright [yyyy] [name of copyright owner]
1818c2aff7Sartem#
1918c2aff7Sartem# CDDL HEADER END
2018c2aff7Sartem#
2118c2aff7Sartem#
2267e3a03eSrie# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
2318c2aff7Sartem# Use is subject to license terms.
2418c2aff7Sartem#
2518c2aff7Sartem
2618c2aff7SartemSUBDIRS =	solaris
2718c2aff7Sartem
2818c2aff7SartemPROG =		hald
2918c2aff7SartemOBJS =		hald_marshal.o device.o device_info.o device_store.o hald.o \
3018c2aff7Sartem		hald_dbus.o hald_runner.o ids.o logger.o property.o util.o \
3118c2aff7Sartem		util_helper.o util_pm.o
3218c2aff7SartemOBJS_SOL =	devinfo.o devinfo_ieee1394.o devinfo_misc.o devinfo_pci.o devinfo_storage.o \
33a9da3307Snp		devinfo_usb.o hotplug.o osspec.o sysevent.o devinfo_acpi.o \
34a9da3307Snp		devinfo_cpu.o
3518c2aff7SartemOBJS_ALL =	$(OBJS) $(OBJS_SOL:%=solaris/%)
3618c2aff7SartemSRCS =		$(OBJS:%.o=%.c)
3718c2aff7Sartem
3818c2aff7Sarteminclude ../../Makefile.cmd
3918c2aff7Sarteminclude ../Makefile.hal
4018c2aff7Sartem
4118c2aff7SartemROOTCMDDIR =	$(ROOTLIB_HAL)
4218c2aff7Sartem
4318c2aff7SartemLDLIBS +=	-lc -lm -ldbus-1 -ldbus-glib-1 -lglib-2.0 -lgobject-2.0 \
44a9da3307Snp		-ldevinfo -lsysevent -lnvpair -lkstat -lcfgadm
45*5801b0f0SToomas SoomeNATIVE_LIBS +=	libdbus-1.so libdbus-glib-1.so libglib-2.0.so \
46*5801b0f0SToomas Soome		libgobject-2.0.so libexpat.so
4718c2aff7Sartem
4818c2aff7Sartemall install $(PROG) :=	LDLIBS += -lexpat
4918c2aff7Sartem
5018c2aff7SartemCPPFLAGS +=	$(HAL_DBUS_CPPFLAGS) $(HAL_GLIB_CPPFLAGS) $(HAL_CONFIG_CPPFLAGS)
51bd0ce624SYuri PankovCSTD =	$(CSTD_GNU99)
5218c2aff7Sartem
53b6805bf7SGordon RossCLOBBERFILES += hald_marshal.c hald_marshal.h
54b6805bf7SGordon Ross
5518c2aff7Sartemall :=		TARGET= all
5618c2aff7Sarteminstall :=	TARGET= install
5718c2aff7Sartemclean :=	TARGET= clean
5818c2aff7Sartemclobber :=	TARGET= clobber
5918c2aff7Sartem$(PROG) :=	TARGET= all
6018c2aff7Sartem
6118c2aff7Sartem.KEEP_STATE:
6218c2aff7Sartem
6318c2aff7Sartemall: $(SUBDIRS) .WAIT $(PROG)
6418c2aff7Sartem
6518c2aff7Sartemhald_marshal.o: hald_marshal.h hald_marshal.c
6618c2aff7Sartem
6718c2aff7Sartemhald_marshal.h: hald_marshal.list
6818c2aff7Sartem	glib-genmarshal --prefix=hald_marshal hald_marshal.list --header >> xgen-gmh \
6918c2aff7Sartem	&& (cmp -s xgen-gmh hald_marshal.h || cp xgen-gmh hald_marshal.h) \
7018c2aff7Sartem	&& rm -f xgen-gmh xgen-gmh~
7118c2aff7Sartem
7218c2aff7Sartemhald_marshal.c: hald_marshal.list
7318c2aff7Sartem	glib-genmarshal --prefix=hald_marshal hald_marshal.list --body >> xgen-gmc \
7418c2aff7Sartem	&& (cmp -s xgen-gmc hald_marshal.c || cp xgen-gmc hald_marshal.c) \
7518c2aff7Sartem	&& rm -f xgen-gmc xgen-gmc~
7618c2aff7Sartem
7718c2aff7Sartem$(PROG): $(SUBDIRS) .WAIT $(OBJS_ALL)
7818c2aff7Sartem	$(LINK.c) -o $@ $(OBJS_ALL) $(LDLIBS)
7918c2aff7Sartem	$(POST_PROCESS)
8018c2aff7Sartem
8118c2aff7Sarteminstall: all $(ROOTCMD) $(SUBDIRS)
8218c2aff7Sartem
8318c2aff7Sartemclean: $(SUBDIRS)
84b6805bf7SGordon Ross	$(RM) $(OBJS) $(OBJS_SOL)
8518c2aff7Sartem
8618c2aff7Sartem$(SUBDIRS): FRC
8718c2aff7Sartem	@cd $@; pwd; $(MAKE) $(TARGET)
8818c2aff7Sartem
8918c2aff7SartemFRC:
9018c2aff7Sartem
9118c2aff7Sarteminclude ../../Makefile.targ
92