include defs.mak
all:
progs:pcm_progs mix_progs spk_progs
fakemix:flnxmix
	$(q)cp $< $@
$(std_c):%:%.c std_c_frig-elf32.o
	$(q)gcc-ulnx $(dbgflags) -D_d_std_c $($*_cc) $(filter-out std_c_frig-elf32.o,$^) std_c_frig-elf32.o \
$($*_cc) \
-I $(prod_incdir)  \
$(xtra) $(dir_var) \
-I $(call lindir,6.9)/include \
-L $(prod_libdir) -L /usr/lib \
'-Wl,-Map,$*.map' \
$(shell parseobjs \
$(dir_ld) \
$($*_ld)  \
lib/liblib.a  \
-lstd-elf32 -lasm32 \
) \
$(libc) \
-lx_c-elf32 \
-o $@ 
	$(q)$(if $(dbgflags),,strip $@)
%:%-elf32.o crt1-elf32.o
	$(q)rm -fr /tmp/tmp $@
	$(q)$(elf32ld_cmd) $(dbgflags) \
-L $(HOMEDRV)/lib/gcc-lnx \
--start-group lib/liblib.a -lstd-elf32 lib/libc-mini.a -lx_c-elf32 -lasm32 -ldt32 -lgcc --end-group \
$($*_ld) $(linkmap_cmd) \
-o /tmp/tmp
	$(q)$(if $(dbgflags),,strip /tmp/tmp)
	$(q)mv /tmp/tmp $@
%.so:%-elf32so.o crt1-elf32.o
	$(q)rm -fr /tmp/tmp $@
	$(q)$(elf32ld_cmd) \
--start-group -lstd-elf32 lib/liblib.so -lx_c-elf32 -lasm32 -ldt32 -lgcc --end-group \
$(ld_$*) \
-o /tmp/tmp
	$(q)strip /tmp/tmp
	$(q)mv /tmp/tmp $@
clean:
	$(q)cleanx
	$(q)rm -f $(as_is_progs)
	$(q)cleansrc
linux-syscalls.h:%.h:%.in
	$(q)genlnxsc $< -o$@
%.c:%.x
	$(q)precpp $<
$(as_is_progs):%:../%
	$(q)cp $< $@
xtract nflite:%:%-elf32.o
	$(q)gcc-ulnx $^ -o $@ \
-L $(prod_libdir) \
-lstd-elf32 \
-L $(HOMEDRV)/lib/gcc-lnx \
-lflite_cmu_us_kal16 -lflite_cmulex -lflite \
-lc lib/libc-mini.a lib/liblib.a -lx_c-elf32 -lasm32
true false:%:%-elf32.o
	$(q)ld $^ -o $@ \
-L $(HOME)/lib -L lib \
-lstd-elf32 -lx_c-elf32 -llib lib/libc-mini.a
lnxnob:%:%-elf32.o
	$(q)ld -T $*.ld $< -L $(prod_libdir) -lasm32 -o $@
	$(q)strip $@
fesdmix falsmix flnxmix:fakemix-elf32.o
$(spk_progs):spk-main-elf32.o
$(pcm_progs):pcm-play-elf32.o
crt1-elf32.o:%-elf32.o:%.s
	$(q)as -I $(prod_incdir) --defsym _d_old_asm=1 $< -o $@
mix_progs:fakemix falsmix fesdmix
spk_progs:$(spk_progs)
pcm_progs:$(pcm_progs)
$(foreach i,$(pcm_progs),$(i).c):%play.c:%spk.c
	$(q)cp $< $@
cdctl cdplay:cdlib-elf32.o
f%mix.c:%spk.c
	$(q)cp $< $@
dblspk:alrspk
	$(q)cp $< $@

%.x:$(HOME)/info/mutt/%.x
	$(q)cp $< $@

mkacc.x:passwdhdr.h
passwdhdr.h:passwdhdr
	$(q)passwdhdr

speech_stuff:mix_progs spk_progs jawscsr
include implicit_rules.mak
