337 lines · 5.6 KB · Text
RawDownload
ifeq ($(OS),linux)PLAN9VX=1PLAN9GUI=x11PLAN9AUDIO=unixPLAN9PCAP=nopcapPLAN9TAP=ethertapendif ifeq ($(OS),darwin)PLAN9VX=1PLAN9GUI=osxPLAN9AUDIO=nonePLAN9PCAP=nopcapPLAN9TAP=ethertapendif ifeq ($(OS),freebsd)PLAN9VX=1PLAN9GUI=x11PLAN9AUDIO=unixPLAN9PCAP=nopcapPLAN9TAP=notapendif # Boot files# Do not remove:# - boot, needed to boot# - factotum, used by libauthPLAN9BOOT=\	9660srv \	boot \	bzfs \	factotum \	fossil \	kfs \	rootfs \	venti \ # Default argument to bootPLAN9BOOTARG=local!/boot/rootfs # If you don't have/want X11#PLAN9GUI=nogui # Virtual ethernet devices#PLAN9PCAP=etherpcap#PLAN9PCAP=nopcap#PLAN9TAP=ethertap#PLAN9TAP=notap ifeq ($(PLAN9VX),1) PLAN9SCRIPTS = \	$(addprefix $(BINDIR)/, \		9vxc \		9vxp \		acmevx \		rcvx \		tap \	) all: 9vx/9vx9vx/install: $(BINDIR)/9vx $(PLAN9SCRIPTS) $(BINDIR)/9vx: 9vx/9vx	$(INSTALL) $< $@ $(BINDIR)/%: ../bin/%	$(INSTALL) $< $@ PLAN9_BOOT_OBJS = $(PLAN9BOOT:%=9vx/%.o) PLAN9_OBJS = \	$(addprefix 9vx/, \		bootinit.o \		conf.o \		devaudio.o \		devaudio-$(PLAN9AUDIO).o \		devfs-posix.o \		devmntloop.o \		devmouse.o \		devram.o \		devtab.o \		kprocdev.o \		label.o \		load.o \		main.o \		mmu.o \		sched.o \		sdloop.o \		stub.o \		term.o \		time.o \		trap.o \		tty.o \		vx32.o \	) ifeq ($(OS),darwin)PLAN9_OBJS := $(PLAN9_OBJS) 9vx/osx/signal.o 9vx/osx/cmpswap.oendif # While we could do an || here on the os, leave this: linux # or freebsd may later differ in what they do. ifeq ($(OS),linux)PLAN9_OBJS := $(PLAN9_OBJS) 9vx/gccmagic/cmpswap.oendif ifeq ($(OS),freebsd)PLAN9_OBJS := $(PLAN9_OBJS) 9vx/gccmagic/cmpswap.oendif PLAN9_A_OBJS = \	$(addprefix 9vx/a/, \		allocb.o \		auth.o \		chan.o \		classmask.o \		cleanname.o \		convD2M.o \		convM2D.o \		convS2M.o \		convM2S.o \		dev.o \		devcap.o \		devcons.o \		devdraw.o \		devdup.o \		devenv.o \		devmnt.o \		devproc.o \		devpipe.o \		devroot.o \		devsd.o \		devsrv.o \		devssl.o \		devtls.o \		eipfmt.o \		encodefmt.o \		fault.o \		fcallfmt.o \		fmt.o \		getfields.o \		ipaux.o \		latin1.o \		page.o \		parse.o \		parseip.o \		part.o \		pgrp.o \		print.o \		proc.o \		qio.o \		qlock.o \		sdscsi.o \		segment.o \		strecpy.o \		swap.o \		sysfile.o \		sysproc.o \		thwack.o \		tokenize.o \		u16.o \		u32.o \		u64.o \		unthwack.o \		utf.o \	) PLAN9_IP_OBJS = \	$(addprefix 9vx/,\		devip.o \		devip-posix.o \		$(PLAN9PCAP).o \		$(PLAN9TAP).o \		vether.o \	) \	$(addprefix 9vx/a/,\		devaoe.o \		devether.o \		netif.o \		sdaoe.o \	) \	$(addprefix 9vx/a/ip/,\		arp.o \		chandial.o \		devip.o \		esp.o \		ethermedium.o \		gre.o \		icmp.o \		icmp6.o \		il.o \		inferno.o \		ip.o \		ipaux.o \		ipifc.o \		ipmux.o \		iproute.o \		ipv6.o \		loopbackmedium.o \		netdevmedium.o \		netlog.o \		nullmedium.o \		pktmedium.o \		ptclbsum.o \		tcp.o \		udp.o \	)ifneq ($(PLAN9PCAP), nopcap)PLAN9_IP_LIBS = -lpcapelsePLAN9_IP_LIBS =endif PLAN9_nogui_OBJS = \	$(addprefix 9vx/,\		nogui.o \	) PLAN9_nogui_LIBS =  PLAN9_x11_OBJS = \	$(addprefix 9vx/x11/, \		x11-draw.o \		x11-init.o \		x11-itrans.o \		x11-kernel.o \		x11-keysym2rune.o \	)PLAN9_x11_LIBS = -L/usr/X11R6/lib -L/usr/local/lib -lX11 PLAN9_osx_OBJS =\	$(addprefix 9vx/osx/, \		screen.o \		draw.o \	)PLAN9_osx_LIBS = -ggdb -framework Carbon -framework QuickTime  PLAN9_GUI_OBJS = $(PLAN9_$(PLAN9GUI)_OBJS)PLAN9_GUI_LIBS = $(PLAN9_$(PLAN9GUI)_LIBS) PLAN9_DEPS = \	$(PLAN9_OBJS) \	$(PLAN9_A_OBJS) \	$(PLAN9_BOOT_OBJS) \	$(PLAN9_IP_OBJS) \	$(PLAN9_GUI_OBJS) \	9vx/libsec/libsec.a \	9vx/libmemlayer/libmemlayer.a \	9vx/libmemdraw/libmemdraw.a \	9vx/libdraw/libdraw.a \	libvx32/libvx32.a \ 9vx/9vx: $(PLAN9_DEPS)	$(HOST_CC) -o $@ $(HOST_LDFLAGS) $(PLAN9_DEPS) $(PLAN9_GUI_LIBS) $(PLAN9_IP_LIBS) -lpthread  9vx/a/%.o: 9vx/a/%.c	$(HOST_CC) $(HOST_CFLAGS) -I. -I9vx -I9vx/a -Wall -Wno-missing-braces -c -o $@ $< 9vx/a/ip/%.o: 9vx/a/ip/%.c	$(HOST_CC) $(HOST_CFLAGS) -I. -I9vx -I9vx/a -Wall -Wno-missing-braces -c -o $@ $< 9vx/x11/%.o: 9vx/x11/%.c	$(HOST_CC) $(HOST_CFLAGS) -I. -I9vx -I9vx/a -I/usr/X11R6/include -I/usr/local/include -Wall -Wno-missing-braces -c -o $@ $< 9vx/osx/%.o: 9vx/osx/%.c	$(HOST_CC) $(HOST_CFLAGS) -I. -I9vx -I9vx/a -Wall -Wno-missing-braces -c -o $@ $< 9vx/%.o: 9vx/%.c	$(HOST_CC) $(HOST_CFLAGS) -D "BOOTARG=\"$(PLAN9BOOTARG)\"" -I. -I9vx -I9vx/a -Wall -Wno-missing-braces -c -o $@ $< 9vx/%.o: 9vx/%.S	$(HOST_CC) $(HOST_CFLAGS) -I. -I9vx -I9vx/a -Wall -Wno-missing-braces -c -o $@ $< 9vx/bootinit.c: 9vx/mkbootinitc	9vx/mkbootinitc $(PLAN9BOOT) >$@ 9vx/data2s: 9vx/data2s.c	$(HOST_CC) -o $@ $< # We need the sed command to have a correct variable name for 9660srv9vx/%.S: 9vx/%.9 9vx/data2s	./9vx/data2s `echo $* | sed 's/^[0-9]/_&/'` < $< >$@_ && mv $@_ $@ 9vx/%.S: 9vx/%.bz2 9vx/data2s	./9vx/data2s `echo $* | sed 's/^[0-9]/_&/'` < $< >$@_ && mv $@_ $@ 9vx/a/errstr.h: 9vx/a/error.h	sed 's/extern //; s!;.*/\* ! = "!; s! \*\/!";!' 9vx/a/error.h >9vx/a/errstr.h 9vx/a/proc.o: 9vx/a/errstr.h 9vx/stub.o: 9vx/kerndate.h 9vx/kerndate.h:	echo 'ulong kerndate =' `date +%s` ';' >9vx/kerndate.h .PHONY: 9vx/kerndate.h 9vx/AUTOGEN: 9vx/a/AUTOGEN 9vx/9vx .PHONY: 9vx/AUTOGEN 9vx/a/AUTOGEN:	cd 9vx/a/; ./AUTOGEN -r $(ROOT) .PHONY: 9vx/a/AUTOGEN CLEAN_FILES += \	9vx/*.d \	9vx/*.o \	9vx/a/*.d \	9vx/a/*.o \	9vx/x11/*.d \	9vx/x11/*.o \	9vx/kerndate.h \	9vx/a/errstr.h \	9vx/9vx \	9vx/bootinit.c \	9vx/data2s \	9vx/9660srv.S \	9vx/boot.S \	9vx/bzfs.S \	9vx/factotum.S \	9vx/fossil.S \	9vx/kfs.S \	9vx/rootfs.S \	9vx/venti.S include 9vx/libdraw/Makefraginclude 9vx/libmemlayer/Makefraginclude 9vx/libmemdraw/Makefraginclude 9vx/libsec/Makefrag endif