/ src / hal / components / Submakefile
Submakefile
  1  ifneq ($(KERNELRELEASE),)
  2  COMPS := $(patsubst $(BASEPWD)/%,%,$(wildcard $(BASEPWD)/hal/components/*.comp $(BASEPWD)/hal/drivers/*.comp))
  3  include $(patsubst %.comp, $(BASEPWD)/objects/%.mak, $(COMPS))
  4  else
  5  CONVERTERS :=  \
  6      conv_float_s32.comp conv_float_u32.comp \
  7      conv_bit_s32.comp conv_bit_u32.comp conv_bit_float.comp \
  8      conv_s32_float.comp conv_s32_bit.comp conv_s32_u32.comp \
  9      conv_u32_float.comp conv_u32_bit.comp conv_u32_s32.comp
 10  COMPS := $(sort $(wildcard hal/components/*.comp) $(addprefix hal/components/, $(CONVERTERS)))
 11  COMP_MANPAGES := $(patsubst hal/components/%.comp, ../docs/man/man9/%.9, $(COMPS))
 12  ifeq ($(BUILD_SYS),uspace)
 13  COMP_DRIVERS += hal/drivers/serport.comp
 14  COMP_DRIVERS += hal/drivers/mesa_7i65.comp
 15  else
 16  COMP_DRIVERS := $(wildcard hal/drivers/*.comp)
 17  endif
 18  COMP_DRIVER_MANPAGES := $(patsubst hal/drivers/%.comp, ../docs/man/man9/%.9, $(COMP_DRIVERS))
 19  TARGETS += manpages
 20  GENERATED_MANPAGES += $(COMP_MANPAGES)
 21  GENERATED_MANPAGES += $(COMP_DRIVER_MANPAGES)
 22  .PHONY: manpages
 23  ifeq ($(TRIVIAL_BUILD),no)
 24  -include $(patsubst %.comp, objects/%.mak, $(COMPS) $(COMP_DRIVERS))
 25  Makefile: $(patsubst %.comp, objects/%.mak, $(COMPS) $(COMP_DRIVERS))
 26  endif
 27  endif
 28  
 29  obj-m += $(patsubst hal/drivers/%.comp, %.o, $(patsubst hal/components/%.comp, %.o, $(COMPS) $(COMP_DRIVERS)))
 30  
 31  $(COMP_MANPAGES): ../docs/man/man9/%.9: hal/components/%.comp ../bin/halcompile
 32  	$(ECHO) Making halcompile manpage $(notdir $@)
 33  	@mkdir -p $(dir $@)
 34  	$(Q)../bin/halcompile -U --document -o $@ $<
 35  
 36  $(COMP_DRIVER_MANPAGES): ../docs/man/man9/%.9: hal/drivers/%.comp ../bin/halcompile
 37  	$(ECHO) Making halcompile manpage $(notdir $@)
 38  	@mkdir -p $(dir $@)
 39  	$(Q)../bin/halcompile -U --document -o $@ $<
 40  
 41  objects/%.mak: %.comp hal/components/Submakefile
 42  	$(ECHO) "Creating $(notdir $@)"
 43  	@mkdir -p $(dir $@)
 44  	$(Q)echo $(notdir $*)-objs := objects/$*.o > $@.tmp
 45  	$(Q)echo ../rtlib/$(notdir $*)$(MODULE_EXT): objects/rtobjects/$*.o >> $@.tmp
 46  	$(Q)mv -f $@.tmp $@
 47  
 48  objects/%.c: %.comp ../bin/halcompile
 49  	$(ECHO) "Preprocessing $(notdir $<)"
 50  	@mkdir -p $(dir $@)
 51  	$(Q)../bin/halcompile -U -o $@ $<
 52  
 53  modules: $(patsubst %.comp, objects/%.c, $(COMPS) $(COMP_DRIVERS))
 54  
 55  # keep this make target in 2.6, remove in 2.7 (just use 'clean-manpages' in 2.7+)
 56  clean-comp-manpages: clean-manpages
 57  
 58  HALSTREAMERSRCS := hal/components/streamer_usr.c
 59  USERSRCS += $(HALSTREAMERSRCS)
 60  
 61  ../bin/halstreamer: $(call TOOBJS, $(HALSTREAMERSRCS)) ../lib/liblinuxcnchal.so.0
 62  	$(ECHO) Linking $(notdir $@)
 63  	$(Q)$(CC) $(LDFLAGS) -o $@ $^
 64  TARGETS += ../bin/halstreamer
 65  
 66  HALSAMPLERSRCS := hal/components/sampler_usr.c
 67  USERSRCS += $(HALSAMPLERSRCS)
 68  
 69  ../bin/halsampler: $(call TOOBJS, $(HALSAMPLERSRCS)) ../lib/liblinuxcnchal.so.0
 70  	$(ECHO) Linking $(notdir $@)
 71  	$(Q)$(CC) $(LDFLAGS) -o $@ $^
 72  TARGETS += ../bin/halsampler
 73  
 74  PYSAMPLERSRCS := hal/components/panelui.c
 75  USERSRCS += $(PYSAMPLERSRCS)
 76  PYFLAGS := -L$(SITEPY) -lpthread $(LIBDL) -lutil -lm -l$(LIBPYTHON) -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -lrt
 77  
 78  ../bin/panelui: $(call TOOBJS, $(PYSAMPLERSRCS)) ../lib/liblinuxcnchal.so.0
 79  	$(ECHO) Linking $(notdir $@)
 80  	$(Q)$(CC) -o $@ $^ $(PYFLAGS)
 81  TARGETS += ../bin/panelui
 82  
 83  hal/components/conv_float_s32.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
 84  	$(ECHO) converting conv for $(notdir $@)
 85  	$(Q)sh hal/components/mkconv.sh float s32 "" -2147483647-1 2147483647 < $< > $@
 86  
 87  hal/components/conv_float_u32.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
 88  	$(ECHO) converting conv for $(notdir $@)
 89  	$(Q)sh hal/components/mkconv.sh float u32 "" 0 2147483647 < $< > $@
 90  
 91  hal/components/conv_bit_s32.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
 92  	$(ECHO) converting conv for $(notdir $@)
 93  	$(Q)sh hal/components/mkconv.sh bit s32 // < $< > $@
 94  
 95  hal/components/conv_bit_u32.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
 96  	$(ECHO) converting conv for $(notdir $@)
 97  	$(Q)sh hal/components/mkconv.sh bit u32 // < $< > $@
 98  
 99  hal/components/conv_bit_float.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
100  	$(ECHO) converting conv for $(notdir $@)
101  	$(Q)sh hal/components/mkconv.sh bit float // < $< > $@
102  
103  hal/components/conv_s32_float.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
104  	$(ECHO) converting conv for $(notdir $@)
105  	$(Q)sh hal/components/mkconv.sh s32 float // < $< > $@
106  
107  hal/components/conv_s32_bit.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
108  	$(ECHO) converting conv for $(notdir $@)
109  	$(Q)sh hal/components/mkconv.sh s32 bit "" 0 1 < $< > $@
110  
111  hal/components/conv_s32_u32.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
112  	$(ECHO) converting conv for $(notdir $@)
113  	$(Q)sh hal/components/mkconv.sh s32 u32 "" 0 0 < $< > $@
114  
115  hal/components/conv_u32_float.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
116  	$(ECHO) converting conv for $(notdir $@)
117  	$(Q)sh hal/components/mkconv.sh u32 float // < $< > $@
118  
119  hal/components/conv_u32_bit.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
120  	$(ECHO) converting conv for $(notdir $@)
121  	$(Q)sh hal/components/mkconv.sh u32 bit "" -1 1 < $< > $@
122  
123  hal/components/conv_u32_s32.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
124  	$(ECHO) converting conv for $(notdir $@)
125  	$(Q)sh hal/components/mkconv.sh u32 s32 "" -1 2147483647 < $< > $@