mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-22 10:21:04 +00:00
parent
7d4f8fa746
commit
e17f271ba6
@ -2,74 +2,10 @@
|
||||
# \brief Download and setup OSS sources
|
||||
# \author Sebastian Sumpf
|
||||
# \date 2012-08-30
|
||||
|
||||
CONTRIB_DIR = contrib
|
||||
DOWNLOAD_DIR = download
|
||||
VERBOSE ?= @
|
||||
ECHO = @echo
|
||||
CC ?= gcc
|
||||
PATCHES := $(shell find patches -name \*.patch)
|
||||
|
||||
OSS = oss-v4.2-build2006-src-bsd
|
||||
OSS_TBZ2 = $(OSS).tar.bz2
|
||||
OSS_URL = http://www.4front-tech.com/developer/sources/stable/bsd/$(OSS_TBZ2)
|
||||
|
||||
|
||||
# needed for preparation
|
||||
CONTENT_SETUP = $(addprefix setup/,srcconf.c srcconf_freebsd.inc srcconf_vxworks.inc gen_driver_freebsd.inc)
|
||||
CONTENT += $(CONTENT_SETUP)
|
||||
|
||||
# oss framework
|
||||
CONTENT_FRAMEWORK = $(addprefix kernel/framework/include/,oss_config.h oss_memblk.h \
|
||||
oss_version.h audio_core.h mixer_core.h oss_calls.h \
|
||||
internal.h oss_pci.h spdif.h midi_core.h grc3.h ac97.h \
|
||||
ossddk/oss_exports.h ossddk/oss_limits.PHh ossddk/ossddk.h)
|
||||
CONTENT += $(CONTENT_FRAMEWORK)
|
||||
|
||||
# oss core
|
||||
CONTENT_CORE = $(addprefix kernel/framework/osscore/,oss_memblk.c oss_core_options.c \
|
||||
oss_core_services.c)
|
||||
CONTENT += $(CONTENT_CORE)
|
||||
CONTENT += include/soundcard.h kernel/drv/.config
|
||||
|
||||
# audio core
|
||||
CONTENT_AUDIO = $(addprefix kernel/framework/audio/,oss_audio_core.c oss_spdif.c oss_audiofmt.c \
|
||||
ulaw.h audiocnv.inc oss_grc3.c fltdata2_h.inc \
|
||||
grc3code.inc grc3inc.inc)
|
||||
CONTENT += $(CONTENT_AUDIO)
|
||||
|
||||
# mixer core
|
||||
CONTENT_MIXER = $(addprefix kernel/framework/mixer/,oss_mixer_core.c mixerdefs.h)
|
||||
CONTENT += $(CONTENT_MIXER)
|
||||
|
||||
# vmixer core
|
||||
CONTENT_VMIX = $(addprefix kernel/framework/vmix_core/,vmix_core.c vmix_input.c vmix.h db_scale.h \
|
||||
vmix_import.inc vmix_import_int.inc \
|
||||
rec_export.inc rec_export_int.inc \
|
||||
vmix_output.c outexport.inc outexport_int.inc \
|
||||
playmix.inc playmix_int.inc playmix_src.inc)
|
||||
CONTENT += $(CONTENT_VMIX)
|
||||
|
||||
# midi core
|
||||
CONTENT_MIDI = $(addprefix kernel/framework/midi/,oss_midi_core.c oss_midi_timers.c oss_midi_mapper.c \
|
||||
oss_midi_queue.c)
|
||||
CONTENT += $(CONTENT_MIDI)
|
||||
|
||||
# AC97 core
|
||||
CONTENT += kernel/framework/ac97
|
||||
|
||||
# drivers
|
||||
CONTENT_DRV += oss_ich oss_hdaudio oss_audiopci
|
||||
CONTENT += $(addprefix kernel/drv/,$(CONTENT_DRV))
|
||||
|
||||
|
||||
#
|
||||
# Utility to check if a tool is installed
|
||||
#
|
||||
check_tool = $(if $(shell which $(1)),,$(error Need to have '$(1)' installed.))
|
||||
|
||||
$(call check_tool,wget)
|
||||
$(call check_tool,patch)
|
||||
VERBOSE ?= @
|
||||
ECHO = @echo
|
||||
|
||||
#
|
||||
# Print help information by default
|
||||
@ -80,45 +16,7 @@ help:
|
||||
$(ECHO)
|
||||
$(ECHO) "--- available commands ---"
|
||||
$(ECHO) "prepare - download and integrate OSS source code"
|
||||
$(ECHO) "clean - remove contib sources except downloaded archives"
|
||||
$(ECHO) "cleanall - remove contib sources and downloaded archives"
|
||||
$(ECHO)
|
||||
|
||||
#
|
||||
# Build and execute 'srcconf' utility, build 'devices.list'
|
||||
#
|
||||
setup:
|
||||
$(VERBOSE)ln -sf srcconf_freebsd.inc $(CONTRIB_DIR)/setup/srcconf_linux.inc
|
||||
$(VERBOSE)ln -sf gen_driver_freebsd.inc $(CONTRIB_DIR)/setup/gen_driver_linux.inc
|
||||
$(VERBOSE)mkdir -p $(CONTRIB_DIR)/kernel/framework/include
|
||||
$(VERBOSE)mkdir -p $(CONTRIB_DIR)/kernel/OS/Linux
|
||||
$(VERBOSE)$(CC) -g -I$(CONTRIB_DIR)/setup -o srcconf $(CONTRIB_DIR)/setup/srcconf.c
|
||||
$(VERBOSE)cat `find $(CONTRIB_DIR)/kernel/drv -name .devices`| grep -v '^#' > $(CONTRIB_DIR)/devices.list
|
||||
$(VERBOSE)cd $(CONTRIB_DIR) && ../srcconf
|
||||
$(VERBOSE)cd $(CONTRIB_DIR)/target/build ; for f in *.c; do mv $$f pci_$$f; done
|
||||
$(VERBOSE)rm srcconf
|
||||
|
||||
prepare: $(CONTRIB_DIR)/.prepared setup
|
||||
|
||||
$(CONTRIB_DIR)/.prepared: Makefile
|
||||
$(CONTRIB_DIR)/.prepared: $(DOWNLOAD_DIR)/$(OSS_TBZ2)
|
||||
$(ECHO) "extracting source code to '$(CONTRIB_DIR)'"
|
||||
$(VERBOSE)tar xfj $< --transform "s/$(OSS)/$(CONTRIB_DIR)/" $(addprefix $(OSS)/,$(CONTENT))
|
||||
$(VERBOSE)touch $@
|
||||
$(ECHO) "applying patches to '$(CONTRIB_DIR)/'"
|
||||
$(VERBOSE)for i in $(PATCHES); do patch -d $(CONTRIB_DIR) -p1 < $$i; done
|
||||
|
||||
|
||||
$(DOWNLOAD_DIR):
|
||||
$(VERBOSE)mkdir -p $@
|
||||
|
||||
$(DOWNLOAD_DIR)/$(OSS_TBZ2): $(DOWNLOAD_DIR)
|
||||
$(ECHO) "downloading source code to '$@'"
|
||||
$(VERBOSE)cd $(DOWNLOAD_DIR); wget -c $(OSS_URL)
|
||||
$(VERBOSE)touch $@
|
||||
|
||||
clean:
|
||||
$(VERBOSE)rm -rf $(CONTRIB_DIR)
|
||||
|
||||
cleanall: clean
|
||||
$(VERBOSE)rm -rf $(DOWNLOAD_DIR)
|
||||
prepare:
|
||||
$(VERBOSE)../../tool/ports/prepare_port oss
|
||||
|
1
repos/dde_oss/ports/oss.hash
Normal file
1
repos/dde_oss/ports/oss.hash
Normal file
@ -0,0 +1 @@
|
||||
dummy
|
84
repos/dde_oss/ports/oss.port
Normal file
84
repos/dde_oss/ports/oss.port
Normal file
@ -0,0 +1,84 @@
|
||||
LICENSE := BSD
|
||||
VERSION := 4.2
|
||||
DOWNLOADS := oss.archive
|
||||
|
||||
oss := oss-v4.2-build2006-src-bsd
|
||||
URL(oss) := http://www.4front-tech.com/developer/sources/stable/bsd/$(oss).tar.bz2
|
||||
SHA(oss) := ff1eb11952f05c27fdf8f9d4f64c8f7bbe2abdd4
|
||||
DIR(oss) := src/lib/oss
|
||||
|
||||
PATCHES := $(addprefix patches/,$(notdir $(wildcard $(REP_DIR)/patches/*.patch)))
|
||||
PATCH_OPT := -p1 -d src/lib/oss
|
||||
|
||||
#
|
||||
# Define the portions of the tar archive to extract
|
||||
#
|
||||
|
||||
# needed for preparation
|
||||
content_setup = $(addprefix setup/,srcconf.c srcconf_freebsd.inc srcconf_vxworks.inc gen_driver_freebsd.inc)
|
||||
content += $(content_setup)
|
||||
|
||||
# oss framework
|
||||
content_framework = $(addprefix kernel/framework/include/,oss_config.h oss_memblk.h \
|
||||
oss_version.h audio_core.h mixer_core.h oss_calls.h \
|
||||
internal.h oss_pci.h spdif.h midi_core.h grc3.h ac97.h \
|
||||
ossddk/oss_exports.h ossddk/oss_limits.PHh ossddk/ossddk.h)
|
||||
content += $(content_framework)
|
||||
|
||||
# oss core
|
||||
content_core = $(addprefix kernel/framework/osscore/,oss_memblk.c oss_core_options.c \
|
||||
oss_core_services.c)
|
||||
content += $(content_core)
|
||||
content += include/soundcard.h kernel/drv/.config
|
||||
|
||||
# audio core
|
||||
content_audio = $(addprefix kernel/framework/audio/,oss_audio_core.c oss_spdif.c oss_audiofmt.c \
|
||||
ulaw.h audiocnv.inc oss_grc3.c fltdata2_h.inc \
|
||||
grc3code.inc grc3inc.inc)
|
||||
content += $(content_audio)
|
||||
|
||||
# mixer core
|
||||
content_mixer = $(addprefix kernel/framework/mixer/,oss_mixer_core.c mixerdefs.h)
|
||||
content += $(content_mixer)
|
||||
|
||||
# vmixer core
|
||||
content_vmix = $(addprefix kernel/framework/vmix_core/,vmix_core.c vmix_input.c vmix.h db_scale.h \
|
||||
vmix_import.inc vmix_import_int.inc \
|
||||
rec_export.inc rec_export_int.inc \
|
||||
vmix_output.c outexport.inc outexport_int.inc \
|
||||
playmix.inc playmix_int.inc playmix_src.inc)
|
||||
content += $(content_vmix)
|
||||
|
||||
# midi core
|
||||
content_midi = $(addprefix kernel/framework/midi/,oss_midi_core.c oss_midi_timers.c oss_midi_mapper.c \
|
||||
oss_midi_queue.c)
|
||||
content += $(content_midi)
|
||||
|
||||
# ac97 core
|
||||
content += kernel/framework/ac97
|
||||
|
||||
# drivers
|
||||
content_drv += oss_ich oss_hdaudio oss_audiopci
|
||||
content += $(addprefix kernel/drv/,$(content_drv))
|
||||
|
||||
# use custom options for extracting the tar archive
|
||||
TAR_OPT(oss) = $(addprefix $(oss)/,$(content)) --strip-components=1
|
||||
|
||||
|
||||
#
|
||||
# Build and execute 'srcconf' utility, build 'devices.list'
|
||||
#
|
||||
|
||||
CC ?= gcc
|
||||
default: setup
|
||||
setup: $(DOWNLOADS)
|
||||
$(VERBOSE)ln -sf srcconf_freebsd.inc src/lib/oss/setup/srcconf_linux.inc
|
||||
$(VERBOSE)ln -sf gen_driver_freebsd.inc src/lib/oss/setup/gen_driver_linux.inc
|
||||
$(VERBOSE)mkdir -p src/lib/oss/kernel/framework/include
|
||||
$(VERBOSE)mkdir -p src/lib/oss/kernel/OS/Linux
|
||||
$(VERBOSE)$(CC) -g -Isrc/lib/oss/setup -o srcconf src/lib/oss/setup/srcconf.c
|
||||
$(VERBOSE)rm -f src/lib/oss/kernel/framework/include/ossddk/oss_limits.h
|
||||
$(VERBOSE)cat `find src/lib/oss/kernel/drv -name .devices`| grep -v '^#' > src/lib/oss/devices.list
|
||||
$(VERBOSE)cd src/lib/oss && ../../../srcconf
|
||||
$(VERBOSE)cd src/lib/oss/target/build ; for f in *.c; do mv $$f pci_$$f; done
|
||||
$(VERBOSE)rm srcconf
|
@ -1,7 +1,7 @@
|
||||
TARGET = audio_out_drv
|
||||
REQUIRES = x86_32
|
||||
LIBS = dde_kit
|
||||
CONTRIB_DIR = $(REP_DIR)/contrib
|
||||
OSS_DIR := $(call select_from_ports,oss)/src/lib/oss
|
||||
|
||||
|
||||
|
||||
@ -23,12 +23,12 @@ SRC_C = dummies.c
|
||||
#
|
||||
# Driver sources
|
||||
#
|
||||
DRV = $(addprefix $(CONTRIB_DIR)/,kernel/drv target)
|
||||
DRV = $(addprefix $(OSS_DIR)/,kernel/drv target)
|
||||
|
||||
#
|
||||
# Framwork sources
|
||||
#
|
||||
FRAMEWORK = $(addprefix $(CONTRIB_DIR)/kernel/framework/,\
|
||||
FRAMEWORK = $(addprefix $(OSS_DIR)/kernel/framework/,\
|
||||
osscore audio mixer vmix_core midi ac97)
|
||||
|
||||
# find C files
|
||||
@ -38,7 +38,7 @@ SRC_C += $(shell find $(DRV) $(FRAMEWORK) -name *.c -exec basename {} ";")
|
||||
PATHS = $(shell find $(DRV) $(FRAMEWORK) -type d)
|
||||
|
||||
# add include directories
|
||||
INC_DIR += $(CONTRIB_DIR)/kernel/framework/include $(CONTRIB_DIR)/include \
|
||||
INC_DIR += $(OSS_DIR)/kernel/framework/include $(OSS_DIR)/include \
|
||||
$(PRG_DIR)/include $(PRG_DIR)
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user