v1.9 win32 binaries don't run on some windows
v1.9 win32 binaries don't run on some windows
Same problem than i discovered on v1.7
http://www.z88dk.org/forum/viewtopic.php?id=10
So, maibe some people may have problems with v1.9 sourceforge binaries.
http://www.z88dk.org/forum/viewtopic.php?id=10
So, maibe some people may have problems with v1.9 sourceforge binaries.
Now it works on any machine
It's not problem with Release or Debug, you must change in project settings->General->Use of MFC From "Use Standard Windows Libraries" to "Use MFC in a Static Library" in both realease and debug settings in project, they are independent and you must chage it manually in both.
You can check the dependencies with Dependency Walker, v1.9 exe's have dependecies with MSVCR80.dll (the VSC++ runtime), now de 1.9a doesn't have this dependency.
cheers.
It's not problem with Release or Debug, you must change in project settings->General->Use of MFC From "Use Standard Windows Libraries" to "Use MFC in a Static Library" in both realease and debug settings in project, they are independent and you must chage it manually in both.
You can check the dependencies with Dependency Walker, v1.9 exe's have dependecies with MSVCR80.dll (the VSC++ runtime), now de 1.9a doesn't have this dependency.
cheers.
Hi,
I installed v1.9a for windows too just recently.
I added the extra paths for this.
C:\z88dk\bin
C:\z88dk\lib
C:\z88dk\lib\config
my temp dir is this
C:\z88dk\build
when I compile the example program Hello.c
I get 2 kinds of errors--[see output below]
"Unrecognised argument: \\"
" File open/read error"
I'm not sure what is causing this.
------------------------------------------------------------------------------------------------------
C:\z88dk\examples\embedded>zcc hello.c
copy c:\z88dk\lib\z88_crt0.opt C:\z88dk\build\s3o0_1.opt
1 file(s) copied.
copy C:\z88dk\build\s3o0_1.opt C:\z88dk\build\s3o0_1.asm
1 file(s) copied.
zcpp -I. -DZ80 -DSMALL_C -DZ88 -D__Z88__ -DSCCZ80 -Ic:\z88dk\include hello.c C:\z88dk\build\s3o0_.i
sccz80 -\\ C:\z88dk\build\s3o0_.i
Unrecognised argument: \\
copt c:\z88dk\lib\z80rules.2 < C:\z88dk\build\s3o0_.asm > C:\z88dk\build\s3o0_.op1
copt c:\z88dk\lib\z80rules.1 < C:\z88dk\build\s3o0_.op1 > C:\z88dk\build\s3o0_.opt
z80asm -eopt -ns -Mo -Ic:\z88dk\lib C:\z88dk\build\s3o0_.opt
z80asm -a -m -Mo -Lc:\z88dk\lib\clibs -oa.bas -iz88_clib -iz80_crt0 C:\z88dk\build\s3o0_1.opt C:\z88dk\build\s3o0_.o
1 errors occurred during assembly
Key to filenames:
C:\z88dk\build\s3o0_.o = hello.c
File 'C:\z88dk\build\s3o0_1.asm', at line 2, File open/read error
------------------------------------------------------------------------------------------------------
thanks,
=Dan
I installed v1.9a for windows too just recently.
I added the extra paths for this.
C:\z88dk\bin
C:\z88dk\lib
C:\z88dk\lib\config
my temp dir is this
C:\z88dk\build
when I compile the example program Hello.c
I get 2 kinds of errors--[see output below]
"Unrecognised argument: \\"
" File open/read error"
I'm not sure what is causing this.
------------------------------------------------------------------------------------------------------
C:\z88dk\examples\embedded>zcc hello.c
copy c:\z88dk\lib\z88_crt0.opt C:\z88dk\build\s3o0_1.opt
1 file(s) copied.
copy C:\z88dk\build\s3o0_1.opt C:\z88dk\build\s3o0_1.asm
1 file(s) copied.
zcpp -I. -DZ80 -DSMALL_C -DZ88 -D__Z88__ -DSCCZ80 -Ic:\z88dk\include hello.c C:\z88dk\build\s3o0_.i
sccz80 -\\ C:\z88dk\build\s3o0_.i
Unrecognised argument: \\
copt c:\z88dk\lib\z80rules.2 < C:\z88dk\build\s3o0_.asm > C:\z88dk\build\s3o0_.op1
copt c:\z88dk\lib\z80rules.1 < C:\z88dk\build\s3o0_.op1 > C:\z88dk\build\s3o0_.opt
z80asm -eopt -ns -Mo -Ic:\z88dk\lib C:\z88dk\build\s3o0_.opt
z80asm -a -m -Mo -Lc:\z88dk\lib\clibs -oa.bas -iz88_clib -iz80_crt0 C:\z88dk\build\s3o0_1.opt C:\z88dk\build\s3o0_.o
1 errors occurred during assembly
Key to filenames:
C:\z88dk\build\s3o0_.o = hello.c
File 'C:\z88dk\build\s3o0_1.asm', at line 2, File open/read error
------------------------------------------------------------------------------------------------------
thanks,
=Dan
What about the error messages in my previous post ?
This all happens when trying to compile the test program from the install files, Hello.c
I'm not having any luck here.
One error during this compilation is about the assembly having 1 error
z80asm -eopt -ns -Mo -Ic:\z88dk\lib C:\z88dk\build\s3o0_.opt
z80asm -a -m -Mo -Lc:\z88dk\lib\clibs -oa.bas -iz88_clib -iz80_crt0 C:\z88dk\build\s3o0_1.opt C:\z88dk\build\s3o0_.o
1 errors occurred during assembly
Another error during this compilation is about the flags not be recognized
sccz80 -\\ C:\z88dk\build\s3o0_.i
Unrecognised argument: \\
The last error during this compilation is about a file access
Key to filenames:
C:\z88dk\build\s3o0_.o = hello.c
File 'C:\z88dk\build\s3o0_1.asm', at line 2, File open/read error
What is also weird is that I do not see any of these files in my temp dir, C:\z88dk\build\
s3o0_.opt
s3o0_.i
s3o0_.o
s3o0_1.asm
Are there any other paths that I have to setup ?
thanks,
=Dan
This all happens when trying to compile the test program from the install files, Hello.c
I'm not having any luck here.
One error during this compilation is about the assembly having 1 error
z80asm -eopt -ns -Mo -Ic:\z88dk\lib C:\z88dk\build\s3o0_.opt
z80asm -a -m -Mo -Lc:\z88dk\lib\clibs -oa.bas -iz88_clib -iz80_crt0 C:\z88dk\build\s3o0_1.opt C:\z88dk\build\s3o0_.o
1 errors occurred during assembly
Another error during this compilation is about the flags not be recognized
sccz80 -\\ C:\z88dk\build\s3o0_.i
Unrecognised argument: \\
The last error during this compilation is about a file access
Key to filenames:
C:\z88dk\build\s3o0_.o = hello.c
File 'C:\z88dk\build\s3o0_1.asm', at line 2, File open/read error
What is also weird is that I do not see any of these files in my temp dir, C:\z88dk\build\
s3o0_.opt
s3o0_.i
s3o0_.o
s3o0_1.asm
Are there any other paths that I have to setup ?
thanks,
=Dan
Well, I decided to manually compile the Hello world test program provided to see what happens
BTW, the flags that were used in the zcc "script" were incorrect.
I only suspected that the "-\\" had to be removed from the command line.
I couldn't find any docs on the proper flags for 'sccz80' - if someone could point out to this to me.
the command line; sccz80 -\\ C:\z88dk\build\s3o0_.i
should have been; sccz80 C:\z88dk\build\s3o0_.i
This is what I did
--------------------------------------------------------------------------------------------------------------------------------------------------
C:\z88dk\examples\embedded>copy c:\z88dk\lib\z88_crt0.opt C:\z88dk\build\s3o0_1.opt
1 file(s) copied.
C:\z88dk\examples\embedded>copy C:\z88dk\build\s3o0_1.opt C:\z88dk\build\s3o0_1.asm
1 file(s) copied.
C:\z88dk\examples\embedded>zcpp -I. -DZ80 -DSMALL_C -DZ88 -D__Z88__ -DSCCZ80 -Ic:\z88dk\include hello.c C:\z88dk\build\s3o0_.i
C:\z88dk\examples\embedded>sccz80 C:\z88dk\build\s3o0_.i
C:\z88dk\examples\embedded>copt c:\z88dk\lib\z80rules.2 < C:\z88dk\build\s3o0_.asm > C:\z88dk\build\s3o0_.op1
C:\z88dk\examples\embedded>copt c:\z88dk\lib\z80rules.1 < C:\z88dk\build\s3o0_.op1 > C:\z88dk\build\s3o0_.opt
C:\z88dk\examples\embedded>z80asm -eopt -ns -Mo -Ic:\z88dk\lib C:\z88dk\build\s3o0_.opt
C:\z88dk\examples\embedded>z80asm -a -m -Mo -Lc:\z88dk\lib\clibs -oa.bas -iz88_clib -iz80_crt0 C:\z88dk\build\s3o0_1.opt C:\z88dk\build\s3o0_.o
1 errors occurred during assembly
--------------------------------------------------------------------------------------------------------------------------------------------------
I can see the copied files:
s3o0_1.opt
s3o0_1.asm
I can see the various file that are generated during compilation:
s3o0_.opt
s3o0_.asm
s3o0_.op1
s3o0_.opt
s3o0_.o
s3o0_.err
In the *.err file I have the following message
File 'C:\z88dk\build\s3o0_1.asm', at line 2, File open/read error
However, in this file 's3o0_1.asm" I have this when I look with my editor
INCLUDE "z88_crt0.asm"
The file "z88_crt0.asm" happens to be in the correct dir , as I understand, C:\z88dk\lib
and I can open the file in my editor without any problem.
Does this provide some clue to this problem ?
thanks
=Dan
BTW, the flags that were used in the zcc "script" were incorrect.
I only suspected that the "-\\" had to be removed from the command line.
I couldn't find any docs on the proper flags for 'sccz80' - if someone could point out to this to me.
the command line; sccz80 -\\ C:\z88dk\build\s3o0_.i
should have been; sccz80 C:\z88dk\build\s3o0_.i
This is what I did
--------------------------------------------------------------------------------------------------------------------------------------------------
C:\z88dk\examples\embedded>copy c:\z88dk\lib\z88_crt0.opt C:\z88dk\build\s3o0_1.opt
1 file(s) copied.
C:\z88dk\examples\embedded>copy C:\z88dk\build\s3o0_1.opt C:\z88dk\build\s3o0_1.asm
1 file(s) copied.
C:\z88dk\examples\embedded>zcpp -I. -DZ80 -DSMALL_C -DZ88 -D__Z88__ -DSCCZ80 -Ic:\z88dk\include hello.c C:\z88dk\build\s3o0_.i
C:\z88dk\examples\embedded>sccz80 C:\z88dk\build\s3o0_.i
C:\z88dk\examples\embedded>copt c:\z88dk\lib\z80rules.2 < C:\z88dk\build\s3o0_.asm > C:\z88dk\build\s3o0_.op1
C:\z88dk\examples\embedded>copt c:\z88dk\lib\z80rules.1 < C:\z88dk\build\s3o0_.op1 > C:\z88dk\build\s3o0_.opt
C:\z88dk\examples\embedded>z80asm -eopt -ns -Mo -Ic:\z88dk\lib C:\z88dk\build\s3o0_.opt
C:\z88dk\examples\embedded>z80asm -a -m -Mo -Lc:\z88dk\lib\clibs -oa.bas -iz88_clib -iz80_crt0 C:\z88dk\build\s3o0_1.opt C:\z88dk\build\s3o0_.o
1 errors occurred during assembly
--------------------------------------------------------------------------------------------------------------------------------------------------
I can see the copied files:
s3o0_1.opt
s3o0_1.asm
I can see the various file that are generated during compilation:
s3o0_.opt
s3o0_.asm
s3o0_.op1
s3o0_.opt
s3o0_.o
s3o0_.err
In the *.err file I have the following message
File 'C:\z88dk\build\s3o0_1.asm', at line 2, File open/read error
However, in this file 's3o0_1.asm" I have this when I look with my editor
INCLUDE "z88_crt0.asm"
The file "z88_crt0.asm" happens to be in the correct dir , as I understand, C:\z88dk\lib
and I can open the file in my editor without any problem.
Does this provide some clue to this problem ?
thanks
=Dan
sorry about that I didn't see your post at 17:49:50
I went ahead and edited the zcc.cfg file like you said.
That error with the flags is gone now.
But I still have the other 2 errors from before
-----------------------------------------------------------------------------------------------------------------------------------
C:\z88dk\examples\embedded>zcc hello.c
copy c:\z88dk\lib\z88_crt0.opt C:\z88dk\build\s3vg_1.opt
1 file(s) copied.
copy C:\z88dk\build\s3vg_1.opt C:\z88dk\build\s3vg_1.asm
1 file(s) copied.
zcpp -I. -DZ80 -DSMALL_C -DZ88 -D__Z88__ -DSCCZ80 -Ic:\z88dk\include hello.c C:\z88dk\build\s3vg_.i
sccz80 -// C:\z88dk\build\s3vg_.i
copt c:\z88dk\lib\z80rules.2 < C:\z88dk\build\s3vg_.asm > C:\z88dk\build\s3vg_.op1
copt c:\z88dk\lib\z80rules.1 < C:\z88dk\build\s3vg_.op1 > C:\z88dk\build\s3vg_.opt
z80asm -eopt -ns -Mo -Ic:\z88dk\lib C:\z88dk\build\s3vg_.opt
z80asm -a -m -Mo -Lc:\z88dk\lib\clibs -oa.bas -iz88_clib -iz80_crt0 C:\z88dk\build\s3vg_1.opt C:\z88dk\build\s3vg_.o
1 errors occurred during assembly
Key to filenames:
C:\z88dk\build\s3vg_.o = hello.c
File 'C:\z88dk\build\s3vg_1.asm', at line 2, File open/read error
-----------------------------------------------------------------------------------------------------------------------------------
thanks,
=Dan
I went ahead and edited the zcc.cfg file like you said.
That error with the flags is gone now.
But I still have the other 2 errors from before
-----------------------------------------------------------------------------------------------------------------------------------
C:\z88dk\examples\embedded>zcc hello.c
copy c:\z88dk\lib\z88_crt0.opt C:\z88dk\build\s3vg_1.opt
1 file(s) copied.
copy C:\z88dk\build\s3vg_1.opt C:\z88dk\build\s3vg_1.asm
1 file(s) copied.
zcpp -I. -DZ80 -DSMALL_C -DZ88 -D__Z88__ -DSCCZ80 -Ic:\z88dk\include hello.c C:\z88dk\build\s3vg_.i
sccz80 -// C:\z88dk\build\s3vg_.i
copt c:\z88dk\lib\z80rules.2 < C:\z88dk\build\s3vg_.asm > C:\z88dk\build\s3vg_.op1
copt c:\z88dk\lib\z80rules.1 < C:\z88dk\build\s3vg_.op1 > C:\z88dk\build\s3vg_.opt
z80asm -eopt -ns -Mo -Ic:\z88dk\lib C:\z88dk\build\s3vg_.opt
z80asm -a -m -Mo -Lc:\z88dk\lib\clibs -oa.bas -iz88_clib -iz80_crt0 C:\z88dk\build\s3vg_1.opt C:\z88dk\build\s3vg_.o
1 errors occurred during assembly
Key to filenames:
C:\z88dk\build\s3vg_.o = hello.c
File 'C:\z88dk\build\s3vg_1.asm', at line 2, File open/read error
-----------------------------------------------------------------------------------------------------------------------------------
thanks,
=Dan
You need to specify a target platform for the compile. I'm not sure if that will solve this specific problem but it would certainly solve others that would crop up later :-)Ragooman wrote:-----------------------------------------------------------------------------------------------------------------------------------
C:\z88dk\examples\embedded>zcc hello.c
Seeing as you're in the embedded directory:
zcc +embedded hello.c
The makefile in that dir is meant for the embedded target which uses the ns16450 UART for stdio output. The compile for hello.c shows that the code related to the ns16450 also needs to be linked in:
zcc +embedded hello.c ns16450.o
If you're making for another target let us know what it is!
Ok, I see that info about the zcc flags, I read that but overlooked it when I tried to compile.
I first tried this command line:
C:\z88dk\examples\embedded>zcc +embedded hello.c
However, now I get a different error plus the same 'File open/read error':
I did a dir search and there is no "embedded_clib2.lib" anywhere in the z88dk dir tree
However, there is a "embedded_clib.lib" file in C:\z88dk\lib\clibs
Is this the file that the compiler supposed to retrieve instead ?
then when I try the command line:
zcc +embedded hello.c ns16450.o
I get the following error:
There's no "ns16450.o" file anywhere in the z88dk dir tree
Did you mean to use the "ns16450.c" file in the embedded dir instead ?
When I tried that
zcc +embedded hello.c ns16450.c
it appears to compile correctly until near the end when I get the same 2 errors that I mentioned above.
I hope this provides some more clues.
thanks
=Dan
I first tried this command line:
C:\z88dk\examples\embedded>zcc +embedded hello.c
However, now I get a different error plus the same 'File open/read error':
Code: Select all
z80asm -a -m -Mo -iembedded_clib2 -Lc:\z88dk\lib\clibs -oa.bin -indos -iembedded_clib -iz80_crt0 C:\z88dk\build\s3do_1.opt C:\z88dk\build\s3do_.o
[b]File 'embedded_clib2.lib', Couldn't open library file[/b]
2 errors occurred during assembly
Key to filenames:
C:\z88dk\build\s3do_.o = hello.c
File 'C:\z88dk\build\s3do_1.asm', at line 2,[b] File open/read error[/b]
However, there is a "embedded_clib.lib" file in C:\z88dk\lib\clibs
Is this the file that the compiler supposed to retrieve instead ?
then when I try the command line:
zcc +embedded hello.c ns16450.o
I get the following error:
Code: Select all
C:\z88dk\examples\embedded>zcc +embedded hello.c ns16450.o
copy ns16450.o C:\z88dk\build\s35o_1.o
The system cannot find the file specified.
Cannot copy input file
Did you mean to use the "ns16450.c" file in the embedded dir instead ?
When I tried that
zcc +embedded hello.c ns16450.c
it appears to compile correctly until near the end when I get the same 2 errors that I mentioned above.
I hope this provides some more clues.
thanks
=Dan
I'm just about to head out for the evening so I'm just going to fire this post off so as not to leave you hanging. Both dom and stef are in a time zone where it's the middle of the night so it's unlikely they'll be on again tonight :-))
The lib linking error is the same as above and the same solution should apply! Hopefully this will solve the problems.
I don't have the time at the moment to check into exactly what has gone wrong with the embedded target but I'm guessing yes that is what it should have retrieved. Trying making a copy of embedded_clib.lib to embedded_clib2.lib. The big Makefile in z88dk/libsrc makes all the target libraries. The next place I will look is into this Makefile to find out what is going on in the build for the embedded lib.Ragooman wrote:I did a dir search and there is no "embedded_clib2.lib" anywhere in the z88dk dir tree
However, there is a "embedded_clib.lib" file in C:\z88dk\lib\clibs
Is this the file that the compiler supposed to retrieve instead ?
Yeah ns16450.o comes from ns16450.c in that example dir. The ns16450.c code is not integrated into z88dk proper and was written by the person who generated that particular target for his particular hw setup. You can do as you did (add the ns16450.c to the compile) or generate ns16450.o as the makefile does so that it is available in that dir.then when I try the command line:
zcc +embedded hello.c ns16450.o
I get the following error:There's no "ns16450.o" file anywhere in the z88dk dir treeCode: Select all
C:\z88dk\examples\embedded>zcc +embedded hello.c ns16450.o copy ns16450.o C:\z88dk\build\s35o_1.o The system cannot find the file specified. Cannot copy input file
Did you mean to use the "ns16450.c" file in the embedded dir instead ?
When I tried that
zcc +embedded hello.c ns16450.c
it appears to compile correctly until near the end when I get the same 2 errors that I mentioned above.
The lib linking error is the same as above and the same solution should apply! Hopefully this will solve the problems.
Ok, no problem about the time zone support issue - I'm in EST-5 myself(Pittsburgh)
Any help is much obliged -- this work is actually for another vintage computer, IMSAI 8080 -- with a Z80 cpu card.
BTW, I think I neglected to mentioned that I'm using WinXP home edition sp3 for this development work.
No matter what I did to copy the embedded_clib.lib file into embedded_clib2.lib, it wouldn't like it and complained still that the file was not found.
What I did this time was run the makefile to let it create the embedded_clib2.lib instead.
I did this by copying the makefile into a *.bat file.
This properly created the embedded_clib2.lib in the embedded dir and now that error message is *gone*
This also took care of the ns16450.c and created all the proper *.0 files.
BUT, I'm down to the last problem I think.
As for the File Open/read error, that problem is still here.
I currently don't have a clue as to why it cannot find this file directed by the include statement:
The *.err file has this message
File 'C:\z88dk\build\s2ic_2.asm', at line 2, File open/read error
The 's2ic_2.asm' file is copied from c:\z88dk\lib\embedded_crt0.opt during compilation:
copy c:\z88dk\lib\embedded_crt0.opt C:\z88dk\build\s2ic_2.opt
1 file(s) copied.
copy C:\z88dk\build\s2ic_2.opt C:\z88dk\build\s2ic_2.asm
1 file(s) copied.
This is found in the file, with line 2 in question:
[1]
[2] INCLUDE "embedded_crt0.asm"
[3]
Now, this file is located in the C:\z88dk\lib
My environment settings already has this path - I doublechecked this.
C:\z88dk\examples\embedded>path
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\z88dk\bin;C:\z88dk\lib;C:\z88dk\lib\config;C:\z88dk\lib\clibs
However, it still fails to locate this file -- should this be found in a different dir instead ?
thanks
=Dan
Any help is much obliged -- this work is actually for another vintage computer, IMSAI 8080 -- with a Z80 cpu card.
BTW, I think I neglected to mentioned that I'm using WinXP home edition sp3 for this development work.
No matter what I did to copy the embedded_clib.lib file into embedded_clib2.lib, it wouldn't like it and complained still that the file was not found.
What I did this time was run the makefile to let it create the embedded_clib2.lib instead.
I did this by copying the makefile into a *.bat file.
This properly created the embedded_clib2.lib in the embedded dir and now that error message is *gone*
This also took care of the ns16450.c and created all the proper *.0 files.
BUT, I'm down to the last problem I think.
As for the File Open/read error, that problem is still here.
I currently don't have a clue as to why it cannot find this file directed by the include statement:
The *.err file has this message
File 'C:\z88dk\build\s2ic_2.asm', at line 2, File open/read error
The 's2ic_2.asm' file is copied from c:\z88dk\lib\embedded_crt0.opt during compilation:
copy c:\z88dk\lib\embedded_crt0.opt C:\z88dk\build\s2ic_2.opt
1 file(s) copied.
copy C:\z88dk\build\s2ic_2.opt C:\z88dk\build\s2ic_2.asm
1 file(s) copied.
This is found in the file, with line 2 in question:
[1]
[2] INCLUDE "embedded_crt0.asm"
[3]
Now, this file is located in the C:\z88dk\lib
My environment settings already has this path - I doublechecked this.
C:\z88dk\examples\embedded>path
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\z88dk\bin;C:\z88dk\lib;C:\z88dk\lib\config;C:\z88dk\lib\clibs
However, it still fails to locate this file -- should this be found in a different dir instead ?
thanks
=Dan
Just to wrap this one up :- after taking a moment to look at the embedded target all is well.
An embedded target can mean just about anything so what Daniel's done makes a lot of sense. The z80 lib for embedded has been made containing everything except the two subroutines fputc_cons and fgetc_cons which are the character in/out functions used by stdio. This lib is located in the correct place z88dk/lib/clibs where the compiler expects to find it and is named embedded_clib.lib.
The last two functions required by stdio must be customized for the embedded hw. In z88dk/embedded/example directory, Daniel does this as, well, an example for an embedded system using an ns16450 connected to stdio. The two missing stdio elements fputc_cons and fgetc_cons are supplied there which contain code to communicate stdio data to an ns16450. The Makefile in that dir generates a second library embedded_clib2.lib containing the remaining elements missing from embedded_clib.lib.
Compiling for this target requires selection of the embedded target "zcc +embedded", which causes the compiler to automatically link against embedded_clib.lib, and manually linking against embedded_clib2.lib to get at the missing stdio primitives. The embedded target's config file z88dk/lib/config/embedded.lnx (or .cfg), which is read by the compiler to set up the emvironment for embedded target compiles, contains link option "LINKOPTS -a -m -Mo -iembedded_clib2 -LDESTDIR/lib/clibs" which automatically links against the additional embedded_clib2 library if it appears in the library search path.
An embedded target can mean just about anything so what Daniel's done makes a lot of sense. The z80 lib for embedded has been made containing everything except the two subroutines fputc_cons and fgetc_cons which are the character in/out functions used by stdio. This lib is located in the correct place z88dk/lib/clibs where the compiler expects to find it and is named embedded_clib.lib.
The last two functions required by stdio must be customized for the embedded hw. In z88dk/embedded/example directory, Daniel does this as, well, an example for an embedded system using an ns16450 connected to stdio. The two missing stdio elements fputc_cons and fgetc_cons are supplied there which contain code to communicate stdio data to an ns16450. The Makefile in that dir generates a second library embedded_clib2.lib containing the remaining elements missing from embedded_clib.lib.
Compiling for this target requires selection of the embedded target "zcc +embedded", which causes the compiler to automatically link against embedded_clib.lib, and manually linking against embedded_clib2.lib to get at the missing stdio primitives. The embedded target's config file z88dk/lib/config/embedded.lnx (or .cfg), which is read by the compiler to set up the emvironment for embedded target compiles, contains link option "LINKOPTS -a -m -Mo -iembedded_clib2 -LDESTDIR/lib/clibs" which automatically links against the additional embedded_clib2 library if it appears in the library search path.